• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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.

Expanding the Pokédex into Emerald

Status
Not open for further replies.
Hey guys can you help me?? I've got a problem in Step 2.. I really don't understand at all! also when i test the game, after the copyrights, it becomes black screen..

Can you explain this more detailed to me??

Once you've decided, figure out how many bits it will take to encode the number of dex entries- the answer is (number of dex entries)/8, rounded up. Using this, pick two locations in the RAM freed by JPAN/diegoisawesome's hack to be where Seen and Caught flags will go. Note that later steps will be easier if you put them next to each other.

In all honesty the only area I'm 100% sure of is safe to use for the new dex flags is 0203D800. So we are going to use that area.

Make these byte changes:
C06EC: point to new SEEN flags
C06AC: 00 00
C06AE: 00 00
This makes the game read using the new SEEN flags.

C0744: point to new CAUGHT flags
C06FE: 00 00
C0700: 00 00
C0702: 00 00
C0710: 15 E0
This makes the game read using the new CAUGHT flags.

C0720: 0D E0
This makes both of the above bypass redundant SEEN flags.

C07C8: point to new SEEN flags
C079E: 00 00
C07A0: 00 00
C07AC: 1C E0
This makes the game write to the new SEEN flags.

C07F0: point to new CAUGHT flags
C07DA: 00 00
C07DC: 00 00
This makes the game write to the new CAUGHT flags.

We also need to make the game clear these flags properly when the player selects New Game at the main menu. We can do this with the following edits:

Put a pointer to whichever set of flags comes first at x843BC.
Put 20 1C 00 00 at x8439A.
Put XX 22 at x843A0, where XX is the number of bytes taken by your dex flags.
Put 20 1C at x843A6.
Put YY 30 at x843A8, 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 x843AC, where XX is the number of bytes taken by your dex flags.
 
Hey guys can you help me?? I've got a problem in Step 2.. I really don't understand at all! also when i test the game, after the copyrights, it becomes black screen..

Can you explain this more detailed to me??

*snipped

Chaos has given the RAM is at 0203D800 right? You need to do is to type 00 D8 03 02 in the offset which is to point to new seen flags. For the divided by eight thingy... Example: you want to have 721 pokedex entries, you should do is to divide it by eight. If it isn't divisible by eight, you might want to find the number forwardly next to it which is divisible by eight... example: 728. Divide it by eight, you get 91 (dec) and convert it to hex which the results to 5B (hex). Then add +1... that makes 5C. Whichever results, add it by 3D800 so that makes 3D85C. Next to do is to type 5C D8 03 02 in the offset which is to point to new caught flags. Then you use that digit (ex: 5C) for XX and YY. Got it? I'm sure you get it.

----

Found a minor bug but it doesn't give threat a lot: After I caught a Pokemon which are from the expanded slots, it holds the ???????? (eight question mark) item. How to fix this?
 
Last edited:
Frist things frist, sorry for my english and thank you very much for this tutorial n.n

Okay, I followed the steps of the tutorial and now I've a lot of new slots... Everything is okay except for... the Trainer battle and the Wild battle!

What's the problem? Well, the sprites of Pokémon are shown perfectly in the stats, in the evo, in the dex, in the contest... But when I put a over-440 pokémon in a trainer battle or I set it in a route, the game doesn't load the sprite, it loads the missigno ((?)) instead with the pallete of the sprite that should appear. In a wild battle, if I catch the pokémon, when the game asks me to put a name, the sprite loads perfectly, so I don't understand what's happening, maybe some limiter in trainer battles/wild battles? I dont know...

Someone help me >.<

Greetings!
 
Guys! One error needs to be fix: when you are going to talk and fight with a swimmer (or anyone with the 8 as encounter music), it doesn't play. It is really involved with the expansion. After the steps, just go to 0xB1C30 and type 81 01 00 00.
 
Finally, the limiter. In your hex editor, go to 0x34BFE and overwrite it with 07 E0. That's it!


Hmm... i have done the expansion with the animations expanded too before you posted that... but then I didn't know that limiter. What does the game appear if the limiter is unchanged? :/
 
Okay, after testing this with an expanded number of Pokemon Emerald ROM, with 8 evolutions per mon, and a regular Emerald ROM with just the number of evolutions changed, I can confirm that new evolution methods will NOT work if you expand the amount of Pokemon in the game. Has anyone looked into fixing this yet, or no?
 
Okay, after testing this with an expanded number of Pokemon Emerald ROM, with 8 evolutions per mon, and a regular Emerald ROM with just the number of evolutions changed, I can confirm that new evolution methods will NOT work if you expand the amount of Pokemon in the game. Has anyone looked into fixing this yet, or no?

Do you mean the custom evolutions from HERE? Cause if so you just have to change the pointer to where it trys to load the pokemon evolutions. So this pokemondata: .word 0x08(pointer to new pokemon location).
 
I think it should be always 440 or 0x1B8 while doing the expansion of pokedex. Let us all consider this since that is the overall total of slots in game. This shares too with non-Emerald pokedex expansion.
 
i encountered a glitch when encountering expanded pokemon in the wild where their names only come up as ????????, i dunno why this is, i've checked all my pointers and they all seem to be correct
 
i encountered a glitch when encountering expanded pokemon in the wild where their names only come up as ????????, i dunno why this is, i've checked all my pointers and they all seem to be correct

Have you done this:

Place 00 00 00 00 00 00 (that's six 00s) at x6B944.
This will cause the repointed name table to actually get used.

If not, well, I'm stumped.
 
sorry for the double post but i found something that i thought i'd share.

in order to stop wild pokemon holding the ???????? item you need to put a pointer to the 13th byte of the repointed base stat table at 0x6EB7C and a pointer to the 15th byte of the repointed base stat table at 0x6EBA0 & 0x6EB28

in not 100% sure if this works fully but since those pointers all point to the old base stats i assume they'd need to change regardless
 
Just to let everyone know, I will be doing a video tutorial of this whole process, just to make it more clear and that way people can see how the process is done through a visual way rather than reading and being completely confused.
 
Just to let everyone know, I will be doing a video tutorial of this whole process, just to make it more clear and that way people can see how the process is done through a visual way rather than reading and being completely confused.

That's awesome! I'll be sure to check it out! And, please inform me if its up! Thanks!
 
There appears to be some sort of glitch that causes Pokémon that are #495 and above to have any movements in in their animation to only be executed after the frame changing and color fading parts of their animation are complete. Can someone please look into this and help fix it?
[PokeCommunity.com] Expanding the Pokédex into Emerald

Hmm.... my Hydreigon slot moves fine (I can't screenshot you one 'cause I'm using my phone now). I think you should set animation indexes and animation pointers on expanded mons too (which I can't explain it dude but you might actually get what am I talking about).
 
Last edited:
Well, here's a video tutorial of this whole tutorial, with minor things added, like some glitch fixes that are not listed in the first post.

 
I have changed the animation index to 00 and the animation timing pointer to 40 98 30 08, the same timing that Swalot uses. Pokémon in slots below #495 work perfectly fine in my repointed table with the changed index and animation timing pointers, so I have no idea what is the issue with Pokémon above #495.
 
regarding the animations, there seems to be a table at 0x329B87, this seems to control how much time passes before it plays the pokemon animation on the summary screen.

Also it switches between the frames too many times on the summary screen for the expanded mon, i've tried finding out why, but i haven't been able to come up with anything
 
Status
Not open for further replies.
Back
Top