So I've just completed a JAMMA port for Iros (I'll release it as soon as I can test on hardware) and thought I'd play around with your FoaD Jamma build. I tested it on uzem because of the two controller support. Player 2 controller is used for inserting coins ofcourse. It seems to work fine. The one thing you will want to change though is to detect coin inserts everywhere through your game. Not just the start and continue screens. Also allow more than 1 coin in total. Imagine someone chucks in a coin while the game is being played. It won't register and the coin would be lost. Had to do the same for Iros.Jubatian wrote: ↑Sun Jan 14, 2018 11:17 amI created a version which should work on the JAMMA, I added it to the wiki. Thanks for the info in the other topic, hopefully I could get everything at least sort of right!
Also I found a byte which I could free, so now the game has credits. In the normal game, you have 5 lives (you may retry the level you failed from the death screen), on the JAMMA, you may "buy yourself through" the game.
What I could not test is whether the JAMMA version reads and interprets the soft DIP switches correctly (it should), as I could not find the soft DIP switch setup program (does anyone know where it is?). By default if the JAMMA EEPROM block is missing, it assumes the soft DIP switches being zero, so one coin buys you one credit.
It was a ridiculous coding run by the way...
First of all I was lucky to find one free RAM byte, or better say, one RAM byte which I had reserved for something what I didn't need in the end, so I could utilize it (it is still not a completely free byte as it is an unused color on a palette, so Mode 74 is actually reading it, just having no effect on the display). That was necessary to implement credits.
Then to my luck the story sequence was programmed in such a manner that it's state was still there on the death screen, so I could add code to revert to the previously played level (however the score can not be restored to the start of the level, so I rather had to add a penalty which makes it certain that you can not get infinite score with enough coins on the arcade).
Then at least five or so times I totally drained the remaining ROM space making it necessary to invent things to reduce the existing game's code. Rewriting stuff in assembly, getting around crappy C code generation, discovering new attributes which make code smaller...
Anyway, it should work. Or at least if it has any bug, it shouldn't be hard to fix now.
The normal game is also updated of course (Nicksen!) adding the credits support. It is now easier to complete it with 5 lives to work with (or if you use the JAMMA version, you can essentially have infinite lives).
I managed to get a hold of the Softswitch program and made an attempt at adhering to the dip switches. Unfortunately it seems the bit layout mentioned on the Uzebox JAMMA virtual DIP switch configuration is incorrect. For instance for the '1/2' coin setting I get a value of 16 for that byte which makes no sense (everything else default). So I ended up ignoring the dip switches and defaulted to 1/1 and a no-sound attract mode. I'll attach the Softswitch app here. Perhaps you'll have more luck. Let me know.
Hopefully soon I'll have some hardware to play with and I'll take a vid/pic of FoaD in action Ordered some boards built from the open source board files for the uzebox JAMMA and they should be arriving soon. Already have my JAMMA cabinet in place Will update the Uzebox JAMMA forum if I succeed with this little project.