• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Easy Music Hacking Tutorial & Creating 8Bit Music in Fire Red / Emerald

LibertyTwins

Creators of Aesthetic Red (coming 2025!)
16
Posts
6
Years
  • Age 24
  • UK
  • Seen yesterday
From experimenting with MIDIs, we've managed to achieve the creation of good sounding 8Bit music in a GBA ROM. This tutorial will teach you how to do just that.

If you want to insert normal music, this also acts as an easy Sappy tutorial to prepare and insert MIDIs! Follow every step but ignore Step 3 unless you want to create 8Bit music.

If you're looking for music to insert into your game, we've released a GBA Music Pack containing over 160 songs prepared for insertion!

Requirements:
  • Sappy Mod 15 (This is the working, English version of Sappy.)
  • Anvil Studio (This is what you'll use to edit and devamp your MIDIs.)
  • Free Space Finder (This locates the free space inside your ROM, where you can import your music.)
  • Lunar IPS. (This is what you'll use to apply the patch to your ROM.)
  • All Instruments Patch (Words can't describe how much we love this patch! It literally makes music hacking possible just by importing MIDIs.)
    Basically it adds the Windows MIDI soundfont to the GBA and creates an all-instruments voicegroup, so imported MIDIs will sound as they do in Windows. Just import a MIDI and it should sound good.
Apply the All Instruments Patch to your ROM using Lunar IPS.

Additionally, if you want to expand the song table to allow yourself to add more songs, you can do one of two things:
  • To expand the song table, follow this tutorial up to but not including the "Preparing a MIDI" section.
  • Or download Squeetz' Music ROM Base, which expands the song table for you and adds 164 new songs you can use. If you download this, patch it to your ROM alongside the All Instruments Patch. To use Squeetz' patch, you must follow the instructions in the original Pokecommunity post.

Preparing Music for Insertion:
  1. Once you've followed the requirements and patched your ROM, download a MIDI of your choice. We recommend using MIDIs from our GBA MIDI Pack, as these are already prepared for insertion. (Alternatively you can find MIDIs from VGMusic, Google, Youtube or Musescore if you start a free trial. If you can't find a "MIDI", search for an "arrangement".)

  2. Follow the "Preparing a MIDI" and "Fixing Looping" sections of this tutorial. Do not read anything below "Converting your MIDI" as it becomes so unnecessarily complicated it's unreal.

  3. Now that you've opened your MIDI in Anvil Studio, you'll want to make it sound 8Bit. To devamp your MIDI, listen to each track (you can listen to tracks individually by clicking the "On" column), and replace the current instrument with one of our "8Bit" instruments. Below is a list of the "8Bit" instruments that you can use. (They may sound cheesy in Windows but once imported in the ROM, they'll sound great.)
    8 - Clav = "Buzzy 8Bit"
    29 - Electric Guitar (Muted) = "Soft 8Bit"
    81 - Lead 1 (Square) = "Bassy 8Bit"
    88 - Lead 8 (Bass + Lead) = "Sharp 8Bit"
    127 - Applause/Gunshot (?) = "Drums"
    (This applies to VOICEGROUP 0xB30C5C, provided by the All Instruments Patch)


  4. Once you have devamped your MIDI, save it by clicking File > Export MIDI-Format 0 File, and close Anvil Studio.

Inserting Music into your ROM:
  1. Drag your MIDI into the Mid2Agb folder, located inside the Sappy folder. Now open the Mid2Agb folder.

  2. Drag your MIDI onto Mid2Agb.exe, to open the MIDI with the program. This will create a new ".s" file within the folder, sharing the same name as your MIDI. (If this doesn't happen, make sure the name of your MIDI only contains letters.)

  3. Go back into the Sappy folder and open Sappy. Now open your patched ROM within Sappy and it should display the "Healing (RS)" song, which you should be able to play.

  4. If Sappy is working correctly (i.e. you can play the different songs in your ROM), find the song you want to replace. (If you want to quickly test a song in-game, select "Pokemon Theme" - this is the title screen music, instantly accessible in-game.)

  5. Click "Assemble Song". Then click the blank box next to ".S file name" and select the ".s" file of your song.

  6. Open Free Space Finder and open your ROM within the program. In "Needed Bytes", change the number to 3000 and then click the Search button. (Songs will vary in size but they average between 1000-3000 bytes.) Copy the hex offset which the program gives you.

  7. Go back to Sappy, where you should have the "Assemble .S file" window open. In "Base destination offset", paste the offset that Free Space Finder gave you. In "Voicegroup offset", change the offset to 0xB30C5C - this is the all-instruments voicegroup provided by the All Instruments Patch.

  8. Now click the "Cook it" button. Sappy will ask to set the entry in the song table - click Yes. Now Sappy will return to the main window and you should be able to play your song. Assuming your MIDI sounded good in the first place, it should sound good in Sappy and in your ROM. The "8Bit" instruments will sound better in your ROM than they will in Sappy.

  9. Play your ROM and your MIDI should play over the song that you replaced! Congratulations! You've just learned how to insert your own music into a ROM!
 
Last edited:
Back
Top