Monday, August 26, 2013

So that's what this does...

It seemed, to me anyways, that was uncertainty on the old AIJ forums about whether or not the bytes that follow the song's **DISPLAYED** BPM in the song definition - from Taren's notes - actually influence position on the songwheel or not.



Guess this proves those bytes play a role in where the song appears on the songwheel..

In case you think this is just an altered screenshot, or Stepmania, etc, a Youtube video:

How is this hacked? (or, "What is different?")
On MAX2 JP, Burning Heat! (3 Option MIX) is supposed to be the 3rd down from the Roulette selection, in the green category.   This song appears in the PURPLE grouping only in the ARCADE version of MAX2.

How was this done successfully?
I went into the song definition for Burning Heat, and the one for Afronova (from Nonstop Megamix), and swapped the few bytes that follow the song's BPM - giving Burning Heat Afronova's, and vice-versa.

Apparently altering the position in of itself will not work well if at all - and if you intend to swap slots, you actually need to swap the position information for both songs - not just overwrite the information for the song you want to re-locate.

The Expedition Begins: Part I: The Tools

When trying to reverse-engineer the DDR series games, there are a few tools that I feel essential.

First thing I added to my arsenal: ImgBurn.  Great for ripping ISOs and burning to blank DVDs so far as the control over read and burn speeds, etc.  I used this exclusively when burning hacks of In the Groove PS2 to DVDs to test on my PS2 back a few years ago.  Also good to have:  Sony CD DVD gen tools - and IML2ISO, vital IMO for rebuilding PS2 ISOs after hacking the contents.

The next tool: the game I want to hack... or in this case, the games.  On my external hard drive, I ripped from the original disks my copies of DDRMAX JP+US, DDRMAX2 JP+US, and DDR EXTREME JP+US.

Since I did not need to break any encryption, and it is a backup copy from a legal copy for personal use, eat your heart out, DMCA - preferably off a tall building - and may the people who wrote such an overreaching bill - particularly the lobbyists - go fuck themselves off a tall building as well..

I ripped an ISO of each game to my drive AS WELL as copied the contents of the game disk to its own folder.  This way I can manipulate each file and see what is what, and figure out for myself how to rebuild ISOs, AND at the same time have an ISO image on hand so testing simple little hacks is as easy as editing the image in a hex editor and loading it up in PCSX2 to run.

I then downloaded the emulator PCSX2 [link right there].  If you have a good graphics card to take the load off the main CPU, and plenty of RAM, a computer w. a 2.2 - 2.5GHz dual core processor is ok if all you're doing is testing.

The next tool added to the arsenal: a hex editor.  I recommend if you don't want ridiculous bells and whistles, just a functional and good hex editor, that you use FRHed, the FRee Hex EDitor. [link right there].

I used IDA Pro to create a disassembly of the game - even though it is not a 1:1 recreation of the original executable, this will make it a LOT easier to figure out how the game works compared to reading bytes of hexadecimal.  On top of that, I can take the existing information on hacking DDR games, and use the disassembly to fill in holes, and fix information that was not exactly right the first time around.


Why, why, why

People wonder why I decided to take a crack at older PS2 titles when it came to hacking DDR titles.  Others have asked me why bother with the endeavor of hacking DDR games when Stepmania already exists.

Stepmania is great - you can simulate Pump it Up, Dance Dance Revolution, In the Groove / 2 [especially easy since ITG2 is based on SM3.95], even  games like Pop'n Music, TechnoMotion, and beatmaniaIIDX.

The thing is, though, it doesn't quite - for me - match the FEEL of a console or arcade mix of DDR proper.

On top of that, the fact that not a whole lot is known about how these games work is not exactly known, and there are a lot of possibilities so far as customization goes once the game is figured out and "decoded" so to speak makes me want to take on this challenge.  Some of the existing information scraped from the site 'Aaron in Japan,' - particularly the old forums - is not entirely complete, and there are some holes in some of the information, and I'd like to fill in those gaps - and fix erroneous information too.  Additionally, I like these challenges from a programming perspective, as a comp. sci major, and may learn a lot from this expedition.

This blog will cover my efforts as I attempt to hack, manipulate, and figure out the PS2 DDR series from DDRMAXJP to DDR EXTREME 2, including MAXJP, MAXUS, MAX2JP, MAX2US, EXTREMEJP, EXTREMEUS, EXTREME2, PARTY EDITION, ETC.

There will be screenshots, video, information, and a lot of interesting things to uncover as I venture on this path.  Stick around, as the magic is just beginning.