Omnimaga

Calculator Community => Casio Calculators => Topic started by: ProgrammerNerd on December 16, 2013, 12:48:17 am

Title: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 16, 2013, 12:48:17 am
Edit I have released a new version that address some graphical issues on the HUD and fixes the fact that it is impossible to exit the game. The reason it is fixed is because instead of using a fixed Save/load vram address which may only be correct on a certian firmware version it instead searches for it.
I have ported open Jazz jackrabbit to the casio prizm. Here are the controls
Code: [Select]
keys[C_UP].key = KEY_PRGM_UP;
keys[C_DOWN].key = KEY_PRGM_DOWN;
keys[C_LEFT].key = KEY_PRGM_LEFT;
keys[C_RIGHT].key = KEY_PRGM_RIGHT;
keys[C_JUMP].key = KEY_PRGM_ALPHA;
keys[C_SWIM].key = keys[C_JUMP].key;
keys[C_FIRE].key = KEY_PRGM_SHIFT;
keys[C_CHANGE].key = KEY_PRGM_OPTN;//change weapon
keys[C_ENTER].key = KEY_PRGM_RETURN;
keys[C_ESCAPE].key = KEY_PRGM_EXIT;
keys[C_STATS].key = KEY_PRGM_F1;
keys[C_PAUSE].key = KEY_PRGM_F2;
keys[C_YES].key = KEY_PRGM_F3;
keys[C_NO].key = KEY_PRGM_F4;
Here is the source code https://github.com/ComputerNerd/Open-Jazz-Jackrabbit-Casio-Prizm-port
And here is the binary.
http://www.casiopeia.net/forum/downloads.php?view=detail&df_id=145
To use the program place openjazz.g3a in the root directory then create a folder called jazz place openjazz.000 in that folder then download one of the many versions of jazz jackrabbit and place the resource files in that folder. You do not need the sound files and you do not need the "extra" files for example the cd version includes a demo of another game you don't need that you also don't need the *.exe file also there are some unneeded cutscene files that take up lots of memory those are not needed when in doubt use grep on the source code to see if the file is needed.
Edit Screenshots:
(http://i.imgur.com/bjctl4A.png)
(https://i.imgur.com/f1kEpNm.png)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Keoni29 on December 16, 2013, 02:19:46 am
Would you mind to show some screenshots? I am eager to see it :)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 17, 2013, 12:22:45 am
Heya, this seems interesting. I am curious about how this looks like. I might try to load it on my calc when I have a chance, although some screenshots would definitively be nice (or pictures if it doesn't run in the emulator) :)

OK I just tried this and this is pure win! O.O

I know it's mainly like Doom where a WAD needs to be used or something like that and there are glitches so far (such as the option menu crashing the calc and glitchy number fonts in the HUD) but otherwise it's nice to be able to play games this complex and elaborate on this calc. :D

EDIT: Here's a video of the game in action:

Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 17, 2013, 08:03:34 am
DJ: could you give me a list of the files you put in your jazz folder? I can't seem to get it to work... I moved all the files from the download i found into the folder and it is still missing level files when I try to play it.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 17, 2013, 12:49:44 pm
BLOCKS.012
BLOCKS.013
BLOCKS.014
BLOCKS.015
BLOCKS.016
BLOCKS.017
BLOCKS.020
BLOCKS.022
BLOCKS.023
BONUS.000
BONUS.0SC
BONUS2.000
BONUS3.000
BONUS4.000
BONUS5.000
BONUS6.000
BONUSMAP.000
BONUSMAP.001
BONUSMAP.002
BONUSMAP.003
BONUSMAP.004
BONUSMAP.005
BONUSMAP.006
BONUSMAP.007
BONUSMAP.008
BONUSMAP.009
BONUSMAP.010
BONUSMAP.011
BONUSMAP.012
BONUSMAP.013
BONUSMAP.014
BONUSMAP.015
BONUSMAP.016
BONUSMAP.017
BONUSY.000
BOSS.PSM
CHEAT.0SC
CONFIG.000
CONTINUE.0SC
DPMI.000
END.0SC
ENDE1.0SC
ENDE2.0SC
ENDE3.0SC
ENDE4.0SC
ENDE5.0SC
ENDE6.0SC
ENDING.000
ENDLEVEL.0SC
FILE_ID.DIZ
FONT2.0FN
FONTBIG.0FN
FONTINY.0FN
FONTMN1.0FN
FONTMN2.0FN
FONTS.000
HELPME.DOC
INSTRUCT.0SC
LEVEL0.000
LEVEL0.001
LEVEL0.002
LEVEL0.003
LEVEL0.004
LEVEL0.005
LEVEL0.006
LEVEL0.007
LEVEL0.008
LEVEL0.009
LEVEL0.010
LEVEL0.011
LEVEL0.012
LEVEL0.013
LEVEL0.014
LEVEL0.015
LEVEL0.016
LEVEL0.017
LEVEL0.018
LEVEL0.019
LEVEL0.020
LEVEL0.021
LEVEL0.022
LEVEL0.023
LEVEL1.000
LEVEL1.001
LEVEL1.002
LEVEL1.003
LEVEL1.004
LEVEL1.005
LEVEL1.006
LEVEL1.007
LEVEL1.008
LEVEL1.009
LEVEL1.010
LEVEL1.011
LEVEL1.012
LEVEL1.013
LEVEL1.014
LEVEL1.015
LEVEL1.016
LEVEL1.017
LEVEL2.000
LEVEL2.002
LEVEL2.004
LEVEL2.007
LEVEL2.010
LEVEL2.012
LEVEL2.017
LEVEL3.020
LICENSE.DOC
MACRO.1
MACRO.2
MACRO.3
MACRO.4
MAINCHAR.000
MANUAL.DOC
MDRV000D.MUS
MDRV002D.MUS
MDRV003D.MUS
MDRV004D.MUS
MDRV005D.MUS
MDRVINFO.INT
MENU.000
MENUSNG.PSM
openjazz.000
ORDER.0SC
ORDER.DOC
ORDER_DE.DOC
ORDER_UK.DOC
PANEL.000
PLANET.000
PLANET.001
PLANET.002
PLANET.003
PLANET.004
PLANET.005
PLANET.006
PLANET.007
PLANET.008
PLANET.009
PLANET.010
PLANET.011
PLANET.012
PLANET.013
PLANET.014
PLANET.015
PLANET.016
PLANET.017
PLANET.018
PLANET.019
PLANET.020
PLANET.021
PLANET.022
PLANET.023
RTM.000
SETUP.EXE
SETUP.INT
SPRITES.000
SPRITES.001
SPRITES.002
SPRITES.003
SPRITES.004
SPRITES.005
SPRITES.006
SPRITES.007
SPRITES.008
SPRITES.009
SPRITES.010
SPRITES.011
SPRITES.012
SPRITES.013
SPRITES.014
SPRITES.015
SPRITES.016
SPRITES.017
SPRITES.018
SPRITES.019
SPRITES.020
SPRITES.021
SPRITES.022
SPRITES.023
STARTUP.0SC
SYSOP.DOC
VENDOR.DOC
BLOCKS.000
BLOCKS.001
BLOCKS.002
BLOCKS.003
BLOCKS.004
BLOCKS.005
BLOCKS.006
BLOCKS.007
BLOCKS.008
BLOCKS.009
BLOCKS.010
BLOCKS.011

I forgot to remove one or more exe file and I don't know if the .doc files are necessary, though. Even then, you might still run into issues like messed up fonts or black text on black background as seen in the video. However, the game still seemed fully playable. It's easier than it looks like in the video, because I was playing one-handed while holding the cam.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Keoni29 on December 17, 2013, 04:23:32 pm
Woah this looks super nice. Is it a straight up port or did you have to re-do a lot of stuff because it was on the prime?
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Eiyeron on December 17, 2013, 05:05:57 pm
That looks quite crazy, yet nice! I have to try it as soon as I can!
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Hayleia on December 17, 2013, 05:08:39 pm
Wow, I loved that game when I was younger (I feel old because of my own sentence... :P). I need to dig my Prizm out of its drawer to try this out at some point.
Great job ! :D
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: TIfanx1999 on December 18, 2013, 10:05:41 am
Never played this before, but it looks fantastic on the Prizm. Nice job on the port so far! :)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Keoni29 on December 18, 2013, 10:09:12 am
Wow even mode7 graphics. I own a physical copy of this game. I only played it for an hour and then put it away because I had to leave for school. I should give it another shot.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 18, 2013, 12:30:26 pm
Where are there mode 7 graphics? ??? Do you mean certain versions of the game?

EDIT Nvm, the author edited his first post with screenshots. I couldn't find any of the mode 7 thing in Youtube vids, though, but I was watching speedruns. I guess it's a bonus stage, right?
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: critor on December 18, 2013, 05:15:03 pm
If I remember well, the 7 mode levels are bonus stages, yes.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 18, 2013, 05:26:36 pm
DJ: do you have a download link to where you got those files?
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 18, 2013, 05:29:51 pm
I am unsure if I am allowed by Omni rules to post a link, since it would fall under the same category as warez/ROM/other copyrighted material. A simple Google search should give good results, but be sure to pick up the first game, not the sequel.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 18, 2013, 05:34:28 pm
I am unsure if I am allowed by Omni rules to post a link, since it would fall under the same category as warez/ROM/other copyrighted material. A simple Google search should give good results, but be sure to pick up the first game, not the sequel.

ok
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 18, 2013, 07:25:05 pm
@DJ Omnimaga (list post) There are a few different versions of jazz jackrabbit released by Epic. So therefor your list may not necessarily correspond with the version others have downloaded. As a general rule of thumb the files you need end with a number. You don't need the documentation or EXE files. Also you do need END.OSC and the FONT*.OFN files. If you get a file not found error add the relevant files.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 18, 2013, 08:05:19 pm
Oh I just copied everything except the sound files and still got some graphical errors. I did not get any file not found error except when accessing settings, tho, in which case the game sometimes permanently messes up and requires a full reinstall and calculator format.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 18, 2013, 10:30:58 pm
The few graphical glitches present are know issues. I do not have much time to work on it right now. I do know that some fonts do not display even though when compiling it for PC instead of for casio by typing make instead of make -f Makefile_casio then the fonts work just fine. Also yes there are minor hud issues that show on both PC and calculator. The only difference in code is that Instead of drawing to the casio's vram it draw's to an SDL surface that like the Casio's LCD display is 384x216 with 16bits per pixel. Also Keoni29 you were wondering how many changes I had to make to get this working on Casio prizm the answer is that it was a moderate change I ended up replacing all SDL functions now reflecting back I really should have just ported used the SDL port for casio prizm that was available. I did have to make changes to the code so that it uses less ram for example I found out that when loading level it takes ~160kb just to hold layout so I had to make this data stored in what is normally the Save/Load VRAM buffer this is used for graphs when you draw graph and exit and go back to the graph you will see it instantly without redraw. This works if and only if you have not changed any formulas or the "Window". The reason it appears instant to the user is because the already drawn graph is stored in that area of RAM. Jazz jackrabbit does not have a need to Save/Load VRAM so I can use it in my program. I also wrote a custom memory allocated that uses the stack it has an array of structs that contain a pointer to memory. When freeing alloacted memory the allocated memory around it will be moved to fill it's place instead of fragmentation.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 19, 2013, 09:54:48 am
@DJ_O: What site did you get the files from? I got mine from classicdosgames.com and for level 0, it only has LEVEL0.000, LEVEL0.001, LEVEL0.002, and LEVEL0.018...
Title: Re: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 19, 2013, 05:01:38 pm
I don't remember, sadly D:. It was an abandonware site, tho.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 19, 2013, 05:40:42 pm
Ignore the long list like I have said there are multiple versions of jazz jackrabbit you have most likely downloaded the shareware version. I have tested the shareware version and it works just fine.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 19, 2013, 07:30:57 pm
Ignore the long list like I have said there are multiple versions of jazz jackrabbit you have most likely downloaded the shareware version. I have tested the shareware version and it works just fine.

But after i press new game it loads thumbnails, etc. and then says cannot load file: and then a file which is not displayed long enough for me to read, and then there are no fonts in what i assume to be the level select screen, and then I can play. Also, if I press exit in the level select screen then the next time I open the addin it says "File not found: <stuff>\menu.000-8".

Also, pressing [menu] reboots the calculator.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 19, 2013, 08:07:05 pm
Yes there is a known glitch with fonts. Anyways it is ok that there are some thumbnails missing that just means that the version of jazz jackrabbit you downloaded does not have those levels. I would recommend downloading the CD version that has the most levels.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on December 19, 2013, 08:13:04 pm
Yes there is a known glitch with fonts. Anyways it is ok that there are some thumbnails missing that just means that the version of jazz jackrabbit you downloaded does not have those levels. I would recommend downloading the CD version that has the most levels.

Ah, ok... will it always reboot the calc on exit?
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 19, 2013, 09:25:20 pm
Yes sometimes exiting seems to have issues occasionally not sure why I will try to fix it at some point in time.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Hayleia on December 22, 2013, 10:22:22 am
Wow, just tried this, it has a huge potential :D

Don't know if there are many bugs (my batteries were low :P), but there's something that struck me. You've put too much frameskip in my opinion. The game runs too fast and not that smooth (the bullet just shows there, then there then is offscreen), and I really think that with less frameskip it would be smoother and more enjoyable :)

Great work so far anyway :D
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on December 22, 2013, 11:17:32 am
Actually I did not put any frame skip in. What the game does is it uses RTC_GetTicks() to scale how fast objects move. This way everything moves at the same speed regardless of framerate so if someone overclocks their calculator everything will move at the same speed but they would just get better frame rate. When porting this the game assumes 1000 millisecond ticks so I had to do RTC_GetTicks()*125/16 to scale it to 1000 ms range maybe if there was some way to get more precises ticks then the game would fell smoother. I'd imagine there would be some way to get 1/1024 precision instead of 1/128 which is what I currently get for ticks on the calculator. I am just speculating but you never know.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on December 22, 2013, 12:12:49 pm
I personally don't play this game with overclock on, because it just crashes the calc then and then the game becomes unuseable to the point where I have to reinstall it.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on January 04, 2014, 12:35:40 pm
Alright I made a new release there are some slight changes but the main one is the fonts now show up
(This post was in reference to version 1.01)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on January 04, 2014, 06:07:16 pm
Ok thanks for this update. :) Do I have to re-install the entire game or just replace the old Casio files with your new ones?
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on January 04, 2014, 08:19:40 pm
Ok thanks for this update. :) Do I have to re-install the entire game or just replace the old Casio files with your new ones?

Just replace the casio files ;)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on January 04, 2014, 08:52:17 pm
More specifically just replace openjazz.g3a
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: The_King on January 04, 2014, 08:53:20 pm
hey this is quite a port
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on January 04, 2014, 10:14:14 pm
Ok thanks for the info :)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: flyingfisch on January 04, 2014, 10:19:40 pm
hey this is quite a port

indeed, yes. :)

Ok thanks for the info :)

np :)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on May 24, 2014, 09:30:28 pm
I have released a new version. I edited my post to explain the changes. It is highly recommended that you upgrade as this version as the old version may write to ram locations used by the OS. This version should not have that issue.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on May 24, 2014, 10:07:01 pm
Good to see an update. Maybe this might explain why I had some weird crashes with the previous version. I'll give the new one a try when  I have some chance.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on May 25, 2014, 01:43:02 am
I am glad that you appreciate my update. In fact I just released another update. This fixes screen corruption on real hardware. Make sure you download 1.03. The update is pending acceptance in archives.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: DJ Omnimaga on May 25, 2014, 01:48:06 am
Ok thanks for letting me know. :)
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on May 25, 2014, 09:31:32 am
Edit: version 1.03 is up at both sites.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: neuronix on March 14, 2015, 04:08:23 am
Hello, this program doesn't work on my FX-CG 20?
How about it?
Thank you in advance.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: RetroKid on February 07, 2018, 03:59:57 pm
One question...
Would you consider porting this over to the TI-84 Plus CE or TI N-spire CX?
A Plus CE port might be possible, as it does use an enhanced Zilog eZ80 at 48 MHz (much faster than the CSE)
Plus, the TI-84 Plus CE lacks any platforming games besides ONE mario game.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: Eeems on February 07, 2018, 04:17:28 pm
One question...
Would you consider porting this over to the TI-84 Plus CE or TI N-spire CX?
A Plus CE port might be possible, as it does use an enhanced Zilog eZ80 at 48 MHz (much faster than the CSE)
Plus, the TI-84 Plus CE lacks any platforming games besides ONE mario game.
The last reply to this thread was in 2015. This was a bit of a necro post.

That said, this is an open source project. You could easily fork his github repository (https://github.com/ComputerNerd/Open-Jazz-Jackrabbit-Casio-Prizm-port) and port it to another platform yourself.
Title: Re: Open Jazz jackrabbit Casio prizm port
Post by: ProgrammerNerd on April 30, 2021, 06:37:05 pm
I've release a new update that I would consider urgent because it fixes invalid memory access and a file handle leak. The link is the same. You can download it from here: https://github.com/ComputerNerd/Open-Jazz-Jackrabbit-Casio-Prizm-port/blob/master/openjazz.7z

If you accidentally leave a file open on the Prizm it's really bad because you have to reset your calculator or put it in USB Mass Storage Mode to resolve the issue.

From the Casio Prizm wiki (https://prizm.cemetech.net/index.php?title=Bfile_OpenFile_OS) it says:
Quote
but strange behavior (most likely a OS bug) occurs if files other than the one in the first handle slot are located in directories (other than the root).

The strange behavior part is concerning. Although nothing bad has happened to my calculator I don't want anything bad to happen to yours. That's why I strongly urge you to update to the latest version.

I know that the G3A file is hosted elsewhere. If you are hosting this game I ask that you make this update available on your website as well so that people don't accidentally download the old version. I understand if you have a version history that's fine. I just mean that this should be an option.