Pokémon sprite corruptions (Generation I)

From Glitch City Wiki
Jump to navigation Jump to search
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 picture[1].
  • 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 units[2].

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 glitch in Japanese Yellow

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

Inverted sprites glitch

Bulbapedia also has an article about Pokémon sprite corruptions (Generation I).

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.

Outside of battle

Trying to view the sprite of a glitch Pokémon outside of battle (e.g. in the party or in the Hall of Fame) would usually trigger the Rhydon trap, preventing any corruption. However, the glitch Pokémon ?/ (0xEC) and ♂ p ゥ (0xF4) in Yellow, despite both sharing an invalid front sprite with size 0×0, also share a valid Pokédex number (017, Pidgeotto hybrid), and thus will not trigger the Rhydon trap. While battling with those glitch Pokémon will usually crash the game, viewing the sprite of those glitch Pokémon outside of battle will corrupt the music without crashing the game.

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 Glitch City Wiki by expanding it.