How do I keep forgetting to release things on my blog. I’m so silly…
Anyhow, quickly hacked this up a few months ago. Displays rank where the high score should be, and shows deltas in the blank space above that. Also automatically unlocks boss rush and level 3 character select, as well as turns on ? and ! by default.
Most of this code originally existed in Bakraid, I just had to enable it (and make a few tweaks). This will apply correctly to both the US Unlimited and Japanese Unlimited versions.
Inspired by Keigox68000′s Garegga rank patch.
prg0u022.new (Japan, set bbakraidj)
prg0u022_usa.bin (US, set bbakraid)
The other day on Shmups Forum, BPzeBanshee bumped a thread requesting information on G-Stream G2020. So after playing a bit, I thought maybe it’d be a good idea to fix the sound. Later BPzeBanshee popped up in the #shmups IRC and asked if I was going to fix the sound. I was hesitant, but the fairly decent amount of sound errors made me want to go in and fix it. I spent a couple hours reverse-engineering the code that generated the banking data, but that didn’t really get me anywhere. So then I tried to modify the old code that was being used to bank. This also didn’t get me much of anywhere.
Then I wrote up a small program that converts raw OKI sound data to PCM data (for analysis in another tool, such as Audacity). Once I converted all the ROMs to PCM, I could actually figure out what banks had what data in them. From here I added some debug prints that would show the value being written to the banking register. After a bit of analysis, I came to the conclusion that the values weren’t meant to be interpreted at much larger than single bits. It was about here that I moved the latter two sound ROMs from the first OKI to the second (thus separating the two). I did this because in my analysis, I noticed that the sound-effect bank was duplicated in the first ROM and the 3rd ROM. After that, I decided to deconstruct the banking value into binary, and I started to notice a pattern. Soon I figured out how the values corresponded to the banks.
In the end, the final algorithm I came up with was:
Totally just realized I never released this no-buffer patch officially. Anyways, apply this to a relatively recent MAME to make it “lagless” (a bullshit term used to describe removing a frame of sprite buffering from drivers that buffer sprites to keep in sync with backgrounds).
Sorry about the downtime, we upgraded the server we were using, and during the upgrade we went from MySQL 6.x back to 5.x (as recommended by the MySQL team), and that broke a bunch of tables we were using because they apparently changed some collation IDs. Anyways, we finally were able to fix the tables, so everything’s back up!
Over the past 6 days, I have been working on an Arrange mode for the original DoDonPachi. I have finally finished all of the work (done painstakingly through nothing but a hex-editor, IDA Pro, MAME debugger, and a notepad), and have released the ROM set for it. You can find it over on http://dodonpachi.daifukkat.su/ (check the title bar for DoDonPachi Arrange). The changes made, as well as how to use the new ROM set are provided.