• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.

Research: FireRed Pokédex Hacking

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
It must be the byte change messing with the loading routine for moves.
 

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
Is there a way to change the values of Height and Width to metric units? Is there any limitation in space?

They're stored in the game in metric units and converted to imperial at run time. You would simply have to turn off the conversion routine (pretty easy since it's just nop-ing a few opcodes) and change the strings which are at the end of them (the lbs and the ' " things).

Granted, all of the above requires knowing where this code is, but it's certainly possible to do.
 
16
Posts
10
Years
  • Seen Nov 1, 2014
Is there any way to increase the number of Pokemon in the game without increasing the number of dex entries? I would like to have more Pokemon similar to the ????? in between Celebi and Treecko.
 
6
Posts
10
Years
  • Seen Aug 20, 2013
Hey guys, link in the OP was down, how do you add the 4th and 5th gen pokedex entries to a fire red rom? Can't figure out how! Or if someone can link me to a patch or something that adds in all of the new pokedex entries, that'd be appreicated! Thanks.
 
510
Posts
11
Years
  • Seen Mar 11, 2024
They're stored in the game in metric units and converted to imperial at run time. You would simply have to turn off the conversion routine (pretty easy since it's just nop-ing a few opcodes) and change the strings which are at the end of them (the lbs and the ' " things).

Granted, all of the above requires knowing where this code is, but it's certainly possible to do.

And does anyone know where the conversion routine is located? Surely someone must have found it.
 
12
Posts
10
Years
  • Age 33
  • Seen Jan 21, 2014
setseen: ldr r1, newblock
there2: add r1, r1, r4
ldrb r2, [r1, #0x0]
add r0, r6, #0x0
orr r0, r2
strb r0, [r1, #0x0]
b end Something wrong here i guess

0x7464C
0x7471C
0x7477C
0xCB160
0xCB16C
0x1037D4
0x103870
0x104C28

Repeat i again
 
Last edited:
3
Posts
10
Years
  • Age 33
  • Seen Jun 21, 2014
When writing to the Pokémon's data, you risk changing something which should have an effect in the checksum. Without updating this checksum, the Pokémon will instantly become a Bad Egg.

My way of doing the formes avoids this potential problem by not writing to that area of data. It simply keeps the same Pokemon, calling the stat recalculator if necessary. It also takes much less space in terms of seperate data.

The code for gender differences is mixed in with the formes, since I reasoned that they were technically a variation on formes. Like Arceus however, nothing is directly stored to the Pokémon data which determines its gender, it is simply calculated on the fly as necessary. The Sprites are missing however.

Actually, the EGG is sprite 412. But that's nitpicking. To answer your question, I inserted a little bit of extra code at the sprite getting locations, with checks against the Sprite number and the Species ID (both are in the registers at this stage in FR). Simply, If it's Unown, I load a different table offset, and subtract the necessary number of sprites to make it fit, and if it's the EGG sprite ID, I check if the Pokémon the sprite request came from is an egg. Even if it is a Burmy AND an EGG, it will automatically display the EGG sprite until it hatches.

More complicated than necessary, but that's what happens when you forget that the Unown sprites (and EGG sprites) follow directly on from the "Normal" sprites.

EDITED TO ADD: I managed to get formes to recalculate stats when activated based on the current forme.



I just expanded the pokedex of Chinese language Fire Red to 493, all pointers of that translation are just same as US version.
After solving the saveblock problem, I found that the entries of the 412-493 which burmy start becoming bad egg (course I do have all of pokedex entries), it looks like mess up with the egg sprite and unknown...

Said it is possible to recognize EGG/unknown sprite ID with extra code at the sprite getting locations
Could you show me how to do that?
It will help me a lots...

Others like basestats or front pics work fine...(which just left that bag egg pokedex)


And to generate different Unknowns, why don't just make some script to do wildbattle with different unknowns' index id...
I tried it, and it works fine, but you need to repoint the moveset and basestats for them ,so it will be counted as different 28 unknowns
and check the caught flags of them would be possible to achieve DPP storyline...
 
Last edited:

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
I just expanded the pokedex of Chinese language Fire Red to 493, all pointers of that translation are just same as US version.
After solving the saveblock problem, I found that the entries of the 412-493 which burmy start becoming bad egg (course I do have all of pokedex entries), it looks like mess up with the egg sprite and unknown...

Said it is possible to recognize EGG/unknown sprite ID with extra code at the sprite getting locations
Could you show me how to do that?
It will help me a lots...

Others like basestats or front pics work fine...(which just left that bag egg pokedex)


And to generate different Unknowns, why don't just make some script to do wildbattle with different unknowns' index id...
I tried it, and it works fine, but you need to repoint the moveset and basestats for them ,so it will be counted as different 28 unknowns
and check the caught flags of them would be possible to achieve DPP storyline...

Well the 'dex slots for 413-65535 were not supported in Gamefreak's original coding. Instead it uses 412 as the last # possible (changeable, don't know how)
So there's a limit(s) on 412 which we must find to achieve victory. The 649 patch did, but I can't figure out just HOW. And Jambo51 quit hacking a while ago, so he's not helping us.
 

Mr.Mako

Resident Edgelord Troll
162
Posts
9
Years
  • Age 27
  • Seen Aug 10, 2023
Darn I was hoping this would be finished because that would've been a dream come true for the hack I'm working on since it wouldn't be hard to extend it to include X/Y pokemon, but alas all is for naught since the only public release is no longer available. Here's to hoping that someone will either figure it out or recreate it.
 
252
Posts
10
Years
  • Age 27
  • Seen Jul 6, 2019
Darn I was hoping this would be finished because that would've been a dream come true for the hack I'm working on since it wouldn't be hard to extend it to include X/Y pokemon, but alas all is for naught since the only public release is no longer available. Here's to hoping that someone will either figure it out or recreate it.
Dude you do realize expanding Pokemon is a thing now right? Doesn't and Gogo were able to find a way to expand the Pokedex, and Karatekid coded it into his Gen III Hacking Suite. Just use that tool, and expand the # of Pokemon. Done.
 
Last edited:

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
Dude you do realize expanding Pokemon is a thing now right? Doesn't was able to find a way to expand the Pokedex, and Karatekid coded it into his Gen III Hacking Suite. Just use that tool, and expand the # of Pokemon. Done.

Yeah man we got this figured out not too long ago :D
But you should still know the technical part behind it
 

Mr.Mako

Resident Edgelord Troll
162
Posts
9
Years
  • Age 27
  • Seen Aug 10, 2023
I apologize for seeming like an idiot, but I'm new to Pokemon hacking so I didn't know.
 
457
Posts
10
Years
  • Age 28
  • Seen Mar 17, 2024
So, I have expanded the Kanto Pokedex into 256 entires. Do I still need to fix and change the flags for it?
 

TheRabbit

Banned
69
Posts
9
Years
  • Age 32
  • Seen Jan 1, 2015
I saw someone ask this on an earlier page but he didn't really get a clear answer.

Is there anyone who could shed some light on how I would make it so the game designer who gives the diploma recognizes 251 as a completed national dex instead of 386. It's the final thing I need to do for my hack. Anyone?
 

anonyboy

Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
286
Posts
10
Years
I saw someone ask this on an earlier page but he didn't really get a clear answer.

Is there anyone who could shed some light on how I would make it so the game designer who gives the diploma recognizes 251 as a completed national dex instead of 386. It's the final thing I need to do for my hack. Anyone?

there is a tut for it in pho, search in there ...
 

jAvAcOlA

Banned
152
Posts
15
Years
  • Seen Feb 22, 2015
I'm looking to do two things with my pokedex:
1) Effectively move Deoxys down to 252, so that it'll appear directly after Celebi.
2) Change its number so that instead of 252, it has question marks.

How can I do this and what tools would I need? Thanks.
 

Lunos

Random Uruguayan User
3,108
Posts
15
Years
Dude you do realize expanding Pokemon is a thing now right? Doesn't and Gogo were able to find a way to expand the Pokedex, and Karatekid coded it into his Gen III Hacking Suite. Just use that tool, and expand the # of Pokemon. Done.

I would love to take this route, but G3HS crashes whenever I click on the "Expand Pokemon" button :/
Is there some fix for it? :/
 

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
I would love to take this route, but G3HS crashes whenever I click on the "Expand Pokemon" button :/
Is there some fix for it? :/

Why are people still using buggy, unfinished, alpha tools?
 
Back
Top