Monday, April 13, 2015

THIS JUST IN: Adding custom music is 100% doable [for PS2 mixes]

Thanks to the existence of tools capable of converting WAV format audio files into the correct variation of ADPCM audio used by the Sony Playstation 2, it is entirely possible to make custom music that you can place into DDR games. Unfortunately, at the present time, you will have to overwrite an existing song since how the game data is loaded is still a mystery, including whether or not the addresses are hard-coded, and if they are, where the game has them coded (as well as if that can be appended). Taring the files apart individually, as opposed to editing the ISO as one unit, will be easy assuming it is possible to rebuild the ISO completely, and in such a way where a Playstation 2 with a mod chip and.or SwapMagic, OR a PS2 emulator, will actually run it.
In the mean time, I have successfully transplanted music from one PS2 DDR game to another - again, replacing existing music. I overwrote the music for Burning Heat! (3 Option Mix) with the music for MAX. (Period), from the Japanese PS2 version of DDR EXTREME.

Heh, makes me wonder if I can, at Burning Heat's 166 BPM, come close to syncing steps to the music... of course, once I discover where the true BPM data for a song is stored, that will be a needless venture. If I could venture a guess, I'd say THAT information lies with the step data. Where that data is... I have no idea. Sty tuned!

Friday, April 10, 2015

IF you wanted to change what preview music played...

Apparently a piece of data in the song definition files for DDRMAX2 gets left out by IDA pro. These few bytes, which precede the song tempo information, reverence the sound byte in the game's data\SD.bin file that plays when you have the game highlighted in the song wheel.


Messing around with the specific value of 2 bytes, I've found that the game indexes a list of all the addresses of all the sound bytes in the file, though where that is exactly I have yet to discover. The files appear to be stored in the following order: sound effects, then announcer sound bytes, then game menu music files, then song preview clips used in the music select screen, then songs used for the various credit screens, full length songs, then a repeat of an announcer sound clip (albeit much quieter), and lastly, some odd, high pitch/speed string of announcer bytes.


This may not seem like much in some respect, but in the context of manipulating the game's data, this is pretty important. Next, I will need to look up where the indexes being referenced to, and the associated offsets in the sd.bin file, are stored within the game. Then, theoretically, I could add my own files into the game, and add my own offsets into the data array.


All of this, of course, is hinging on whether or not the data I found is in fact an index to some table of data.


EDIT: Here is a video demonstrating this. I am running the PS2 emulator PCSX2 v1.2.1, and using a RAM dumper to manipulate the bytes of data.

Wednesday, April 1, 2015

I'M NOT YET DEAD!

A LOT of stuff has been going on, so I haven't had the time I wanted to keep exploring the mysteries of DDRMAX2. Today, I decided to get back into it again, and decided to check out the jump tables, and what each choice does with regards to the flow of the game - whether gameplay related, or navigation wise. I found out that one jump table changed the actual set of options that appeared when you wanted to change language settings, controller settings, etc - and then proceeded to make it so no matter what choice you picked, you could only alter language options. Also found one whose function is as much a mystery as the other jump tables in the game, all I do know, however, is that if you make each case the same as case #2, all the songs in the song wheel flash a rotating palette of colors, as if it were a special song. Definitely a lot of cool stuff to look in to. Stay tuned, folks! :D