Please remember to follow the manual of style and code of conduct at all times.
Check BNN and Bulbanews for up-to-date Pokémon news and discuss it on the forums or in our IRC channel #bulbagarden on irc.systemnet.info.

ZZAZZ glitch

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to: navigation, search
The player encounters one of several glitch Trainers which can trigger the ZZAZZ glitch.

The ZZAZZ glitch is a data-corrupting glitch found in the Generation I games. It can be triggered by using the Ditto glitch with a Special stat of 251, 252, 254 or 255. This makes the player encounter a glitch Trainer that in turn causes this glitch to occur.

The glitch is directly caused by a multiplication routine used to calculate the amount of money awarded at the end of the battle. As money in Generation I is stored as binary-coded decimal, the game must perform several arithmetic functions in order to load the proper value into memory; as part of this loading, the game attempts to ensure that the money value is capped at PokémonDollar.png9999. However, since the glitch Trainers encountered have an invalid money value unlike normal Trainers, the arithmetic functions fail to behave as expected, corrupting a pointer and causing the byte 0x99 to be written to the first two out of every three bytes each time the calculated award would exceed PokémonDollar.png9999 after the first. For the Trainers that trigger the ZZAZZ glitch, this happens over two hundred times, destroying many important game variables.

The glitch Trainer is usually seen sending out a level 153 'M (FF)RB or a Q ◣Y with an extremely long HP bar; attempting to use a move or even just view the party will cause the game to freeze due to the corruption. However, the Trainer can be easily escaped by using any item (as long as it does not display the party, such as a Poké Ball); doing so automatically causes the battle to end (also due to the corruption). During and after the battle the player can see that every Pokémon in their party except each third one has been changed to a level 153 Bulbasaur whose first, second, and fourth moves are all Explosion; the player's name except for every third letter has also been overwritten with capital Z's (hence the name of the glitch). All of these correspond to index number 0x99.

Less immediately noticeable effects of the widespread corruption include changes to in-game interfaces such as the menu. If a player attempts to save the game, the cursor scrolls over 'yes' and 'no' causing the game to crash. Although the player's name has been corrupted, the OT values of the party Pokémon have not, causing them to be treated as outsider Pokémon. Combined with the fact that most of them are level 153, they will always disobey the the player (as not even the Earth Badge is programmed to make Pokémon over level 100 obey).

If the player attempts to battle a regular Trainer after triggering the glitch, that Trainer will become a glitch Trainer with the player's sprite. Their name will either be the player's original name, their ZZAZZ-glitched name, or sometimes a different glitched name, and their party will again consist mainly of several 'M (FF) or Q ◣. Attempting to battle this Trainer will not outright cause the game to crash, although attempting to view the player's party still will. Using items will not end the battle this time. The Trainer is almost impossible to defeat, as the player's Pokémon will not obey (and/or will faint themselves with Explosion, causing the party menu to appear and crash the game), and at least one of the Trainer's level 153 Pokémon has an extremely large amount of HP.

The corrupted menu can be partially fixed by talking to a Pokémon Center nurse, allowing the player to save the game; saving is also possible via changing PC boxes. Doing so is very hazardous, as if the player's name is longer than 10 characters (likely due to the corruption), the save file will be destroyed, forcing the player to start a new game. This can be mitigated by having a name exactly 2, 5, or 8 characters long, as since every third character is not corrupted, the terminating 0x50 character at position 3, 6, or 9 will stop the name from extending.

Video

By Newopkmn
Videos are currently unavailable on Bulbapedia; instead, you can watch the video on YouTube here.


Main
Multiple
generations
:
Cloning glitchesGlitch PokémonGlitch types
Generation I: --0 ERRORCable Club escape glitchError codesExperience underflow glitchGlitch CityGlitch dimension
Glitch movesGlitch TrainersItem duplication glitchJohto guard glitchMew glitchOld man glitchPewter Gym skip glitch
Pokémon merge glitchRhydon glitchSelect glitches (dokokashira door glitch, second type glitch)
Super GlitchZZAZZ glitch
Generation II: Celebi Egg glitchCoin Case glitchesError codesExperience underflow glitchGlitch Egg
Johto guard glitchSketch glitchTeru-samaTrainer House glitchGlitch dimension
Generation III: Berry glitchDive glitchPomeg glitch
Generation IV: Acid rainGlobal Terminal glitchesMimic glitch
Pomeg glitchRage glitchSurf glitchTweaking
Generation V: Sky Drop glitchFrozen Zoroark glitch
Generation VI: Lumiose City save glitch
Glitch effects: Game freezeGlitch battleGlitch song
Gens I/II only: Japanese characters in the international versions
Gen I only: Glitch screenTMTRAINER effectInverted sprites
Gen II only: Glitch dimension
Lists: Glitch movesGlitch types
Glitch Pokémon (Gen IGen IIGen IIIGen IVGen VGen VI)
Glitches (Gen IGen IIGen IIIGen IVGen VGen VISpin-off)
Project GlitchDex logo.png This article is part of Project GlitchDex, a Bulbapedia project that aims to write comprehensive articles on glitches in the Pokémon games.