LCCoolJ95
Limited Capacity
- 640
- Posts
- 15
- Years
- The World That Never Was
- Seen May 25, 2025
I have been trying to figure this out, but I don't know what the problem could be. I inserted Mega Evolution into Emerald, good. But, if I try to activate it in battle, once I select a move, the game freezes, bad. If I don't activate, the game functions normally. Anyone know what the problem is? Here is the information I have:
(For reference, here's the original post of the Mega Evolution code: https://www.pokecommunity.com/posts/8982294/)
.equ Myloc, 0x1F00000 @ Change to whatever you want, you'll need 7000 (0x1B58) bytes of freespace to be sure.
.equ DoubleWordMega, 0x0203E3E0 @ Double word (8 bytes) of free ram, used for Mega evolution, must ends with 0, it's important.
.equ YourWordLocation, 0x203E320 @ Word used by your setword command
.equ ImposterLocation, 0x203E3FC @ byte used by imposter
.equ WeathersMegaPrimal, 0x0203E330 @ One byte of free ram used for mega/primal weathers
.equ AegiFreeRam, 0x203E33C @ One byte of free ram used for Aegislash transformation
.equ YourMegaAnimationIndex, 0x1E @ Index of the animation, you remember the expanded table ? Put Delta stream and Mega animation here.
.equ YourDeltaStreamAnimIndex, 0x1F
.equ SetWordCommand, 0xFA @ As I said, these commands have to be implemented, so put their index here.
.equ CallAsmCommand, 0xF9
.equ DeltaStreamAbility, 0xC0 @ Abilities indexes
.equ PrimordialSeaAbility, 0xBE
.equ DesolateLandAbility, 0xBF
.equ ImposterAbility, 0x97
.equ MoxieAbility, 0x9A
.equ NumberEvoPerPokemon, 0x8 @ Number of evolution you have per pokemon (I have 8 evolutions per mon)
.equ SoundWeWantToPlay, 0x1 @ Sound we want to play when triggering the mega evolution. 0x1 is not bad.
.equ AegislashShield, 0x31B @ Index number of Aegislash Shield
.equ AegislashBlade, 0x31A @ Index number of Aegislash Blade
.equ PokemonDataPointer, 0x803A270
.equ EvolutionPointerLocation, 0x806D140
EDIT:
I found something else. If you wait long enough after the game crashes, this happens:
I don't know how to respond to this.
(For reference, here's the original post of the Mega Evolution code: https://www.pokecommunity.com/posts/8982294/)
- The commands table has been repointed to 103B6A4
- I inserted callasm at 103BAA4, and I added A5BA0309 at the end of my new commands table. This would make the index of callasm F9.
- I inserted setword at 103BADC, and I added DDBA0309 at the end of my new commands table. This would make the index of setword FA. Plus, I added the Battle String Loader at 103BB40. Then at 14E6C0 I put 01 49 08 47, and then at 14E6C8, I put 41 BB 03 09, which is the pointer of the Battle String Loader routine +1. For all of these commands, these are from Sky High's post, which is here: https://www.pokecommunity.com/posts/8998952/
- Then I made these fixes from this post: https://www.pokecommunity.com/posts/8963359/
- When I inserted the animation, I replaced all the XX with 31, the index number of the Mega Evolution Rainbow Particles. I replaced all the YY with 33, the index number of the Mega Stone Particle. Then I replaced all the ZZ with 32, the index number of the Mega Evolution Symbol Particle.
- At 5DA3C, I placed C0 10 93 09, which is a pointer to my expanded playmation table. I'll admit, this part confused me alot. Here's what it reads: "We can see the last vanilla animation in bold, its index is 0x1D. Keep that in mind : the next animation will be the index 0x1E, then 0x1F, and so on.
So, put the pointer to the animation of the mega evolution here, keep its index in mind in case you added other animation." Do I replace the bolded pointer, or do I put the pointer of the animation next to it? - The main routine. Here are the changes that I made to the routine, which is all the red parts:
Spoiler:
.equ Myloc, 0x1F00000 @ Change to whatever you want, you'll need 7000 (0x1B58) bytes of freespace to be sure.
.equ DoubleWordMega, 0x0203E3E0 @ Double word (8 bytes) of free ram, used for Mega evolution, must ends with 0, it's important.
.equ YourWordLocation, 0x203E320 @ Word used by your setword command
.equ ImposterLocation, 0x203E3FC @ byte used by imposter
.equ WeathersMegaPrimal, 0x0203E330 @ One byte of free ram used for mega/primal weathers
.equ AegiFreeRam, 0x203E33C @ One byte of free ram used for Aegislash transformation
.equ YourMegaAnimationIndex, 0x1E @ Index of the animation, you remember the expanded table ? Put Delta stream and Mega animation here.
.equ YourDeltaStreamAnimIndex, 0x1F
.equ SetWordCommand, 0xFA @ As I said, these commands have to be implemented, so put their index here.
.equ CallAsmCommand, 0xF9
.equ DeltaStreamAbility, 0xC0 @ Abilities indexes
.equ PrimordialSeaAbility, 0xBE
.equ DesolateLandAbility, 0xBF
.equ ImposterAbility, 0x97
.equ MoxieAbility, 0x9A
.equ NumberEvoPerPokemon, 0x8 @ Number of evolution you have per pokemon (I have 8 evolutions per mon)
.equ SoundWeWantToPlay, 0x1 @ Sound we want to play when triggering the mega evolution. 0x1 is not bad.
.equ AegislashShield, 0x31B @ Index number of Aegislash Shield
.equ AegislashBlade, 0x31A @ Index number of Aegislash Blade
.equ PokemonDataPointer, 0x803A270
.equ EvolutionPointerLocation, 0x806D140
- Once I assembled it, what I did was, since it was a decently big file, I decided to make a copy of the assembled file and filled it with FFs. Then I used NUPS patcher (since it was an expanded ROM), and I made a patch of those files. I made the original file the FFs, the modified file the one with mega evolution, and I called the patch MegaEvo.ups. Then, what I did was, I used the "Get Patch Data" in the Patcher and I got the data from the patch. Then, I opened up a Hex editor with my ROM and the patch, and I made the proper hex edits. I know there was a different way to do it, the one that kleenexfeu put, but it caused my game to crash after I sent out my Pokemon.
- Once everything was inserted, I tried it out and the game froze, like I stated above.
EDIT:
I found something else. If you wait long enough after the game crashes, this happens:
![[PokeCommunity.com] Mega Evolution in Emerald Problem [PokeCommunity.com] Mega Evolution in Emerald Problem](https://www.romhack.me/file/pic/photo/2016/01/31bcaac1bc61640454637bfe0cea0ca2_1024.png?t=56a7fa2a5f70e)
I don't know how to respond to this.
Last edited: