Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Emulation & ROM Hacking

JumpTable patch idea/dumping ACE pointers with no emulator with Game Genie? - Page 1

JumpTable patch idea/dumping ACE pointers with no emulator with Game Genie?

Posted by: Torchickens
Date: 2020-02-25 17:22:20

There isn't a mistake, for whatever reason, that section of ROM actually has a JP D6D2 right in that spot (like, no other unintended code executed, just jp D6D2).

Also, just to note, if you're using breakpoints, you could just do a breakpoint at 0032, since the game uses rst JumpTable for item execution (although you could just go to where it has a list of the execution pointers… which will be in little endian and the unusable items have execution pointers too (they're just unusable) so you have to make sure to skip those).

EDIT: Also, 21CB is big endian, CB21 is little endian. It doesn't point to RAM, it points to ROM (which then jumps to RAM).



I'm wondering if the JumpTable (s) in Generations I/II could be patched with Game Genie to not run code but dump it in RAM; for instance, whenever you use an arbitrary code execution, it instead replacing your items with the effect pointer, so that 8F prints D1 63 as TM09 x99 or similar.

Re: JumpTable patch idea/dumping ACE pointers with no emulator with Game Genie?

Posted by: CasualPokePlayer
Date: 2020-02-28 21:06:12
Not exactly a good idea, since rst JumpTable is also used by other functions (including several overworld functions, and another function before right before that for jumping to the get item effect function).

Although, you could just make it so it prints out the effect pointer based on the starting point of those pointers (in English and Korean Gold, they both start the pointer list at 3:67C0, Gen 1 and other localizations probably have it somewhere else, wouldn't be too hard to hunt them down with bgb breakpoints). Also note, the pointer list is in little endian so keep that in mind when making such ACE.

Re: JumpTable patch idea/dumping ACE pointers with no emulator with Game Genie?

Posted by: Torchickens
Date: 2020-02-29 13:05:39

Not exactly a good idea, since rst JumpTable is also used by other functions (including several overworld functions, and another function before right before that for jumping to the get item effect function).

Although, you could just make it so it prints out the effect pointer based on the starting point of those pointers (in English and Korean Gold, they both start the pointer list at 3:67C0, Gen 1 and other localizations probably have it somewhere else, wouldn't be too hard to hunt them down with bgb breakpoints). Also note, the pointer list is in little endian so keep that in mind when making such ACE.


Thanks CasualPokePlayer :)