Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Jazz Jackrabbit - OpenJazz source port on RetroPie/Raspbian



  • Jazz Jackrabbit - OpenJazz source port
    Jazz Jackrabbit can now be built and run on our Raspberry Pi with the source port called "OpenJazz". This port relies on SDL1.2 libs and is working in RetroPie, but it need some small adjustments.
    2019-01-21-135654_1280x720_scrot.png

    The game is fully playable in RetroPie and Desktop. It supports multiplayer.
    The script provides an automatic installation and uninstallation for compiling and building on Raspberry Pi and RetroPie.

    Raspberry Pi 4B and Raspbian Buster: The port has not been tested with the latest RPI 4 and Raspbian Buster release. It is only guaranteed to work on the latest official release of RetroPie as the one that can be found on the RetroPie download page. Therefore users who has this might not be able to install the port and play the game. Users may need to wait for official release and support for Raspberry Pi 4B and Buster.

    Download/Clone script made by me:
    Github repository
    RetroPie Scriptmodule:

    wget https://raw.githubusercontent.com/tpo1990/JazzJackrabbit-RPI/master/openjazz.sh -P $HOME/RetroPie-Setup/scriptmodules/ports/
    

    After downloading scriptmodule, go to the experimental section in RetroPie Setup to install.

    Install time: 5-10 minutes

    Build process
    1: Download and install necessary required libs for SDL and etc.
    2: Create folder openjazz or clone from github.
    3: Compile/install openjazz source port
    4: Download Jazz Jackrabbit Shareware and extract into root of openjazz folder.
    5: Create shortcut on Raspbian desktop or create JazzJackrabbit.sh file into Ports folder in RetroPie.

    Registered/Full version:
    Replace shareware files with registered/full version in the root of openjazz folder.

    Notes:
    This build can be played but for now it is to be considered as experimental since there are some small issues that need to be fixed. No sound in game and multiplayer has not been tested yet. It appears that the resolution and scale settings needs to be changed in-game to accommodate the screen settings of Raspberry Pi.

    Bugs:
    Sound does not work. Fixed
    Savestates does not work.
    Some small graphic issues.

    Disclaimer:
    This installation script is provided as is. Im not responsible for anything happening with your Raspberry Pi including corruption of SD card, Hardware damage. For support and help you can contact me here on RetroPie forums.

    Screenshots:
    2019-01-21-135737_1280x720_scrot.png
    2019-01-21-135740_1280x720_scrot.png
    2019-01-21-135747_1280x720_scrot.png
    2019-01-21-135752_1280x720_scrot.png



  • Manual Installation/Compilation in Raspbian desktop or by ssh connection:

    Install SDL 1.2 and Timidity dependencies

    sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-mixer1.2 libsdl-mixer1.2-dev libsdl-net1.2 libsdl-net1.2-dev.
    

    Create openjazz folder in RetroPie Ports and clone source files from git.

    cd ~
    cd /home/pi/RetroPie/roms/ports
    
    mkdir openjazz
    git clone https://github.com/AlisterT/openjazz.git
    

    Install OpenJazz from source.

    cd ~
    cd /home/pi/RetroPie/roms/ports/openjazz
    sudo make
    

    Download Jazz Jackrabbit shareware files and extract into openjazz folder.

    cd ~
    cd /home/pi/RetroPie/roms/ports/openjazz
    wget https://image.dosgamesarchive.com/games/jazz.zip
    unzip jazz.zip
    

    Clean up by removing shareware file in the openjazz folder.

    sudo rm -r /home/pi/RetroPie/roms/ports/openjazz/jazz.zip
    

    Create .sh file in RetroPie roms ports folder so that the port will be visible in Emulation Station.

    echo "#!/bin/bash
    
    cd /home/pi/RetroPie/roms/ports/openjazz
    
    ./OpenJazz" > /home/pi/RetroPie/roms/ports/JazzJackrabbit.sh
    

    Add Execute right to .sh file

    cd ~
    cd /home/pi/RetroPie/roms/ports/
    sudo chmod +xrw JazzJackrabbit.sh
    


  • Changelog:
    05-03-2020: Added Raspberry Pi 4B and Raspbian Buster section.
    27-05-2019: Changed path in wget command to variable: -P $HOME/RetroPie-Setup/scriptmodules/ports/
    25-03-2019: Created an OpenJazz branch and added openjazz.sh scriptmodule. Opened a pull request at the RetroPie git repo.
    19-03-2019: Created scriptmodule that installs through RetroPie-Setup from my separate Jazz Jackrabbit git repo.
    21-01-2019: Created Github repository and released Jazz Jackrabbit install script 1.0. Download link available.



  • Nice work. I'm a little curious though. I see many great ports for RetroPie. We got Jazz, Commander Keen, Rick Dangerous, Hexen etc. What's the advantage when using Ports over Dosbox?



  • @Brigane Thank you.

    It can be difficult to tell what the advantage can be instead of just using dosbox, but i think it can be that the source ports has some advantages over its dos counterparts as in being able to support higher screen resolution, multiplayer, additional maps, mods, better performance.

    Jazz Jackrabbit does not originally have multiplayer but thanks to OpenJazz source port it is now possible.

    I know for an instance that the old Doom runs better in source ports than in the good old dos version. ex. Zdoom source port.



  • @tpo1990 Great, thank you for clearing that up, also it's nice to see another contributing Dane at the forum ;)



  • @tpo1990 Upvote from me ;)
    You should try to include this as a scriptmodule. Then the script will be more flexible and makes use of runcommand. It is a better practise ;)

    This is a simple scriptmodule that shows you how to add a port call SUPERTUX
    This is a advanced one with own apt-call scripts OPENBOR

    Just explained

    function configure_supertux() {
        addPort "$md_id" "supertux" "SuperTux" "supertux2"
    }
    

    addPort means
    $md_id is install directory, it is setted up as rp_module_id="supertux"
    supertux is name of "emulator"
    SuperTux is name of bash script ... you will see a SuperTux.sh in PORTS section
    supertux2 is binary



  • @Brigane Your welcome. Yes always glad to help out. Let me know if you have some problems with getting the port to work. Feedback is always welcome. :-)



  • @cyperghost Thank you for the explanation and help. I will try to implement this into the script and test it. Once i have it working i will release an update to the install script. :-)

    This will help on improving the install script and integrate it more in RetroPie.



  • will this eventually become part of RetroPie package? (like some other ports)



  • @Spiky Yes it will. Thats my plan, to integrate Jazz Jackrabbit source port into a scriptmodule that makes it available as a package in RetroPie setup.

    Im already in the middle of experimenting with this, but with Hexen 2 which is my other project. Once i have gotten Hexen 2 to work as a part of RetroPie package i will do the same to Jazz Jackrabbit and other following source port that i can get working on RPI/RetroPie. :-)



  • @tpo1990 cool, thanks!



  • @Spiky Your welcome. Im nearly there with Hexen 2. It just need some small adjustments and then i will be working with getting Jazz Jackrabbit to work as a scriptmodule as well.



  • Good news. I have managed to create a working scriptmodule for Jazz Jackrabbit and created a pull request from my fork of the RetroPie project. Now the reviewing process can begin of the PR. :-)

    Edit: The pull request has to wait for now until merge of hexen2 scriptmodule is complete.

    You can get the OpenJazz - Jazz Jackrabbit scriptmodule by this command:

    wget https://raw.githubusercontent.com/tpo1990/JazzJackrabbit-RPI/master/openjazz.sh -P /home/pi/RetroPie-Setup/scriptmodules/ports/
    

    This will download the scriptmodule from my fork of RetroPie and place it into the /home/pi/RetroPie-Setup/scriptmodules/ports/
    Once downloaded, go into RetroPie-Setup as usual and into the Experimental section to find "openjazz" and then install.

    Once the game has been installed, it will have been installed with this file hierachy:

    • Game data location: /home/pi/RetroPie/roms/ports/jazz

    • Runcommand file: /home/pi/RetroPie/roms/ports/Jazz Jackrabbit.sh

    • Config location: /opt/retropie/configs/ports/openjazz

    • Port installation location: /opt/retropie/ports/openjazz

    For registered version, replace the shareware files in the Game data location: /home/pi/RetroPie/roms/ports/jazz



  • I have now created a pull request for OpenJazz/Jazz Jackrabbit for the RetroPie project. Now the review can begin :-)
    You can still get the same scriptmodule from my separate git repo for Jazz Jackrabbit.



  • @tpo1990
    i love Jazz jackrabbit,
    thanks!
    Works great !!! TX !



  • @shavecat Me too. If you want to use your controller/gamepad, then i suggest using xboxdrv and configure it for Jazz Jackrabbit.

    This will make it even better. ;-)



  • So it's complete? There's some graphic bugs. A line of some sort can be seen on the top of the screen when playing. The menu transitions and level select have missing animations. Maybe more stuff in-game but haven't tested it extensively. Maybe my altered compile settings have something to do with it. I'm using a pi3b+ with retropie 4.4.9.



  • @Darksavior The port has some issues that needs to be sorted out, but the game is fully playable.

    There are some small graphics issues. It might be caused by vsync or bpp settings. You could try changing the screen resolution in game to see if it fixes it. I have set mine to 320 x 240 to eliminate white bars and to fill out the screen in 4:3.

    Savestates does not appear to be working as far as my testing goes.

    When i first tested the source port, there was no sound/music in game. That has been fixed in the scriptmodule. As for now OpenJazz / Jazz Jackrabbit is considered experimental.



  • everything thing works great for me the sound/music and all.
    but u right
    Darksavior
    i do have
    "A line of some sort can be seen on the top of the screen when playing"



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.