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.

Pokémon sprite corruptions (Generation I)

'''This article is a summary page for different variations of a glitches, etc. when talked about as a whole.



Pokémon sprite corruptions in Pokémon Red, Blue, and Yellow are typically caused whenever either the front or back sprite of a glitch Pokémon is viewed. There are many different types of corruption.

Hall of Fame corruption

Possibly the most infamous sprite corruption. When a problematic sprite (such as Red/Blue regular MissingNo.'s front or back sprite) is viewed after the player's induction into the Hall of Fame, it will cause the Hall of Fame data to become corrupted.

This glitch does not apply if the player's first team to become the Pokémon League Champion included a (normally problematic) glitch Pokémon, however viewing a problematic glitch Pokémon's sprite in battle after getting at least one Hall of Fame entry will still corrupt the Hall of Fame even if the player doesn't save and resets the game.

The cause of the glitch is to be blamed on a combination of factors:
  • Pokémon front and back pictures are stored in ROM compressed, and each compressed image has an header defining the horizontal and vertical sizes (in number of 8x8 tiles) of the picturepokered:home/pic.asm.
  • Glitch Pokémon are not guaranteed to have these sizes set to reasonable amounts.
  • Compressed graphics are extracted to the second or third of three sprite buffers located at the start of bank 0 of the game card's SRAM (which is therefore being used here as an expansion of the console's RAM); the Hall of Fame contents are also located in bank 0 after this temporary area (separated by a 256 byte unused area), but not the count of League wins (which is located in bank 1 along with the main save data).
  • The code responsible for decompressing the graphics is not limited in size of output, meaning that an excessively large picture will overwrite the Hall of Fame.
  • In particular, a size of 0 underflows and is assumed to mean 256 rows or columns, a size far exceeding the intended dimensions of up to 7 unitshttps://forums.glitchcity.info/index.php?topic=8921.msg215472#msg215472.

    The number of HoF entries being stored separately explains the apparent lack of consequences if the League was not already beaten: the HoF corruption is not avoided, but the next time an entry will be added, the memory reserved for the first entry will be correctly set and so will the number of entries (1), therefore averting any visible effects.

    Walking characters glitch

    The walking characters effect is a glitch in Pokémon Red, Green, Blue, and Yellow, which is caused by some glitch Pokémon.

    While this effect is active, NPCs will appear and walk in a pattern on the screen.

    Applicable glitch Pokémon

  • MissingNo. (English Yellow non-Fossil/non-Ghost variants)
  • ヅ (0xBF) (Red/Green)
  • Glitch Pokémon (0xD6) (Red/Green)
  • アネ゙デパミ゙ (0xFF) (Yellow)

    Inverted sprites glitch

    Bulbapedia also has an article about .


    Many glitch Pokémon including regular MissingNo. and 'M (00) cause the inverse sprites glitch after encountering them or viewing their Pokémon summary.

    This glitch causes Pokémon front and back sprites to appear fixed. The problem can be fixed by viewing the summary screen of any non-glitch Pokémon (or some glitch Pokémon).

    The inverse sprites glitch is useful for catching Horsea (English versions) or Pikachu (Japanese versions) for CoolTrainer♀ corruption.

    This glitch occurs when memory address 0xD0AA (Red/Blue) or 0xD0A9 (Yellow) is a non-00 value.

    Sound and/or sound bank corruption

    Some glitch Pokémon sprites lead to the corruption of music, including potentially the sound bank.

    The sound bank (located at C0EF, C0F0) controls the 'type' of music to play, and valid values include 02 (locations 1/overworld), 08 (battle), 1F (locations 2/in doors) and 20 (special music).

    When the sound bank is an invalid value, it can lead to potentially a freeze and/or tile corruption.

    Sound bank corruption is notably caused by both Yellow MissingNo. and ♀ . (0xC1), with glitch music and sometimes a repeating "(POKéMON) is trying to learn" message.

    Sometimes the music will be corrupted but the game will not freeze.

    Both ?/ (0xEC) and ♂ p ゥ (0xF4) are also capable of corrupting the music via their Pokémon summary.

    Other effects

  • Game freeze
  • Corrupted tileset (アネ゙デパミ゙ (0xFF) in Japanese Yellow)
  • Corruption of the next number of Poké Ball rolls (Yellow regular MissingNo.)
  • Misaligned character
  • If the player tries to Dig or Escape Rope away after the corruption, then the player's sprite may move up and wrap around the screen possibly indefinitely
  • 0xC109 ('facing direction') corruption. Can be used to cause facing direction arbitrary code execution after using Lg- (hex:6E) (Yellow regular MissingNo.)

    References

    This article or section is a stub. You can help wiki by [ expanding it].

    Categories