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

[ASM & Hex] How to find a particular offset?

3
Posts
6
Years
  • Age 33
  • Seen Jun 22, 2020
Hey, just wondering how one would go about finding the offsets of specific features in an .nds ROM. What I mean is, for example, look at Pokemon MindCrystal (can't post link, sadly) and one of its features:

"Game now runs at 60 FPS!"

Apparentely MeroMero (the one who made that romhack) managed to locate the specific 2 bytes, in Pokemon HGSS, that limit the FPS of the game. Setting those two bytes to "00 00", from an original "25 63", removes the fps limit of the game, thereby greatly increasing the fps in battles (albeit having a negligible difference in cities and such). I have sent him a private message about how he discovered it, and if such a convenient hex-edit is possible to implement in other DS roms, like Pokemon DPP or BW1/2 (specifically DS because GBA roms are most often played on emulators anyway, whilst DS ones are played on flashcarts way more often).

Unfortunately, he hasn't replied, so I am posting here, to hopefully receive guidance. I'm quite new to hex editing in general, so I apologize if some (or most) of my terms are inaccurate. I know he extracted arm9.bin, and I would assume that stays the same throughout the Gen 4 games, although their offsets and specific bytes are likely different, hence my quest to figure them out. TL;DR: I just want to know how to disable the FPS limiter for other DS games besides HGSS.
 
1,591
Posts
10
Years
  • Age 30
  • Seen Mar 20, 2024
I can't help you with how MeroMero discovered that offset, but this thread includes the offsets you want to edit for DPP. Note that for Platinum you can just open the entire ROM in a hex editor, go to 0x4DF8, and make the byte changes; there's no need to extract the ARM9.bin first.

EDIT: As for BW 1 & 2, they already run at 60FPS in battles and 30FPS in the overworld, so there's no need to change them. It's unlikely that removing the overworld frame rate limit would actually help in most areas.
 
Last edited:
3
Posts
6
Years
  • Age 33
  • Seen Jun 22, 2020
Holy mother of Jesus Christ. Thanks. Also, am I not supposed to get a notification when someone replies to a thread? I've been waiting in anticipation to hopefully be able to play on my DS at an enjoyable pace after getting used to emulator, and you helped me immensely with that. Thank you so much :)

EDIT: Ah ok, I haven't actually tested battles in BW yet after playing on emulator, so I just assumed they were at 30fps like the rest. In that case, you've saved me a lot of time and effort hahaha, thanks man, much appreciated.
 
Last edited:
1,591
Posts
10
Years
  • Age 30
  • Seen Mar 20, 2024
Holy mother of Jesus Christ. Thanks. Also, am I not supposed to get a notification when someone replies to a thread? I've been waiting in anticipation to hopefully be able to play on my DS at an enjoyable pace after getting used to emulator, and you helped me immensely with that. Thank you so much :)

EDIT: Ah ok, I haven't actually tested battles in BW yet after playing on emulator, so I just assumed they were at 30fps like the rest. In that case, you've saved me a lot of time and effort hahaha, thanks man, much appreciated.

You're welcome! I don't know if there's a way to get anything other than an email notification from a reply to a thread, though you'll get a notification if someone replies to your post with a quote.
 
Back
Top