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.

Pokémon Glitch Discussion

Pointer extrapolation/data dump directory for 'glitch things' - Page 1

Pointer extrapolation/data dump directory for 'glitch things'

Posted by: Torchickens
Date: 2020-06-21 11:03:57
This thread will link to resources which reveal the pointers for things like 'out of bounds' item effects, move effects, and so on. The pointer tables are sorted by index number and pointer, so we can research them precisely and find arbitrary code executions.

(For now this thread is really short but I'm working on filling it up. Feel free to add any lists and would really appreciate ^^)

Using the SYM files (entrpntr's https://github.com/entrpntr/symfiles and my outdated ones https://sites.google.com/site/torchickens2/sym-files ) and the disassembly projects as a guide I'd like to cover as many 'glitch things' where the game does things like 'jp hl' or another means of accessing the pointer as possible.

For now, I'll only post pointers and past Pastebin dumps etc., but later I might post dumps of the actual code of the items and so on. Additionally in this thread, I'll post dumps of the Generation I (and later maybe other generations) base data structures for Pokédex No. 000-255. This should help with the unused glitch Pokémon families you need Game Genie/patching for, and any missing data for the other glitch Pokémon currently omitted on the wiki.

[size=14pt]Generation I:[/size]

EN Red/Blue:

Pokédex base structure: Begins at $383DE in both EN Red and Yellow. 0x0383DE + (PkmnNo. 1) 0x1C will lead you to the offset for data for Pokémon (and glitch Pokémon) with the specified Pokédex number. The structure is documented at https://hax.iimarckus.org/files/missingno_explained.html and Bulbapedia http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_base_stats_data_structure_in_Generation_I

(Dump of $100x$1C bytes: https://pastebin.com/yj0xLZFn (dumped by me))

Level up data and evolution data: Taken from the pointer table described with the data structure in this post https://forums.glitchcity.info/index.php?topic=5217.0 (to-do: add dump)

Item effect pointers: https://pastebin.com/KNBmC60Z (dumped by luckytyphlosion)
Type name pointers: https://pastebin.com/dYE9ZFNX (dumped by me)

Cry data by Pokémon index number (not Dex order): 0x39446 https://hax.iimarckus.org/topic/581/ (to-do: dump)

Menu sprite icon used (Pokédex order): $7190D one nybble per entry (source: https://hax.iimarckus.org/topic/637/ ) (to-do: dump)

Palette used for Pokémon on SGB: 0x725c8 (Pokédex order): Source: https://hax.iimarckus.org/topic/109/

Box SRAM pointers: (Add)

Encounter data by map pointers: (Add)

EN Yellow:

Pokédex base structure: Works like in EN Red.

(Dump of $100x$1C bytes: https://pastebin.com/KRUTtecC (dumped by me))

Level up data and evolution data: Taken from the pointer table described with the data structure in this post https://forums.glitchcity.info/index.php?topic=5217.0 (to-do: add dump)

Item effect pointers: https://pastebin.com/4Z9ygjcQ (dumped by luckytyphlosion)
Type name pointers: https://pastebin.com/dYE9ZFNX (dumped by me)

Cry data by Pokémon index number (not Dex order): 0x39462 https://hax.iimarckus.org/topic/581/ (to-do: dump)

Box SRAM pointers: (Add)

Encounter data by map pointers: (Add)

Palette used for Pokémon on SGB or GBC: (Add)

[size=14pt]Generation II:[/size]

EN Gold:

(;These need documentation of the data structure)
Phone contact scripts: https://pastebin.com/cTPhrUpj (dumped by me)

EN Crystal:

Pokédex sorting script pointers: https://pastebin.com/rJc54xsG (dumped by luckytyphlosion)

Phone contact script pointers: https://pastebin.com/amJbgb72 (dumped by me)

JP Crystal:

Wrong pocket TM/HM pointers: https://pastebin.com/vMa147xv (dumped by me)

[size=14pt]Generation III:[/size]

(Empty for now)

[size=14pt]Generation IV+:[/size]

(Also empty)

I don't know the Nintendo DS architecture enough to know how these work (if glitch things are generally from extrapolations like Generations I, II, [III?]).