Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of an article from Glitch City Laboratories wiki.

A live version of this article is available at the Glitch City Wiki here.

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

You may also download the archive of the wiki in .tar.gz or .xml.gz formats.

Arbitrary Pokédex data

Arbitrary Pokédex data is data for a glitch Pokémon's Pokédex data that is not sourced from the ROM and is therefore inconsistent.

Most arbitrary Pokédex data in Pokémon Red, Blue, and Yellow is taken from VRAM but there are a few glitch Pokémon that take their Pokédex data from other non-ROM areas of the address bus, such as VRAM, RAM or Echo RAM.

These include the following glitch Pokémon in Pokémon Red and Blue:

  • 4h (hex
    D6)
    (B417)
  • 4h (hex
    D6)
    (AA00)
  • 4h (hex
    D6)
    (CB17)
  • 4h (hex
    D6)
    (C203)

    In Japanese Yellow:
  • ギ▶アゴ (C2) (DEC5)

    In Yellow:

  • 4h (hex
    D6)
    (A207 but may freeze game)
  • 4h (hex
    D6)
    (BE00)
  • 4h (hex
    D6)
    (D007)
  • 4h (hex
    D6)
    (C808)
  • 4h (hex
    D6)
    (F403)

    Structure

    A Pokémon (or glitch Pokémon)'s Pokédex entry is structured in the following format:

  • (Species string terminated by 0x50 byte).
  • Four bytes affecting height and weight.
  • Text code.
  • 0x50

    ₽ (hex:F9)'s arbitrary Pokédex

    4h (hex
    D6)
    in Yellow has a relatively manipulable arbitrary Pokédex. In order to see it, one must catch ₽ (hex:F9) from a battle or 'out of battle capture' via LOL glitch or Rival LOL glitch and have not seen Cubone.

    The location of F403 (though normally part of wWarpEntries::) can also be manipulated by modifying item 116 in the expanded items pack. Hence one can place items that represent a 0x50 byte there followed by a custom height and weight code and arbitrary code execution can be achieved by having the first text code byte as 08 followed by ASM instructions that the player desires.

    As items 129 through to 256 represent items 1-128 again, there is potentially a size limit of 14 item and quantity pairs to store the Pokédex data, unless the ASM script is redirected elsewhere using the jp $xxyy (C3 yy xx) command or similar.

    The player must also remember that item 6's quantity would be increased by 128 if less than 128 and this could potentially mess up the code if redirected to the items pack.

    For more information for which items and quantities would be required please see the The Big HEX List.

    アム゙ (hex:C3)'s arbitrary Pokédex

    This glitch Pokémon from Pokémon Red and Green gets its Pokédex category from location B6DE in SRAM.

    [b]YouTube video by PLASMA GER[/b]

    Categories