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

D/P/Pt/HG/SS: Remove the Framerate Limiter

Lunos

Random Uruguayan User
3,114
Posts
15
Years
  • Hi.
    This is a really simple tutorial on how to uncap the framerate of the NDS Pokémon Games.
    The tutorial that actually inspired me bring this here was this one, posted in the community Pokémon Trash.

    Requeriments:
    -A ROM of Pokémon D/P/Pt/HG/SS.
    -A Hex Editor. I like to use HxD.

    Notes:
    The following are the SHA-1 hashes of the ROMs that this tutorial supports.
    More than likely, the location of the specific "25 63" bytes you have to edit will change if you try to use a different ROM than these.
    Code:
    Diamond: a46233d8b79a69ea87aa295a0efad5237d02841e
    Pearl: 99083bf15ec7c6b81b4ba241ee10abd9e80999ac
    Platinum: ce81046eda7d232513069519cb2085349896dec7
    HeartGold: 4fcded0e2713dc03929845de631d0932ea2b5a37
    SoulSilver: f8dc38ea20c17541a43b58c5e6d18c1732c7e582

    You can check the SHA-1 of a ROM by booting up the Windows Command Prompt in whatever folder you have it, and typing CertUtil -hashfile name_of_your_rom.nds sha1.

    Instructions:
    1) Open your ROM in HxD.
    2) Using Ctrl+G, go to one of the following offsets depending on the game you're modifying:
    • Diamond/Pearl: 0x4DB0
    • Platinum: 0x4DF8
    • HeartGold/SoulSilver: 0x4E28
    3) HxD will leave you in an area where the bytes 25 63 are written in the ROM. Replace them with 00 00 instead.
    4) Save and test.

    Credits:
    -Buffel Saft for teaching me down below that the process is much straightforward than I first thought.
    -MeroMero for finding the specific offsets in the D/P/Pt ROMs.

    And that's it.​

    Original thread:
    Spoiler:
     
    Last edited:
    1,591
    Posts
    10
    Years
    • Seen Mar 20, 2024
    So just to clarify, the offset for Diamond and Pearl is relative to the start of the entire ROM; you don't need to extract the ARM9.bin file from DPPt to edit this, you can just go to 0x4DB0 (or 0x4DF8 for Pt) in any hex editor and make the byte changes in the OP. I can also confirm that this will work on edited Platinum and Heart Gold ROMs, and that the offset for Heart Gold is the same as the one for Soul Silver.

    Anyone using this should also be aware that a lot of areas in the Sinnoh games will have some nasty frame rate stutter (Wayward cave is a good example if you want to see what I mean) without the limiter, but battles will run at 60FPS all the time as far as I know, and the text scroll speed will also be faster most of the time.

    Credit for the DP offsets should go to MeroMero, who actually did the work to find them.
     
    Last edited:
    1
    Posts
    4
    Years
    • Seen Feb 8, 2020
    I feel like a dunce asking this, but how do you open the offset search in the video to find 25 63?
     
    2
    Posts
    3
    Years
    • Seen Dec 11, 2021
    how can i remove the frame cap on pokemon ruby so i can play pokemon light platinum in faster frames?
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • It's been a while. I decided to check this thread and give an update to the main post.
    I should have done it way back when Buffel taught me how you could just modify the ROMs directly really, but hey, better late than never.

    I feel like a dunce asking this, but how do you open the offset search in the video to find 25 63?
    The video is rather old and more convoluted than it should, but what you see in it is not HxD's Search feature, it's the Go To feature.
    You can use the shortcut which is Ctrl+G, or you can go to Search -> Go To.
    how can i remove the frame cap on pokemon ruby so i can play pokemon light platinum in faster frames?
    You can't. The GBA cannot run at a framerate that is higher than 60 FPS, which is the framerate that the Gen. 3 Games already run at.
    Also this thread is exclusively about the Gen. 4 Games. Do please stay on-topic.
     
    1
    Posts
    184
    Days
    • Seen Nov 7, 2023
    Thank you for the useful info, it's appreciated.

    I've used this method successfully on SoulSilver with little involved effort. However, when I want to use an existing save, the framerate returns to normal once getting out of the title screen. The ROM loads just fine with the framerate unlocked and the title screen is zooming along nicely, then only once I select and load my save am I placed into the game with a limited framerate. If I choose to start a new game, the framerate is unlocked as expected.

    Is there a way I can use my existing save created from a ROM with locked framerate on an edited ROM with unlocked framerate?
     
    Back
    Top