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

[FR] Expanding the Pokedex

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
In this thread, I will explain how to expand the pokedex. You will need the following:

-A GBA emulator (or flashcart if you're crazy)
-An FR 1.0 English ROM
-JPAN's save block hack
-A hex editor
-A solid understanding of hacking concepts. I won't be teaching you how to use a hex editor, or how to repoint things. If you're qualified to do this, odds are all you really need is the offsets, which is pretty much all this post is.


Step 1: Get free RAM for the dex flags
Spoiler:


Step 2: Repoint goddamn everything
Spoiler:


Step 3: Dealing with dex entries
Spoiler:


Step 4: Misc. repointing
Spoiler:
 
Last edited:

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
Tested and works on another ROM, great. Thanks for the help Doesnt, really :D
Just that cries above 512 refuse to load up. It's a limit by the pointer to the cry conversion table.
 

Shadowraze

ur mum
794
Posts
11
Years
Just putting this out there, I am going to add this entire thing to my hacking suite. I was planning to release this month, but with this new development, I may need to push back the release date. I hope nobody minds.:D

I don't mind at all. <:o

Well it's great to see awesome developments in hacking while I was gone. Would definitely try this out later to see if it works.
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Apr 2, 2024
God dammit Doesn't! Now I have to restart my hack..again, now that this tutorial has been made!

But seriously, great stuff right here. Great contributions to the hacking community.
I expect hacks with expanded dexs in a few months....
 

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
God dammit Doesn't! Now I have to restart my hack..again, now that this tutorial has been made!

But seriously, great stuff right here. Great contributions to the hacking community.
I expect hacks with expanded dexs in a few months....

No need to restart at all. Just follow this with enough free space and you're good
 

kearnseyboy6

Aussie's Toughest Mudder
300
Posts
15
Years
  • Seen Jun 22, 2019
I'm having real trouble understanding this step:
Spoiler:


0x4CA is 1226 or 613 bytes. Isn't there only 412 dex entries? I have simply added to the repointed table from entry no.387 (83 01) and gone up accordingly (84 01 85 01 86 01 87 01 88 01 etc..) Is this correct?
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Apr 2, 2024
Okay, I'm actually not sure about this so..

So, I followed the tut up to the repointing of Names,Data and Movesets.
As I was testing, I discovered that after I had caught and seen some Pokemon, then started a new game and got the Pokedex again, the data from the last save still existed. The Save-block didn't reset after starting a new game. So the only solution I can see is to delete the actual .sav file, or JPAN's hack has to be altered. Or, the solution is actually in a later part of the tutorial.
 

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
Aaaah. My FireRed version.. I need to restart all over again D: Good work anyways.

Ya don't need to start over guys. Why would you? K did this half through my hack and it's done fine now.

I'm having real trouble understanding this step:
Spoiler:


0x4CA is 1226 or 613 bytes. Isn't there only 412 dex entries? I have simply added to the repointed table from entry no.387 (83 01) and gone up accordingly (84 01 85 01 86 01 87 01 88 01 etc..) Is this correct?

You have to go up after 440. Up to 440 is already used in the game, so adding will occupy slots 441 and up.

Okay, I'm actually not sure about this so..

So, I followed the tut up to the repointing of Names,Data and Movesets.
As I was testing, I discovered that after I had caught and seen some Pokemon, then started a new game and got the Pokedex again, the data from the last save still existed. The Save-block didn't reset after starting a new game. So the only solution I can see is to delete the actual .sav file, or JPAN's hack has to be altered. Or, the solution is actually in a later part of the tutorial.

Either delete the. Sav or your ram areas are not right.
 
Last edited:

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
I'm having real trouble understanding this step:
Spoiler:


0x4CA is 1226 or 613 bytes. Isn't there only 412 dex entries? I have simply added to the repointed table from entry no.387 (83 01) and gone up accordingly (84 01 85 01 86 01 87 01 88 01 etc..) Is this correct?

I messed up- it's x336 bytes. Thanks. Whatever you're grabbing should end with 82 01 66 01, the dex numbers of Deoxys and Chimecho.

That said, when you put it in the ROM you should take care to leave the next 28 entries blank unless you want to deal with the Egg and secondary Unown slots.


As I was testing, I discovered that after I had caught and seen some Pokemon, then started a new game and got the Pokedex again, the data from the last save still existed. The Save-block didn't reset after starting a new game. So the only solution I can see is to delete the actual .sav file, or JPAN's hack has to be altered. Or, the solution is actually in a later part of the tutorial.
I'll look into this. It's happening on my cart too, probably because the game loads the save at the main menu so it can display your pokedex total but doesn't clear that area when you select New Game because...well why would it clear the LR menu's buffer?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I messed up- it's x336 bytes. Thanks. Whatever you're grabbing should end with 82 01 66 01, the dex numbers of Deoxys and Chimecho.

That said, when you put it in the ROM you should take care to leave the next 28 entries blank unless you want to deal with the Egg and secondary Unown slots.


I'll look into this. It's happening on my cart too, probably because the game loads the save at the main menu so it can display your pokedex total but doesn't clear that area when you select New Game because...well why would it clear the LR menu's buffer?
I'm fairly certain that in the function that clears the ram, there is an offset & number of 00s to fill with. If we could add just one more offset and number, it would work.
 

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
So it turns out the dex actually doesn't get wiped until after Oak finishes his rant at the start of the game. There's a few solutions to this problem- the laziest one would be to just make a level script in the first room that uses writebytetooffset to clear out the dex flags, but we can also just repurpose existing code instead by doing the following:

(note that this requires your Seen and Caught flags to be within xFF bytes of each other)

Put a pointer to whichever set of flags comes first at x549D0.
Put 02 1C 20 1C 00 00 at x549b0.
Put XX 22 at x549b6, where XX is the number of bytes taken by your dex flags.
Put 20 1C at x549bc.
Put YY 30 at x549be, where YY is the number of bytes between the sets of flags. YY is probably the same as XX, but it doesn't have to be.
Put XX 22 at x549c2, where XX is the number of bytes taken by your dex flags.
 
Last edited:

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Apr 2, 2024
Okay, more stuff coming from me.

So, I did the changes that would reset the save block, but when I edited the bytes, lots of...strange things started happening.
When I press "Start", my player's name is invisible, whenever I talk to anything, I get a bunch of blank text and gibberish, when I initiate the Oak script, the text blanks out halfway through the text and I get more gibberish.
And I know that this is the changes, because if I reset those changes to the hex, everything goes back to normal.

Just in case anyone can figure out what is wrong with my save block, here's some basic info:
SEEN FLAG: 0203C000, CAUGHT FLAG: 0203C04B
XX: either 4B or 96
YY: either 4B or 96 > (your wording was a tiny bit confusing to understand so I'm not sure which one it is)
 

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
I typo'd the value at x549B0- it's supposed to be 20 1C, not 02 1C. Testing seems to indicate it's what's causing your problems. Sorry about that.
 

Kawaii Shoujo Duskull

The Cutest Duskull
276
Posts
10
Years
  • Age 27
  • Seen Sep 10, 2023
This is amazing. Nice tutorial! ^^
If I ever start on my own hack, I'll definitely try this out. :D
 
Back
Top