|This article is incomplete. Please feel free to add any missing information about the subject. It is missing: Index number.|
Custom tilesets can be created in Pokémon Red, Blue, and Yellow using arbitrary code execution.
In Generation IChanging the following addresses (may be applied after flashing the Trainer Card and/or walking around) will change the current tileset data values to what the player desires. These can point to RAM, allowing the player to create custom tilesets.
wTilesetBank:: ; d52b ds 1
wTilesetBlocksPtr:: ; d52c ; maps blocks (4x4 tiles) to tiles ds 2
wTilesetGfxPtr:: ; d52e ds 2
wTilesetCollisionPtr:: ; d530 ; list of all walkable tiles ds 2
wTilesetTalkingOverTiles:: ; d532 ds 3
The tileset blocks pointer points in little endian to a table of the sub-tiles used in a (4x4 sub-tile) tileset block. For each indexed block, there are 16 values that map the tiles in the block from top-to-bottom, left-to-right.
The tileset graphics pointer points in little endian to a table mapping the graphics for each sub-tile in order (00, 01 (...) etc.) Each entry is 16 bytes, pixels. The desired graphic and is 8x8 pixels and is encoded as if it appeared in ordinary format in VRAM. The player can either make their own graphics or copy them from another Game Boy game.
Indexed glitch tilesetsAlternatively, instead of modifying the tileset pointers directly, the player can force an indexed glitch tileset. An example of a arbitrary glitch tileset is 0x18 (Red/Blue) or (0x19), which has a graphics pointer at 0xC8A7 (within or near wOverworldMap) in RAM.
However, this method is restricted (as there seem to be a small number of possible tilesets accessible from the table before the attributes wrap around) and there are not many glitch tilesets with graphics pointers in RAM.
The following Game Genie codes will modify a tileset's index number.
|This article or section is a stub. You can help wiki by [ expanding it].|