GBA "Sappy" sound engine information by Bregalad

Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by FAST6191, May 30, 2010.

May 30, 2010
  1. FAST6191
    OP

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,719
    Country:
    United Kingdom
    First a link:
    http://www.romhacking.net/docs/462/ or http://www.romhacking.net/docs/%5B462%5Dsappy.txt if direct linking is allowed.

    "sappy" as it has been dubbed* is a format seen in many GBA roms (perhaps not as ubiquitous as SDAT on the DS though) used by the "midi" like sounds in many games.
    Despite it being common and at least partially known GBA sound has never really seen much interest (nothing like what happens on the DS) so hopefully this will start to change that (final fantasy and golden sun are about the only two series that saw much happen to them).

    *there is a program called sappy that could extract sounds from some GBA roms rather than the likes of SDAT which was named for an extension/magic stamp.

    I also have a couple of links if you fancy delving further into such things:
    http://forums.ngemu.com/emulation-news-sub...f-gba2midi.html , http://www.geocities.co.jp/Playtown-Yoyo/6130/sappy.htm and http://belogic.com/gba/
     
    CaptainSwag101 likes this.
  2. Atrius

    Newcomer Atrius Member

    Joined:
    May 27, 2008
    Messages:
    36
    Location:
    Earth
    Country:
    United States
    Very nice, it all looks correct to what I'd discovered on my own, and even contains information I didn't know. I should mention, however, that the version of Sappy that Camelot (the company that created Golden Sun) uses has a couple additions to it, so even though this is a fairly complete description of the format as it appears in the majority of games it is possible that you could encounter modified variants. Camelot's version just adds a new instrument type, the only problems this causes when playing their game's songs in an unmodified version of the engine is that the new instrument type doesn't play, otherwise everything else is still the same.
     
  3. FAST6191
    OP

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,719
    Country:
    United Kingdom
    Thanks for that Atrius- little extras/mods companies do like that are always good to know about.
     
  4. Blazer

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    My hack, Tactics Universe, features custom music and custom sounds alike, the latter thanks to Atrius and the former thanks to Atrius and Charon, for the most part. After I figured out how I shared the knowledge with other parts of the Fire Emblem hacking community and so you can add Fire Emblem to that list. lol.

    Anyway, I wrote a tutorial that includes plenty of explanations and documentation that can be found here.

    It's based on/made for Fire Emblem, but switch up a few offsets (i.e. find the offsets of song tables using Sappy or some other method like debugging) and apply the data from the instrument patch to another game (copy/paste, the data is just a big chunk of stuff at some offset) and it should work for any game that uses the same music format.

    Also, a friend of mine is making a GBA music inserter. I can't disclose much more information than that, but it should work for any game that uses the Sappy format, and be able to insert MIDIs in a very short time. It has quite a bit of progress so it's not just an idea.

    I just felt like sharing these developments on the music hacking scene regarding the Sappy engine.
     
  5. FAST6191
    OP

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,719
    Country:
    United Kingdom
    Thanks for that Blazer, all this GBA sound hacking that is now going on/coming to the fore is great and also means I can remove the "'tis a dark art" part from guides.
     
  6. Atrius

    Newcomer Atrius Member

    Joined:
    May 27, 2008
    Messages:
    36
    Location:
    Earth
    Country:
    United States
    I completely forgot about this utility I made a while back.

    GBA_AudioRipper.zip (24.9KB) - If you drag & drop a ROM file on it, it'll dump the audio data from the ROM to "output.gbas" which can be played by my (never completed)GBAjukebox Adobe AIR application. If you drag 2 ROM files onto it, it will rip the audio data from the first one, and append it to the end of the second. It can automatically detect & rip the audio data from most Sappy compatible games.

    Unfortunately you can't just easily insert the audio data into a different game anywhere you want after dumping it because the data contains pointers that have to be updated to match it's location in the file. When you drag & drop two files onto the program it automatically adjusts for this, but if you want to rip the data then insert it manually you would have to do it yourself.
     

Share This Page