Current version: v1.1 (2012/02/12 ARRANGE..)
(Updated: April 20 2012 12:16:51 UTC)
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.
You have two options: You can either compile from source, or drag your ddonpachj folder over the ddpa.exe application in the win folder.
Mac OS X:
You have two options: You can either compile from source, or drag your ddonpachj folder over the DDPA.app application in the osx folder.
Source compile (for UNIX-based):
cd src make ./ddpa [ddonpachjfolder]
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!
- GP Meter
- GP meter extended to 144 frames
- GP meter is the same length for 1st and 2nd loop
- GP meter behaves the same in both loops
- When GP meter is above 110, you gain Hits * 10 points per-frame
- Death and bomb freeze GP meter and chain
- Always respawn with 4 bombs, and 6 bomb maximum
- No bonus for maximum bombs
- The 2 loops now behave almost exactly the same system-wise
- Extends are every 10M points
- 5 lives in stock maximum (display is actual lives now)
- No more Shot and Laser type
- Strong - advantages of Shot and Laser
- Weak - disadvantages of Shot and Laser (for those who like a challenge)
- C-Auto is now the default (if you delete your old eeprom, or hit defaults)
- Player 2 disabled
- Title screen changes
- Music changes
- Palette changes