Extract Music from Planet Puzzle League

Discussion in 'NDS - ROM Hacking and Translations' started by LordMelkor, Jan 20, 2008.

Jan 20, 2008
  1. LordMelkor
    OP

    Newcomer LordMelkor Advanced Member

    Joined:
    Jul 31, 2007
    Messages:
    94
    Location:
    California
    Country:
    United States
    I was wondering how I could go about extracting the background music from Planet Puzzle League, do I have to use dsbuff (kind of a pain cuz I have a mac, so I'd have to fire up VMware)? and which files would I be looking for?

    Alternatively is there anywhere I can find the music from P.P.L.?

    Thanks [​IMG]
     
  2. fateastray

    Member fateastray GBAtemp Advanced Fan

    Joined:
    Nov 14, 2007
    Messages:
    659
    Country:
    Netherlands
    You van use a guitarcable to plug your ds into the line-in of your soundcard and just use software to record it =P
     
  3. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    It may not be the easiest but ndstool (what DSBuff uses) comes as part of devkitARM (which has a PPC and intel mac version)

    http://sourceforge.net/project/showfiles.p...ckage_id=124207
    It is unfortunately 20 megs big and I am not sure how it works on macs.

    If you have a hex editor you can yank it yourself:
    http://nocash.emubase.de/gbatek.htm#dscart...roromfilesystem

    The file you want will almost invariably have the extension sdat which will be in ASCII in the rom.

    Spec here if you needed it:
    http://kiwi.ds.googlepages.com/sdat.html
    or
    http://tahaxan.arcnor.com/index.php?option...id=29&Itemid=36
    (the first is more programmer oriented while the latter is more for those with a hex editor)

    From here you need to convert to a more recognised format.
    Alas I do not know of any DS sound tools for mac but PC ones:
    http://nintendon.s6.xrea.com/ click on ?????? or the second link down on the left. Good news is the source is available and it is a command line app (my hex editor says no dos mode though which kills my dosbox idea)

    crystaltile2 is another tool and has a thread in this section somewhere. I did not get too far with the English translation (beyond what has already been done but I am sure I could dig it up).

    Edit:
    http://dev.jmoiron.net/rom-seimei/wiki/WikiStart
    There is actually quite a few implementations of ndstool on the mac it seems, that one is apparently python. A quick search might be in order.
     
  4. LordMelkor
    OP

    Newcomer LordMelkor Advanced Member

    Joined:
    Jul 31, 2007
    Messages:
    94
    Location:
    California
    Country:
    United States
    Hey thanks for the pointers, so I have the sounds extracted, but I'm a little disappointed. It appears there are actually only 2 full on music files, and then there is a huge folder of samples, so I guess the rest of the music is made by setting up combinations of the samples. I guess I could use the samples to make a cool techno thing or something lol [​IMG] . Or if I'm feeling up to it I might just hook up my DS to my line-in and record it (like fateastray suggested)
     
  5. triften

    Newcomer triften Advanced Member

    Joined:
    May 12, 2008
    Messages:
    72
    Country:
    United States
    I came across this thread searching how to TURN OFF THE MUSIC in Planet Puzzle League. I voice chat with a friend over Wi-Fi, and the music is so annoying and intrusive when all I want to hear is my friend talking. For some god-forsaken reason, this happens to be the ONE GAME in which turning off music is not in the sound options. WTF, Nintendo? Could you make Wi-Fi any more difficult? [​IMG]

    Anyone know if it's possible to hack the ROM to mute the music without muting voice chat? Seems far-fetched, but I'll do anything.
     
  6. Rainy

    Member Rainy GBAtemp Regular

    Joined:
    Feb 6, 2009
    Messages:
    125
    Country:
    Australia
    PM me later and ill try if i get time.
     
  7. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
  8. triften

    Newcomer triften Advanced Member

    Joined:
    May 12, 2008
    Messages:
    72
    Country:
    United States
    Hey, thanks so much for the replies. I've been researching this and reading similar threads. It makes sense: In theory, all I have to do is break one of the BGM filepaths, then I can select that background/song in game whenever I want to mute the music.

    EDIT: Using the file browser in NDS Top System, I can see that Planet Puzzle League (U) has a directory called 'sound'. Inside is another folder called 'ds_sound' which contains the file 'DSPon.SDAT' Here are the contents of the SDAT:

    [​IMG]

    Problem is, these sequences have generic titles so I don't know which song is BGM02, BGM03, etc. It doesn't really matter as long as I can turn off at least one of them. But I can't seem to find the corresponding hex for the addresses listed in the image you see. Can anyone help me with the hex editing part?
     
  9. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    Crystaltile2's sound is a bit broken (that play button at the top of the window you have there) so you may have to try it out with something like ndssndext:
    http://www.4shared.com/file/68276816/80922...sndext_v04.html

    Still sseq files are the "midi" files
    SBNK are the sound libraries (sound banks if you will), linked to the sseq
    SSAR are collections of sseq files, usually used for sound effects and the like.

    More here:
    http://kiwi.ds.googlepages.com/sdat.html

    Still, pulled apart the rom. The highlighted section is what you want to play with (the first and middle column are the location, the next is the file size. Putting the file location outside the sdat (I stripped files back when ripping roms back when and it only means sounds do not get played, as far as the game is concerned the same thing has happened).
    [​IMG]
     
  10. triften

    Newcomer triften Advanced Member

    Joined:
    May 12, 2008
    Messages:
    72
    Country:
    United States
    Thank you for pointing this out to me. I still don't know how to put "the file location outside the sdat" as you say. I guess I'll just use trial and error, because I have no clue what values to enter into the highlighted section. I'll try throwing in a bunch of zeros I guess... [​IMG]

    EDIT: Surprise, that didn't work. Changing the location (those first and middle columns) to zeros resulted in an incorrect filesize when I tried to import the SDAT. What values will mute the music, but keep the same file size so I can import it to my ROM?
     
  11. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    I am guessing your hex editor is adding to the file rather than replacing things (which would shift everything else and break the file).
    Without knowing which editor it is try hitting the insert button (next to the home and page up button on this keyboard). Usually down the bottom of the screen somewhere OVR will appear to indicate you are replacing things rather than inserting them.

    As for values you just need to put it outside the file (not sure if putting it somewhere other than the start of the file will work)
    CAC800 is the end of the file so anything after that is viable. You can ignore the file length if you want (you are only "deleting data, if you were changing it to something else then you would have to change the length too).
    Naturally you will have to account for the endianess of the the DS so your 00CAC800 will become 00C8CA00.

    If that does not make sense look at your screenshot and then mine

    00001220 becomes 20120000
    00002080 becomes 80200000 (notice it is 0E60 more than before, 0E50 is the length of the file but they like to align things so they do not always match up).
     
  12. triften

    Newcomer triften Advanced Member

    Joined:
    May 12, 2008
    Messages:
    72
    Country:
    United States
    I am overwriting data, not adding. I even checked to make sure my edited SDAT is the exact number of bytes (13,289,472) as the original. NDSTS still says "File size incorrect!" ...

    EDIT: Turns out the SDAT must be in the same directory as NDSTS. Importing worked...now to test the ROM...

    EDIT: SUCCESS! I've got Planet Puzzle League (U) working without background music! [​IMG] I can't thank you enough, FAST6191. I couldn't have done it without you. For anyone interested, I set the first two highlighted column values in Post #9 above so that they are just out of range of the SDAT file. Here is a screenshot, showing the values I changed:

    [​IMG]

    Note that setting these values will disable all music in-game and on the menu. The splash music at the title screen remains. If you edit the values below the red highlights you will eventually disable sound effects, which I did not want. Also keep in mind that the file size must be 13,289,472 bytes when you import the SDAT back into the ROM. Feel free to play around with it yourself, or PM me with questions.
     

Share This Page