If you hack music, you might noticed once that sometimes on Sappy. Here are two examples of corrupted songs:
- The song's track number is unlimited, Sappy crashes while trying to play the song.
- Song's speed is reduced, when you try to replace this song, the game freezes, crashes, etc.
Corrupted songs happen while the poitner to the song is incorrect/there's a problem with the song.
Fixing is so easy, so shall we start?
Go to the corrupted song in Sappy and look at it's table location. In my case, my corrupted song is the champion theme from Ruby. It's table is 0x04562F4, so we are going to remove the 0x0, which meants we have 4562F4. Close Sappy and navigate to this location using any hex editor.
You should see XX XX XX 08.
Change the Xs to any song location in the ROM with reserve hex, but make sure it's not corrupted. Let's say my Gym Leader theme isn't corrupted, so I will replace X with DC E2 25.
Close the hex editor and open up Sappy. Go to the corrupted song and try to play. It should be fine!
Now, you can replace the song with any other song you want to!