• 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.

Code: Mega Evolutions and Primal Reversion

pokelover1991

champion
32
Posts
9
Years
  • Seen Oct 16, 2015
There is a tutorial how to get them working a few posts up. I'm afraid inserting this via only a hex editor would be far too complicated. It's about 5kB of code and will constantly be updated. Trust me when I say my way is easier.

well i got it now just a error i thing i did not highlight the path very well the location i pm u
 

Splash

But nothing happened.
658
Posts
14
Years
In linker.lsc:
Code:
rom     : ORIGIN = 0x08800000, LENGTH = 32M
to
Code:
rom     : ORIGIN = 0x08A00000, LENGTH = 32M

You could also change the length to a smaller amount, but who cares.

Will there be any repercussions if I set the default location somewhere else? Will it affect anything once you update it?
 

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
I know y'all are getting sick of me but
failagain_by_exodrake-d8zk4b9.png

Why this no work
 

Splash

But nothing happened.
658
Posts
14
Years
I know y'all are getting sick of me but
failagain_by_exodrake-d8zk4b9.png

Why this no work

Follow the tutorial.. also use the readme in the github page as a reference.. I dont know why but I find that easier to follow.

So I successfully inserted the Mega Evos.
Also a quick tip to windows 8 users like myself:
To add the path go to This PC -> Right Click it -> Properties -> System Protection -> Advanced -> Environment Variables -> Then do the rest of the tutorial
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Will there be any repercussions if I set the default location somewhere else? Will it affect anything once you update it?

If everything is correct, it shouldn't mess up anything at all. Just record where you installed in and how many bytes it used. It uses one large block, so this shouldn't be hard. Then, when an update arrives, erase the data and reinsert.

Oh yeah, and make sure the location is word aligned (i.e. the offset must be a multiple of 4).

I know y'all are getting sick of me but
failagain_by_exodrake-d8zk4b9.png

Why this no work

Are you sure you have the correct version of Python? You need Python 3 for this to work.
 

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
I reinstalled with version 3.0 to be sure, same error.
 

PokéMew1

Pokémon Fuchsia
484
Posts
10
Years
UPDATED WITH PICS AND SLIGHTLY IMPROVED TO ULTRA NOOBIFIED OVER 9000 LEVEL (not that I'm one to speak) (Credits to DizzyEgg for writing a bit of it)

TUTORIAL (for Windows)

I experienced quite a bit of problems with installing this hack at first, so I'm going through exactly what I did to get it working.

NOTE: Red circles in the pictures are things to notice or be mindful of.

1. The very first thing you need to do is download the hack which is on Touched's github, found here.
2po8a6u.jpg


2. After downloading, extract the zip file and place it anywhere easily accessible, preferably the desktop. I'd preferably rename the megaEvolution-master to something simple such as 'Mega'. For this tut we will name it that.
2wovrb6.jpg

351eagy.jpg


3. Create a folder called "build" in the root of your mega folder. (A root, for those who don't know, is the very start of a folder, not a folder within a folder or so on.)
2qxrgk4.jpg


4. Now you need to download devkitARM. You can download it here.
am83f4.jpg


5. Run the setup, click next and check "download and install/install from downloaded files." You can install everything or just devkitARM if you want, I just installed devkitARM. I recommend installing it somewhere as simple as C:\devkitPro, installing it at the desktop did not work for me. Make a folder called "devkitPro" and install everything there, then wait for the setup to complete. Remeber the address.
dvrrc0.jpg

2dccx04.jpg


6. Next, you must add devkitARM's bin folder to your path variable. Say what??
This is how you can add it (or any path for future purposes) to your path variable.

Spoiler:


7. Now you need to download make gnu, also known as make.exe, you can download it here. However, if you downloaded all of the contents from the devkit package, you will have installed minimal system, which, as it turns out, installs make for you. Though for the sake of this tutorial, we will be downloading make separate for the sake of convenience.
zx9phz.jpg


8. After downloaded, double click it to launch the setup and install it anywhere you want. I installed it to: C:\Program Files (x86)\GnuWin32. Don't forget the directory. Make sure that both "binaries" and "documentation" are checked off in the checkboxes from the setup.
ng63ur.jpg


9.. Now, go to the directory you just installed it to. In this case I would go to Computer>Windows>Programfiles (x86)>GnuWin32. Now you will see several folders. Find the one thats called "bin" and copy all of its contents.
f3giz8.jpg

Now, paste them into your folder's root (you learned what a root is already) (In our case, "Mega" is our folder name.) By now, our folder should look like this:
f9ifrl.jpg


10. Download python 3. You can get it here. Install it anywhere. Simple enough right?
282lz0m.jpg


11. Now you need to get a clean FireRed. You need to name it "BPRE0.gba". (NOTE: THAT IS A ZERO ON THE END, NOT THE LETTER O). Place it in the root of your folder (Ours, again, is named Mega).
ndkfip.jpg


12. While holding shift, right click empty space in your folder and choose "open the command window". This is whats known as "cmd".
s5y82r.jpg


13. Now the hacking! Type: "make", and hit enter. You should see a ton of code. Just ignore it (or check it out if you're interested ;) )Then type: "insert.py" and hit enter once more. Another bunch of code should come up. It is safe to close the cmd now.
f2ouwj.jpg

16azkif.jpg


14. Congrats! It should have created a test.gba in the your folder's root. This is the mega evolution hack installed. You can open it with a hex editor (like HxD) and go to 0x800000 to check if it was installed. If there is hex numbers there and not a bunch of FF's, it was a success!
2r2adf9.jpg


If that doesn't work for you...you'll have to ask someone else, preferably Touched. (Try not to bug him about it :P )
 
Last edited:
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024

Nice job with the tutorial.

I'm just gonna point out that you don't need to bother installing GNU make like you have, because if you check the option for devkitPro to install Minimal System you'll have make installed already. Plus, it will be make 4.1 as opposed to the make 3.8 that you're linking.
 

PokéMew1

Pokémon Fuchsia
484
Posts
10
Years
Nice job with the tutorial.

I'm just gonna point out that you don't need to bother installing GNU make like you have, because if you check the option for devkitPro to install Minimal System you'll have make installed already. Plus, it will be make 4.1 as opposed to the make 3.8 that you're linking.

I see. Thanks, I will edit that for the tutorial.
 

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
Gah here i was thinking I needed Python 3.0 for this, when really I needed 3.4.3. Thank you so much for this clear cut illustrated guide!
 

PokéMew1

Pokémon Fuchsia
484
Posts
10
Years
Gah here i was thinking I needed Python 3.0 for this, when really I needed 3.4.3. Thank you so much for this clear cut illustrated guide!

On the python website, they state that there are 2 main versions of python: Python2 and Python3. They are made for different purposes. In other words, any version of Python3 should work, 3.4.3 is just the latest version of python3. If that makes sense :/
 

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
For some strange reason though, Python 3.0 was returning errors every time but the one you posted worked. All's well that ends well though!
 

Criminon

Forever Spriting
265
Posts
11
Years
For people using G3T (Gen 3 Tools)

Download G3T from here: download
Download this from my dropbox: download

Once you have G3T installed, go into its folders and find the folder titled "customisation"
HwklE0Q.png


Drop my file into customization, and overwrite the old one (or rename the old one)
MN8MkVM.png


Go into G3T and click on the pokemon you want to mega evolve.

Over on the right hand side, you will see evolutions.
1nb9Ii6.png

(the bottom should read "1 are primal reversions, and 2 are wishes"

On condition, click the drop down menu, and scroll all the way down to the bottom (Mega Evolution)

Where it says "Nothing required" this is where you place the item ID for your mega stone. IE Blastoisinite, etc.
These must be created by you. I recommend using "Complete Item Editor" download Please note that this # is NOT in hex. You must place the full non hex item ID.

Where it says "evolve to" you need to place the pokemon that you're mega evolving into. This should also be done with this program, and please note that while you can have it evolve into any pokemon, its best to create one in a new space. Be sure to hit "edit" on the bottom right before you move to another pokemon.

The pokemon you create should have most of the same things filled out as the pokemon you're having evolve. Such as base xp, xp growth rate, egg groups, etc. I believe keeping the HP the same is also important. Every other stat should be editable.
icWS7jK.png


The last thing you need to do is to set the mega evolution to evolve back into the pokemon it was previously. IE for blastoisinite, blastoise would evolve into mega blastoise. Now we set mega blastoise to evolve into blastoise, only on "nothing required" we leave it at 0. This part is very important, otherwise your pokemon won't revert back after battle.

EDIT:
For people who want to use Gen III Hacking Suite

Download Gen II Suite: download
I have set up something to allow you to be able to use Gen 3 Hacking Suite for this as well. It requires you to go into your Gen III suite folder, click on "Pokeroms" and locate your version (BPRE) and highlight this entire part:
srIEigq.png

then copy and paste this over it:
Spoiler:

Using gen 3 hacking suite looks a lot nicer and its better for Mega evolutions, but it doesn't handle primals or wishes. It should be pretty self explanatory. You go into evolutions, select an empty slot. Scroll down on the evolution type to "Mega Evolution", select the item your pokemon needs to be holding, and then select the pokemon it will mega evolve into. You need to do the same with the Mega evolution, only leave the item as ????????? (item ID 0)
 
Last edited:

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
Oh, and the lefthand "unknown byte" in G3T's Pokemon editor, which is under the evolution stuff, is indeed the value that controls the type of mega evolution. By setting this value to 2, I enabled the Wish-type Mega Evolution (which by the way has a typo - fervant should be fervent. an easy fix in a text editor but this should probably be fixed in later versions).

 
794
Posts
10
Years
I'd like to ask about certain minor thing.
When I mega evolve a nicknamed Pokemon, the text is following: "[Nickname] mega evolved into Mega [Nickname]". I don't know how it looks in the original series but I think it'd be more aesthetic if the text said something like this: "[Nickname] mega evolved into Mega [Species' name]".
One more thing. It always says that my item's reacting to my "Gold Teeth". Is there a way to change that?
 

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
To change the gold teeth item, open the config file (the one which doesn't have the squiggle in the extension) inside the src folder by dragging it over notepad. Inside that file is the item ID which defaults to Gold Teeth. You can change this to the ID of your mega key item. It's the KEYSTONE_DEFAULT 0x161 value in that file.
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Oh, and the lefthand "unknown byte" in G3T's Pokemon editor, which is under the evolution stuff, is indeed the value that controls the type of mega evolution. By setting this value to 2, I enabled the Wish-type Mega Evolution (which by the way has a typo - fervant should be fervent. an easy fix in a text editor but this should probably be fixed in later versions).


Good to know that one works (haven't actually tested it)
Thanks for that. I have fixed it. I feel so dumb for having misspelled it thrice.

I'd like to ask about certain minor thing.
When I mega evolve a nicknamed Pokemon, the text is following: "[Nickname] mega evolved into Mega [Nickname]". I don't know how it looks in the original series but I think it'd be more aesthetic if the text said something like this: "[Nickname] mega evolved into Mega [Species' name]".
One more thing. It always says that my item's reacting to my "Gold Teeth". Is there a way to change that?

Good catch. I have fixed this.

The main post describes the config.h settings you need to change. There are two script variables. One contains the item index for the player, the other for the opponent. If you do not define one, it defaults to the item specified as the default keystone (opponent only, the player MUST have the item contained in that variable for it to be enabled). This way you can have multiple mega "accessories".
 

Criminon

Forever Spriting
265
Posts
11
Years
Good to know that one works (haven't actually tested it)
Thanks for that. I have fixed it. I feel so dumb for having misspelled it thrice.



Good catch. I have fixed this.

The main post describes the config.h settings you need to change. There are two script variables. One contains the item index for the player, the other for the opponent. If you do not define one, it defaults to the item specified as the default keystone (opponent only, the player MUST have the item contained in that variable for it to be enabled). This way you can have multiple mega "accessories".

Another minor thing noticed:
When swapping to your party immediately after entering a battle, the mega evolution thing will appear. (I assume only on a pokemon able to mega evolve) You see it for a split second.

Also; I'm thinking about creating a rom base for the mega evolutions , just getting their stats and abilities in, making them all able to mega evolve correctly, etc. It APPEARS that the dollsteak patch is compatible, but I'm not sure if I should wait for Dollsteak to release another one. (I'm not sure if he is) I'll try contacting him soon before I start on that because I definitely want to use the phys special split, decap, and the abilities. it's just too good.

However, some questions came up:

Should I just put in the megas from gens 1-3? I feel like it would kind of be in bad taste to add just a few extra pokemon from other gens. I'll take feedback from people before I create it, and I'll leave enough slots available in the expanded pokemon list for people to edit it to their liking.

I'll also be putting Chaos Rush's resized 64 sprites in as well.

Also I've checked and there are definitely enough empty item slots to do this without expanding the item lists, however a few of them won't be next to each other. (not really that big of a deal) But it might be best to expand them. (I'll try googling a guide, as I haven't done this yet) And some of the items will need to be renamed due to the limited text space the gen 3 games allow for item names.

I'll hopefully gather enough info on these questions over the weekend, and then I'll start Sunday. I'll also continue trying to break the mega evolution. It seems pretty solid though.

Edit:
1. Entering a battle, going into attack, pressing start, then going into your pokemon party, selecting a different pokemon, then attacking causes the game to crash. I assume the trigger just needs to be dropped when exiting the menu. (the same thing allows you to click the mega evolve, pull it out, and send out another pokemon capable of mega evolving and evolving that one without pressing the button; will crash if the held item isn't on that pokemon)

2. Mega evolving one pokemon and then going to another one that can mega evolve does grey out the icon (that's great) but the pc audio still plays when you hit enter / start.

this is the error image.

You didn't put a fire red rom into your root and you didn't name it BPRE0.gba.
 
Last edited:

pokelover1991

champion
32
Posts
9
Years
  • Seen Oct 16, 2015
Another minor thing noticed:
When swapping to your party immediately after entering a battle, the mega evolution thing will appear. (I assume only on a pokemon able to mega evolve) You see it for a split second.

Also; I'm thinking about creating a rom base for the mega evolutions , just getting their stats and abilities in, making them all able to mega evolve correctly, etc. It APPEARS that the dollsteak patch is compatible, but I'm not sure if I should wait for Dollsteak to release another one. (I'm not sure if he is) I'll try contacting him soon before I start on that because I definitely want to use the phys special split, decap, and the abilities. it's just too good.

However, some questions came up:

Should I just put in the megas from gens 1-3? I feel like it would kind of be in bad taste to add just a few extra pokemon from other gens. I'll take feedback from people before I create it, and I'll leave enough slots available in the expanded pokemon list for people to edit it to their liking.

I'll also be putting Chaos Rush's resized 64 sprites in as well.

Also I've checked and there are definitely enough empty item slots to do this without expanding the item lists, however a few of them won't be next to each other. (not really that big of a deal) But it might be best to expand them. (I'll try googling a guide, as I haven't done this yet) And some of the items will need to be renamed due to the limited text space the gen 3 games allow for item names.

I'll hopefully gather enough info on these questions over the weekend, and then I'll start Sunday. I'll also continue trying to break the mega evolution. It seems pretty solid though.

Edit:
1. Entering a battle, going into attack, pressing start, then going into your pokemon party, selecting a different pokemon, then attacking causes the game to crash. I assume the trigger just needs to be dropped when exiting the menu. (the same thing allows you to click the mega evolve, pull it out, and send out another pokemon capable of mega evolving and evolving that one without pressing the button; will crash if the held item isn't on that pokemon)

2. Mega evolving one pokemon and then going to another one that can mega evolve does grey out the icon (that's great) but the pc audio still plays when you hit enter / start.

u want mega sprites i have them ready to use just tell i will post i have bunch of then i also hav their icons.i had put some on my thread http://www.pokecommunity.com/member.php?u=496451
 
Back
Top