don't click here

(Solved) Need help with ADX/ACX for Burning Rangers Undub

Discussion in 'Engineering & Reverse Engineering' started by Billkwando, Aug 13, 2013.

  1. Billkwando

    Billkwando

    Member
    2
    0
    0
    Hello all!

    This is my first post and, though I've made some progress, I'm not a skilled hacker or programmer, but I'm hoping someone will appreciate what I'm trying to do and help me. I'm attempting to swap the Japanese music from the (J) Burning Rangers on Saturn (a Sonic Team game! lol) and place it on the english version. It would be silly to do a full undub of the game because the voice navigation system, but I would like to do the music, because I'm used to hearing the JP versions in the BR missions of Phantasy Star Online/Universe. I might also like to subtitle the .cak movies, but that is outside of the scope of this post.

    I have done the music swap successfully, as well as playing it on real hardware (you can see my thread with the backstory here: http://www.romhacking.net/forum/index.php?topic=16806.0 ) but the conundrum I'm facing is that the BGM.ACX file on the JP version has one less track, so in order for the tracks to line up properly, I must insert an additional track.

    I'm able to extract the songs using the tools mentioned in that thread (plus some Shenmue tools I discovered) and have created the extra track (it's just an edit of a prexisting track that they added for the E version, so I edited the Japanese track to match) but I am unable to pack the songs back into a working .ACX file that the hardware (or SSF, which I used to test) will accept. I'm using Puyo Tools, as that's the only ACX creator I am aware of.

    The ACX made in Puyo tools WILL play on my various CRI tools and ADX apps, and I can skip from song to song, but the game will not acknowledge it.

    I'm no programmer, but I opened the file in a hex editor and (from what I'm told, thanks to kode54 from the romhacking.net IRC channel) there should be 1 Big Endian header in the file with the typical "(c) CRI" mark in it, that stores the looping and sample rates for each of the tracks. When I look in hex, it appears that the ACX being created by Puyo Tools is giving each .adx track inside its own CRI header, which the hardware surely doesn't like.

    I've been researching this for hours and weeks, trying to solve my own problems, but I've reached a dead end and don't want to be forced to give up...but given my (essentially nonexistent) skills, I won't be able to advance without some guidance.

    Does anyone have any advice or suggestions? I would be willing to upload both files somewhere (original and modified) if someone was willing to take a look, but each is slightly over 100 megs.

    I would greatly appreciate any assistance. Thanks! :)/>/>/>/>/>/>/>/>
     
  2. Billkwando

    Billkwando

    Member
    2
    0
    0
    With the help of Yoshi 15, the author of Puyo Tools, I got this figured out. In case it's useful to anyone, this is how you swap music tracks on a game with an ACX soundtrack and play it on real hardware. The ACX is a container/archive file that (for our purposes) contains ADX audio tracks. The ADX file is also a container file, which contains the audio data, the sample rate, and any looping data (if the track is intended to loop).

    In the case of Burning Rangers (and likely others), the BGM.ACX contains the music, and the ADX.ACX contains the voices and other sounds.

    You will need:
    Burning Rangers disc images in Japanese and English (or whatever game you're doing)
    mkisofs (You can get it from here): http://smithii.com/cdrtools
    ADX Tools (found under "Additional Tools"): http://shenmuesubs.sourceforge.net/download/
    ADXPlay: http://web.axelero.hu/fka2636/adxplay_english.rar (to extract any of the individual ADX tracks inside to wav for editing in Audacity)
    Puyo Tools 2.0: http://code.google.com/p/puyotools/
    (PT 2.0 is coming soon. I was using a preview version the author was kind enough to send me, since the current stable release (1.0)has issues with creating ACX files. 2.0 will have bugfixes for ACX creation and block size)


    How to burn an edited Saturn image so that it will play on real hardware:

    I used these instructions:
    http://www.assemblergames.com/forums/showthread.php?21353-Saturn-iso-creation-from-extracted-files&p=327152&viewfull=1#post327152 (except I needed the IP.bin file in the same folder as mkisofs for it to work)

    Except I used PowerISO, and I got my IP.BIN from here (since CDRWin won't see my drives): http://phemusat.tripod.com/ by downloading the "SMS emu version 2" file (it has the file inside the zip). I then grabbed the BGM file from the Japanese version and pasted it into the US one, and burned the ISO using the instructions above. The IP.bin is required to play on real hardware, and must be added, because once you edit the disc image, the original IP.bin is lost.

    If you want to swap a Japanese soundtrack for English or vice versa, it's a simple copy and paste if the songs are in the same order (which you can verify with ADXPlay, for example). If not, or if you want to add your own songs, you will need to extract the ADX files with Puyo Tools (or another ADX app), and replace them with your own tracks (preferably with the same or similar length, and looping where the original did). Otherwise I'm sure unexpected results will occur (or maybe the track will just keep playing til the stage/level changes?).

    In the case of Burning Rangers, the English version has one additional track, track #24, which is the Burning Rangers theme, but fades out at the chorus and is 1:19 long. I took a copy of the Japanese theme (exported to wav) and editing down to be the precise length of the English track, then added a fade-out using Audacity (it's free), and then used the ADX encoder in ADX Tools to convert it back to ADX format (you can also tell it to loop here if needed, but this track didn't need it, as the original fades out rather than looping).

    At this point, you're on the home stretch.

    It's important to note that the ADX/ACX formats DO NOT store file names or file extensions, so it doesn't matter what the files are called or how they're numbered. I wish I'd known that before I renamed all 47 tracks by hand.

    So now that you have your homemade ADX in hand, you want open Puyo Tools again and under Archive choose Create. Then you'll want to choose ACX from the drop down, and add your files. In the case of BR, I added the original batch of 46 files, then opened the edited track 24 last, and then dragged it to right before the OTHER track 24 (see how not needing to rename the files is convenient?).

    NOTE: Under Settings, you'll need to choose 2048 as the block size, and leave the Compression drop down on "No Compression". Once you're ready, go ahead and create the archive file, naming it "BGM.acx" and saving. I then went back and capitalized the file extension, because I didn't want to take any chances.

    Once you have your new ACX, you just go to your extracted ISO folder and paste it in over the original BGM.ACX.

    Please note that the track "We are Burning Rangers" in the demo screen will still be in English. That's because it's in English on the Japanese version too. Nothing I can do about that! :)/>/>/>/>/>/>/>

    The final step for Burning Rangers is to replace the opening movie, which also has the English song in it. Copy the OP.CAK file from the Japanese image to your extracted English image, overwriting the original. You will lose the tiny bit of English text in the opening, but it's only on the screen for a spilit second.

    When you're all done, click "makeiso.bat" This will give you a new ISO with whatever name you chose earlier.

    Remember, ISO is fine for what we're doing. It doesn't need to be a bin/cue, since there are no CD audio tracks.

    If you're burning it for use on a real console, I recommend using high quality discs like Taiyo Yudens. My crappy Imation CDs always skip on my Saturn, but the same image burn on a TY disc plays perfectly (I actually had to back up Dark Savior from the retail disc to a TY because the Saturn actually has an easier time playing the backup than the original...for THAT, you do need a bin/cue). I burn mine at 16x (as that's the lowest my burner will allow) and they work fine.

    Enjoy your burning, and your rangering, and FLYYYY HIIIIIIIIIIIIGH!

    Edit: If anyone has any questions, or if anything is explained poorly, feel free to reply. I will continue to edit this post for clarity, as needed, for as long as my trial membership lasts. Big thanks, again, to Yoshi 15!