ROM Hack GBA "Sappy" sound engine information by Bregalad

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,373
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/
 
  • Like
Reactions: CaptainSwag101

Atrius

Active Member
Newcomer
Joined
May 27, 2008
Messages
36
Trophies
0
Age
36
Location
Earth
Website
www.goldensunhacking.net
XP
171
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.
 

Blazer

Well-Known Member
Member
Joined
Aug 10, 2008
Messages
281
Trophies
0
XP
470
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.
 

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,373
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.
 

Atrius

Active Member
Newcomer
Joined
May 27, 2008
Messages
36
Trophies
0
Age
36
Location
Earth
Website
www.goldensunhacking.net
XP
171
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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
    BakerMan @ BakerMan: now i'm not gay, but hear me out