ROM Hack Audio Swapping Question.

  • Thread starter Thread starter NazoXIII
  • Start date Start date
  • Views Views 14,450
  • Replies Replies 13

NazoXIII

Well-Known Member
Newcomer
Joined
Aug 10, 2008
Messages
97
Reaction score
6
Trophies
1
XP
611
Country
United States
Im trying to Swap just the Intro for the Game the song is called Be somewhere (opening in the Jap version of the game)
But i want to change just that not the english voices Ect Long story Short i want to keep the dub but Undub the opening

Edit: I changed some files around using Dsbuff and I got the opening on the Eng version bbut as i feared Japanese Voices along with it (Lan=Netto=Pisses me off)
 
You can't do that with this particular game because the sound files are all made into one file. You can possibly take apart the sound file but then you'd probably have to recode the game or something. I may be wrong, but you either make the game with opening and voices in Japanese or you keep the voices and opening now.
 
The simple undub is not hard (hell I did it years ago: http://gbatemp.net/old/index.php?showtopic=29842 ) but remaking a sound file is a tricky thing. Luckily the intro is a song as I recall (I know the Japanese version is) which means you will not have to mess around with the instruments.

There are some SDAT repackers (kiwi.DS released a few over at the tahaxan forums) but by hand would probably be easier in this case.
If the US/Eu one is smaller then just overwrite what is there and change the sizes SDAT specs here:
http://kiwi.ds.googlepages.com/sdat.html
Note there will be a size as well as a location, you need to fix both.

If the file is bigger then you will have the dilemma faced by every hacker that has dealt with pointers.
Trim the intro- most files are OK with being sliced for no reason (I used to do it when ripping games for old NOR era carts). Naturally you will lose the last few seconds.
Repoint the lot (will not be that bad as you are just shifting all files after the point you insert)
Add the file to the end and repoint to that. This is common in text hacking on the GBA (the whole rom is in the "memory" so you can read anywhere you like) but the idea is you add it to the end and then when it tries to read the song it goes to the end of the file instead (similar to how the tetris and pokemon sound hacks you may have seen work).

For the last two remember to also change the file length at the start of the SDAT file as well as the pointer tables.
 
Hey guys, someone have any code or patch that change the battle music from the game to the others that only play if you have on slot 2 one of the GBA games?
I'd like to hear the battl etheme from MMBN1 or 4 playing in the battle '-'

(Sorry, my english is not that good because i'm Brazilian
unsure.gif
) )
 
I have not got a code but it would be a fairly simple hack (I assume the game does not do anything as silly as read it from the GBA pack). Find the name of the sound you want and then simply repoint to the sound you want to play, the following thread has info:
http://gbatemp.net/index.php?showtopic=100253&hl=
I can grab a sort of blow by blow account if you need one too.
 
I've tried to hacking but when I opened the rom... I can't understand nothing, i don't know nothing about hacks XD

Can you do it from me? '-'
I just wanted to swap the battle music to the EXE1 theme.
 
Alright the I will explain the theory as I do not know the files you want to use. The methods used will also be similar to those for the other request in this thread (aside from the potential size change).

You need not pull apart the entire rom for this, quite in fact I used NDSTS:
http://www.no-intro.org/tools.htm

The location of the sound file is the "data\rom\ds" directory (note for ndstool/dslazy/dsbuff users the game has a directory called data so for you it will be the "data\data\rom\ds" directory.
You could do it in situ and either account for the location of set your editor to the start of the file (FBEC00 hex) but extracting is easy enough.

Initial shot of editor
initial%20hex.PNG


This means little however so we need to find the files you want. Crystaltile2 time:
sdat.PNG


Now for instance if I wanted it to play "001-BGM_TITLE.SSEQ" instead of "002-BGM_NEBULA.SSEQ" I could find the location of the 002-BGM_NEBULA.SSEQ (in this case 71e0 hex in the sdat file or FC4300 hex in the rom).
Back to the editor. I need the string dealing with "002-BGM_NEBULA.SSEQ"
The files are the second and third entry but in reality you would find them by matching name to location (the ASCII name list is usually present and if you search for "FAT" in ASCII you will get the location list.

In this case using the info from crystaltile 2 you can see what needs to be changed
The yellow highlight is the search for "FAT", the red letters are the location info and the black and yellow text is the file length.
sdattoedit.PNG


You want the "001-BGM_TITLE.SSEQ" instead of "002-BGM_NEBULA.SSEQ" so the third entry (second highlighted) will need to match the second entry (first highlighted) or:
sdatfin.PNG


Save the file and no change in length should have happened so you can just import it again with NDSTS.
This is all that was done for the tetris sound hacks, the castlevania POR stability hack and the pokemon sound hacks.
 
Wow, Great Explanation!
Thanks FAST6191
helped me a lot, now the game has a much better battle theme remixed =D

-------------edit

I've tried to download the crystaltile2 but all the links are dead =/

--------------edit 2
i have swaped the music but some tracks are not being played o.o
 
Well without CrystalTile2 its kinda hard to get track of the adress.
Download here worked for me: http://www.4shared.com/file/42134901/3967a...ystaltile2.html

After finding the adress in the: sdatfile info tool in CrystalTile2
(using the F2 key in the app after loading a sdat file)
You search in hex value in a hex editor.

For exapmple with Fast his example:
001-BGM_TITLE.SSEQ
 
My apologies, I was only using crystaltile2 as I was being lazy. Normally I would line up the list of file names (they are in ASCII) with the contents of the FAT table.

As Vistabuser mentioned make sure you change the strings properly; it is mighty sensitive about that.

Also note that the lengths can be longer (hence the blank 00s) so do not always expect 16 bits.
 
Thanx Guy's, i'll try later then post the results, now I understand much more what i need to do...

"0057 0000 D01A

So: Song adress - 4 empty digits - Song Lenght."

This info helped a lot
 
actually I got lost at the Hex Workshop part!!!!!!!!! that isn't clearly explained at all!!!!!!!!!!!!! I still don't know what to do there!!!!!!!!!

also it is asking me to log in to download CrystalTile2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

Site & Scene News

Popular threads in this forum