Wednesday, May 20, 2015

Lots of stuff going on

Been figuring out a lot of stuff relating to memory addresses and their uses. There are a lot of juicy tidbits prime for fiddling with, and just begging to be incorporate into gameshark codes. I made a post on the Zenius-I-Vanisher forums, where I started posting everything I've found so far. (link) I've also been in touch with a member of gamehacking.org, who has figured out the layout of EXTREME JP's filedata.bin (so far as the organization of the data, and what the data is at each specific location). He has also found a table in the game's ELF containing addresses to files in the filedata.bin file. I've since used that info to find the same sort of table in 7 other PS2 DDR mixes, and have made a program that extracts, and displays the table data. Right now it has support for MAX JP, MAX U.S, MAX2 JP, MAX2 U.S, the MAX2 U.S demo version, Party Collection, EXTREME JP, and EXTREME U.S. I will probably release it when I added support for the Dancing Stage PS2 mixes.

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

Thursday, March 13, 2014

I'M NOT DEAD

I've been very busy lately with Android app programming and other things, but I have not given up on my efforts.

Thursday, September 19, 2013

Thank you VB2RIP

Vb2rip is a program that was developed many years ago by a guy named Neill Corlett, and can rip from Playstation 1 and 2 games various audio files, including .xa, and the vb2 format, which is used in pre-SuperNOVA DDR mixes.

This matters in my hacking research for one important reason:  It is open source.

Why does this matter:

A brief story:

I was trying to extract audio with this program one night, unfortunately the Chinese food I ate for dinner wasn't agreeing with me.  Whilst in the bathroom, where it seems a lot of good ideas come from funily enough, it struck me.

If the tool can extract .vb2 files from Dance Dance Revolution games, and convert them to .WAV format... then the reverse can be done too!

That means being able to convert an audio file in the same .wav format as what would be extracted into a vb2 format audio piece and inserting it over another file of the same size.

This also means that with some tweaks the program can be modified to output actual file locations, and file sizes for the vb2 format files... and even modified further to do an "export for editing" / "replace audio" [of the same size, of course]deal - such capabilities already possible when working with PSX TIM format images... or at least uncompressed TIM images.

Oh god, now I got another project I want to do.  >_<

Tuesday, September 17, 2013

That rating does not belong there...

As previously discovered by members of the AIJ community, the song wheel foot rating definitions are by default listed Standard/Light/Oni/Heavy, with 4 bits [1 nybble] per value like so:
[S][L][O][H][0][0] - though it wasn't previously known that each set of foot ratings, singles and doubles, are stored in 32 bit words - with the last 2 nybbles empty for each set [altering them does nothing].
For songs without Oni charts, and Oni-only songs, you can in fact fill in the nybbles for the "missing" ratings with data - doing so will allow you to change to that foot rating/difficulty on the song wheel.


What happens when you select your song w/ the nonexistent Oni steps?

Well, this:
The game does not crash.  The song starts playing, and the background video script plays normally.
Because of the lack of steps, however, your grade is dismal. 
[Get it?  Dismal?  D letter grade at the end?  Oh forget it.]