Bought the Fever SOS pcb this spring and while the game is fun and addicting to play I'm not good enough yet to get on to the highscore table. By my estimate you would have to play really good to at least to 3rd boss to even get to the last place . I stumbled onto Zakk's hack for the Dangun Feveron that lowers the 5th score on the highscore table so you can get there easier. But the patch files were not compatible with the Fever SOS version which I liked more. Also was thinking that why stop at just the 5th place and why not just lower them all so I can track multiple runs on how they stack up against each other even if I wouldn't always beat my previous best. So I started to read up on ROM hacking and started my journey to learn and to experiment.
First was to understand how the patch file were used and created. This was pretty straight forwarded that there are .ips files that are the patches which contain the information where (address) on the ROM changes need to be made and what the changes will be. With a tool like 'Lunar IPS' you can apply the patch onto a ROM/BIN file. Or if you have made changes to a ROM file manually you can create an .ips file by comparing a clean version and the modified version so that the .ips file can always replicate the change.
Second one was how would you actually create changes to a ROM/BIN file. For this you would need a hex editor. I opted for 'Cygnus Hex Editor' that you can get from Windows Store which seemed like a good tool for a beginner. With this I could compare the clean ROM files and what Zakk's patched ROM differed and started to understand a bit better what might need changing. While the data for the highscore table was same for the two versions they were at different address on the ROMs so that is why the Dangun Feveron patch file didn't work for Fever SOS. The scores were right next to each other so to expand the change for all top-5 wasn't a huge task.
Finally the Zakk's hack also contained a change to make ROM check always pass. The Dangun Feveron / Fever SOS doesn't have visible ROM/RAM check on bootup like a lot of older games and I don't yet have deep enough understanding on how the game code actually runs and does checks on the bootup so I didn't have clue what the actual effect was and was it needed for the Fever SOS.
With just the highscores changed the modified roms were not booting up in MAME but when I implement similar changes for the ROM check to always pass I got it booting on MAME. The ROM check pass had similar case that the data was the same but it was just in different address. However while the ROM were working on MAME when I burned the ROM for my Fever SOS pcb (No 'Cave' logo near JAMMA edge) they didn't work. The game tried to bootup but always reset before getting to the warning screen.
After this I stumbled onto ROM hack for the Fever SOS that was described as that a protection was removed so that the Fever SOS ROM could be run on the Dangun Feveron PCB. Didn't find a lot of documentation about who had made it or any more description what it does. Decided use the Hex Editor to compare how it differed from a clean ROM and then implement the same changes on top of my high score changes.
I made version of
- unprotected + highscore change
- unprotected + ROM check always pass + highscore change.
While both booted up in MAME I decided to go first with lowest number of changes while testing with actual PCB. The unprotected version + highscore change worked so I decided not to test the one with the ROM check always pass changes on the PCB.
So as a final result I uploaded the patch files which you can use to modify either clean on unprotected Fever SOS ROM U33 and U34 so that the highscore table is easier to get to and that it works both in Mame and an actual PCB. If someone wants to test this on the JP version of the PCB and / or Mister that would be appreciate. I can add the results to the documentation if this can be used with them .
https://github.com/VeeKiraRay/fever-sos___dangun-feveron___rom-hack-patches
Here is screenshot of the affected highscore table. On the left is unmodified and on the right with this change
First was to understand how the patch file were used and created. This was pretty straight forwarded that there are .ips files that are the patches which contain the information where (address) on the ROM changes need to be made and what the changes will be. With a tool like 'Lunar IPS' you can apply the patch onto a ROM/BIN file. Or if you have made changes to a ROM file manually you can create an .ips file by comparing a clean version and the modified version so that the .ips file can always replicate the change.
Second one was how would you actually create changes to a ROM/BIN file. For this you would need a hex editor. I opted for 'Cygnus Hex Editor' that you can get from Windows Store which seemed like a good tool for a beginner. With this I could compare the clean ROM files and what Zakk's patched ROM differed and started to understand a bit better what might need changing. While the data for the highscore table was same for the two versions they were at different address on the ROMs so that is why the Dangun Feveron patch file didn't work for Fever SOS. The scores were right next to each other so to expand the change for all top-5 wasn't a huge task.
Finally the Zakk's hack also contained a change to make ROM check always pass. The Dangun Feveron / Fever SOS doesn't have visible ROM/RAM check on bootup like a lot of older games and I don't yet have deep enough understanding on how the game code actually runs and does checks on the bootup so I didn't have clue what the actual effect was and was it needed for the Fever SOS.
With just the highscores changed the modified roms were not booting up in MAME but when I implement similar changes for the ROM check to always pass I got it booting on MAME. The ROM check pass had similar case that the data was the same but it was just in different address. However while the ROM were working on MAME when I burned the ROM for my Fever SOS pcb (No 'Cave' logo near JAMMA edge) they didn't work. The game tried to bootup but always reset before getting to the warning screen.
After this I stumbled onto ROM hack for the Fever SOS that was described as that a protection was removed so that the Fever SOS ROM could be run on the Dangun Feveron PCB. Didn't find a lot of documentation about who had made it or any more description what it does. Decided use the Hex Editor to compare how it differed from a clean ROM and then implement the same changes on top of my high score changes.
I made version of
- unprotected + highscore change
- unprotected + ROM check always pass + highscore change.
While both booted up in MAME I decided to go first with lowest number of changes while testing with actual PCB. The unprotected version + highscore change worked so I decided not to test the one with the ROM check always pass changes on the PCB.
So as a final result I uploaded the patch files which you can use to modify either clean on unprotected Fever SOS ROM U33 and U34 so that the highscore table is easier to get to and that it works both in Mame and an actual PCB. If someone wants to test this on the JP version of the PCB and / or Mister that would be appreciate. I can add the results to the documentation if this can be used with them .
https://github.com/VeeKiraRay/fever-sos___dangun-feveron___rom-hack-patches
Here is screenshot of the affected highscore table. On the left is unmodified and on the right with this change
Last edited: