- 1,315
- Posts
- 17
- Years
- Seen Jun 11, 2024
There's a problem that I've noticed with every single Emerald hack on PokeCommunity, including my own. It's when some notes in the BGM get corrupted so that they sound like they get replaced with 8-bit sounding beeeeeeeeps. Replacing/Inserting a new voicegroup does not fix this. Importing tracks from a clean Emerald rom does not fix this either.
What causes the sound corruption is when we repoint things to things that aren't actually free space. Even though Emerald supposedly uses 00 bytes as free space, I disagree with that. See all those FF bytes starting at 0xE3CF64? From there until the end of the rom, I think is Emerald's true free space. After all, all the other GBA games use FF bytes, so I think it's just a misconception that Emerald uses 00 bytes.
Unfortunately, once you get it, there is no way of fixing it. HOWEVER, if you plan on doing an Emerald hack, it's fully possible to prevent it. Here's what you need to do:
1. Open up your AdvanceMap folder
2. Open up the ini folder
3. Click on "AdvanceMap"
4. Scroll down to where it says "[Version:BPE]"
5. Change "SuchByte=$00" into "SuchByte=$FF"
6. Change "SuchBeginn=$6B0000" into "SuchBeginn=$E3CF64"
Now you can safely do whatever you want in Emerald on AdvanceMap, without worrying about the sound corruption. If you open up an Emerald rom in a hex editor and go to 0xE3CF64, you'll notice that from here on until the end of the rom is FF bytes, and unfortunately, there's not much space left. So I recommend expanding the rom to 32mb using XSE, and make sure you fill with FF bytes.
Other tips:
*When repointing something in unLZ, make sure you repoint it to an offset higher than 0xE3CF64
Credits:
*Me - obviously lol
*giradialkia - for helping me with some stuff
*HackMew - for making me feel stupid because I never realized that maybe most Emerald hackers suck at repointing and don't know what free space is
If you guys don't know what the sound corruption is, then I recommend trying out Pokemon CrystalShards. That hack is, hands down, the worst form of it I have ever seen (heard). It's pretty obvious in that hack.
EDIT:
For smart people that know what they're doing: Basically, to avoid sound corruption, make sure you don't insert anything that's before 0xE3CF64. Every piece of data you insert should be after 0xE3CF64.
What causes the sound corruption is when we repoint things to things that aren't actually free space. Even though Emerald supposedly uses 00 bytes as free space, I disagree with that. See all those FF bytes starting at 0xE3CF64? From there until the end of the rom, I think is Emerald's true free space. After all, all the other GBA games use FF bytes, so I think it's just a misconception that Emerald uses 00 bytes.
Unfortunately, once you get it, there is no way of fixing it. HOWEVER, if you plan on doing an Emerald hack, it's fully possible to prevent it. Here's what you need to do:
1. Open up your AdvanceMap folder
2. Open up the ini folder
3. Click on "AdvanceMap"
4. Scroll down to where it says "[Version:BPE]"
5. Change "SuchByte=$00" into "SuchByte=$FF"
6. Change "SuchBeginn=$6B0000" into "SuchBeginn=$E3CF64"
Now you can safely do whatever you want in Emerald on AdvanceMap, without worrying about the sound corruption. If you open up an Emerald rom in a hex editor and go to 0xE3CF64, you'll notice that from here on until the end of the rom is FF bytes, and unfortunately, there's not much space left. So I recommend expanding the rom to 32mb using XSE, and make sure you fill with FF bytes.
Other tips:
*When repointing something in unLZ, make sure you repoint it to an offset higher than 0xE3CF64
Credits:
*Me - obviously lol
*giradialkia - for helping me with some stuff
*HackMew - for making me feel stupid because I never realized that maybe most Emerald hackers suck at repointing and don't know what free space is
If you guys don't know what the sound corruption is, then I recommend trying out Pokemon CrystalShards. That hack is, hands down, the worst form of it I have ever seen (heard). It's pretty obvious in that hack.
EDIT:
For smart people that know what they're doing: Basically, to avoid sound corruption, make sure you don't insert anything that's before 0xE3CF64. Every piece of data you insert should be after 0xE3CF64.
Last edited: