Custom tilesets

From Glitch City Wiki
Jump to navigation Jump to search
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: More detailed explanation wanted and mention of potentially related Super Glitch Cities caused by Pikachu off-screen glitch and certain glitch maps. A more efficient way of applying the tileset immediately wanted (instead of flashing the Trainer card and/or walking around).

Custom tilesets can be created in Pokémon Red, Blue, and Yellow using arbitrary code execution.

In Generation I

Changing 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 tilesets

Alternatively, 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 glitch Rocket HQ maps (0xCC-0xCE) (Yellow) can be accessed without freezing using a wrong warp (from item 36's quantity in the expanded item pack without any modifications, and use tileset 0x1B.

The following Game Genie codes will modify a tileset's index number.

Red/Blue:

670-BFE-2AF

XX0-BDE-195

Yellow:

66d-e8f-2ab

XXd-e6f-195
This article or section is a stub. You can help Glitch City Wiki by expanding it.