First, you must generate the modified romset using the utility provided. You must unzip a ddonpach romset and a ddonpachj romset into the same folder. System-dependent steps (provided below) must be performed for patching. After the ddonpachj folder is modified, just move it back to your MAME folder (and optionally re-archive it), and you are good to go. If for any reason you wish to revert the romset, you can simply delete the modified files in the folder and rename [filename].bak to the original filename.
Apparently if you re-compress the folder, you will have to move the .bak file out of the folder, or MAME will just load the original DoDonPachi ROMs.
cd src make ./ddpa [ddonpachjfolder]
ROM | CRC | SHA1 |
---|---|---|
u27.bin | 44b899ae | 798ec437d861b94fcd90c99a7015dd420887c788 |
u26.bin | 727a09a8 | 91876386855f19e8a3d8d1df71dfe9b3d98e9ea9 |
u51.bin | 0f3e5148 | 3016f4d075940feae691389606cd2aa7ac53849e |
u62.bin | 42e4c6c5 | 4d282f7592f5fc5e11839c57f39cae20b8422aa1 |
eeprom-ddonpach.bin | 2df16438 | 4881b70589a97e2420feb6d6e6737273beeff303 |
I developed this arrange over the course of approximately one week, and it's what I spent the majority of my time that week doing. The day before release, I told myself I wasn't sleeping until I had a build worthy of release. I cracked open a few cans of Dr. Pepper, and even one of those 5 Hour Energy things, and I dug into the remaining issues and managed to fix them all in time for me to get a decent nap that afternoon.
Anyhow, you might be curious about how I actually went about developing this. Seeing as I'm not a CAVE employee, I don't actually have the source code. Instead, I relied on my competancy as a reverse engineer to find all of the things I needed to change in order to make the game mechanics how I want. Now, you might assume I used a compiler, or even an assembler. You'd be dead wrong! I wrote out the assembly code I wanted to insert, then I referred to the M68000 User Manual to manually assemble every instruction. After a while, I actually learned a few opcodes (the machine-code representation of the human-readable code) by heart, so I mostly didn't need the manual for the last half or so of development.
For actual reverse engineering, I used the fantastic IDA Pro, in combination with the debugger in MAME (utilizing both the cheat functionality to find essential memory addresses, as well as breakpoints and watchpoints). To insert my code, I used a plain ol' hex editor (0xED, for those who care).
A couple friends on IRC joked around at the possibility of this arrange being bootlegged onto a real DoDonPachi board. If you ever actually do this, please let me know about it! I would love to hear such a flattery. If you manage to find one in an arcade, then please let me know; not so I can take action, but because that would be amazing!
The development of this arrange was by far one of the most fun and rewarding things I've done in a long time, and I hope to try my hand at arranging another game in the future. Let me know if you have any ideas!