• 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

218
Posts
10
Years
    • Seen Nov 12, 2021
    Does this work with Leafgreen since it does with firered?

    Please stop posting in every thread to ask if it works with leafgreen. Most of the time the answer is no, if you have a problem with your Fire Red rom then it means it's not clean or it's not the 1.0 version. Most (if it's not all) of the time the features added for fire red won't work with leafgreen because the offset are slightly different
     
    457
    Posts
    10
    Years
    • Seen Apr 9, 2024
    Just after the first like 5 byte changes, when he says to test, my Pokedex does start up. The only thing is that it shows every Pokemon as being caught already. I'm near positive I made all of the byte changes right. I chose 0x720000 and 0x721000 as my CAUGHT and SEEN offsets. I tried putting them in with and without +1 with no change in the result. Yes, I flipped them to '00 00 72' and '00 10 72'.

    Thanks with any help ahead of time.

    Whoa! Are those RAM parts? I'm sure that part should be using RAM offsets not ROM offsets.
     
    349
    Posts
    14
    Years
    • Seen Dec 17, 2018
    Please stop posting in every thread to ask if it works with leafgreen. Most of the time the answer is no, if you have a problem with your Fire Red rom then it means it's not clean or it's not the 1.0 version. Most (if it's not all) of the time the features added for fire red won't work with leafgreen because the offset are slightly different

    I can go around asking if something works for one but not the other if i want, i want to know as much as i can and weigh my options although i thank you for your response because you may have helped with the firered. I will continue to ask what questions i would to be answered.


    Nor is it Every thread. ._. i hardly post at all.
     
    218
    Posts
    10
    Years
    • Seen Nov 12, 2021
    I can go around asking if something works for one but not the other if i want, i want to know as much as i can and weigh my options although i thank you for your response because you may have helped with the firered. I will continue to ask what questions i would to be answered.


    Nor is it Every thread. ._. i hardly post at all.

    Of course you can, I didn't meant to prevent you to do anything you want, I said "please stop" because my answer, as I said, was available for every future question concerning the compatibility.

    Also before asking, use your "search" function, it'll bring you a ton of answers

    Now enjoy the different hacks :)
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    Okay sorry to bring this back but I need help I understand everything in this tutorial except

    Using this, pick two locations in the RAM freed by JPAN'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.

    Where do I find two free ram locations by the Joan save block hack isnit any two free space offsets with fsf and also I don't understand how to do this as well


    Change x104B10 to point to new SEEN flags.

    Same with the caught flags if anyone can help that would be great
     

    Epsilon

    Shiny Scizor
    249
    Posts
    17
    Years
  • I expanded the number of pokémon, and they work, complete with their dex entries. However, when I catch a new pokémon for the first time, this glitched screen shows up and sometimes crashes the game in VBA and always in No$GBA. Anyone familiar with this problem? Also, they only seem to show up in the National Dex list, not in the habitats, or weight categories, although these have been programmed.

    LSCTCmv.png
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    Okay epsilion I need your help I understand how to do everything except for
    pick two locations in the RAM freed by JPAN'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

    Is it like two new free space offsets?

    And also how do I make these happen because I'm also confused here
    Change x104B10 to point to new SEEN flags
    Change x104B5C to point to new CAUGHT flags

    Put a pointer to whichever set of flags comes first at x549D0.
    Put 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
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    I need help I understand everything in this tutorial except

    Using this, pick two locations in the RAM freed by JPAN'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.

    Where do I find two free ram locations by the Joan save block hack isnit any two free space offsets with fsf and also I don't understand how to do this as well


    Change x104B10 to point to new SEEN flags.

    Same with the caught flags if anyone can help that would be great
     

    DoesntKnowHowToPlay

    Tiny Umbrella with Lots and Lots of Good
    265
    Posts
    12
    Years
    • Seen Feb 24, 2024
    Updated to fix breeding, without this expanded evolved mons hatch as their current stage (e.g.: Lilligants produce eggs containing more Lilligant instead of Petilil)

    To fix breeding, write the ID of your last slot with meaningful evolution data at x459EC (pick an odd number; it's okay to go higher as long as it's not past the number of mons you actually have)
    Then, write half of one less than that at x459CC.
    If that requires more than one byte, write a quarter of one less than that instead, and change the x40 at x459CE to an x80.
    If you are also expanding the number of evolutions, change the x28s at x4598A and x4598E to the new size of the evolution struct.
     

    Gamer2020

    Accept no Imitations!
    1,062
    Posts
    15
    Years
  • At x1025ec, you'll find a byte. This byte times eight is the amount of memory allocated for the pokedex.
    If you have less than 510 mons, replace the byte with 1/2 your dex length.
    If you have less than 1020 mons, set it to 1/4 your dex length and put 40 01 at x1025EE.
    If you have more than 1020 mons, you have issues.

    If for some reason someone wanted more than 1020 for this, the following would work.

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    .global PokedexLimitFR
    /*at 081025E8, place 00480047XXXXXXXX where XXXXXXXX is the location of this routine. */
    main:
    
    ldr     r0,[r5]
    strb    r4,[r0]   
    ldr  r0, .Limit
    nop
    ldr     r1, .Return_Offset
    bx      r1
    
    .align 2
    .Return_Offset:
        .word 0x081025F1
    .Limit:
        .word 0x00000C10
    Quick and dirty but it gets the job done.
     
    Last edited:

    DoesntKnowHowToPlay

    Tiny Umbrella with Lots and Lots of Good
    265
    Posts
    12
    Years
    • Seen Feb 24, 2024
    Pretty sure you can also just bit-shift by one more, I just stopped grabbing opcodes at 1020 because I'm a lazy tutorial writer and going past 999 dex entries demands extra accommodations in various parts of the interface anyway. Edited that bit in the OP to clarify and be less rude.
     

    Gamer2020

    Accept no Imitations!
    1,062
    Posts
    15
    Years
  • Pretty sure you can also just bit-shift by one more, I just stopped grabbing opcodes at 1020 because I'm a lazy tutorial writer and going past 999 dex entries demands extra accommodations in various parts of the interface anyway. Edited that bit in the OP to clarify and be less rude.
    Yeah I know. I just wanted an easy way for PGE to just add in the value without needing to worry about shifting.
     

    Gamer2020

    Accept no Imitations!
    1,062
    Posts
    15
    Years
  • If you decide to delete the old data while repointing you may notice that the intro may break because it is pointing to the old image pointer locations. Simply repoint the following pointers to the pointers for whatever Pokemon image you want to use in the intro.

    130FA0 [Pointer to sprite pointer] [Pointer to pal pointer]

    Also I seem to have 130F4C marked in my notes but I never labeled it. I think this is maybe the cry that is played in the intro???
     

    thedarkdragon11

    New World Pirate
    530
    Posts
    14
    Years
  • If for some reason someone wanted more than 1020 for this, the following would work.

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    .global PokedexLimitFR
    /*at 081025E8, place 00480047XXXXXXXX where XXXXXXXX is the location of this routine. */
    main:
    
    ldr     r0,[r5]
    strb    r4,[r0]   
    ldr  r0, .Limit
    nop
    ldr     r1, .Return_Offset
    bx      r1
    
    .align 2
    .Return_Offset:
        .word 0x081025F1
    .Limit:
        .word 0x00000C10
    Quick and dirty but it gets the job done.

    This has no bugs right? Say for instance, someone wants to expand up to 2039 slots? Estimation for up to Gen. 9 including every form/es...
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    How exactly does that routine work and does it have any bugs that is associated with it because this is very interesting and I'm not surprised if there is a drawback to this
     
    23
    Posts
    9
    Years
    • Seen May 14, 2022
    Good afternoon, I have asta 1089 slots, how can i do to be displayed on the pokedex ? Since it can only be asta 999
     

    Gamer2020

    Accept no Imitations!
    1,062
    Posts
    15
    Years
  • This has no bugs right? Say for instance, someone wants to expand up to 2039 slots? Estimation for up to Gen. 9 including every form/es...

    How exactly does that routine work and does it have any bugs that is associated with it because this is very interesting and I'm not surprised if there is a drawback to this

    Good afternoon, I have asta 1089 slots, how can i do to be displayed on the pokedex ? Since it can only be asta 999

    This does nothing different than what is already stated in the tutorial. It is simply a lazier way to change the value. As DoesntKnowHowToPlay already stated, it is not possible to have more than 999 without other modifications.
     
    Back
    Top