ZZAZZ glitch: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
(technically it's special stat modulo 256 (and I see no natural way to phrase that, so I have left it out))
(Try to incorporate the latest information known about this glitch, writing's bad though)
Line 2: Line 2:


The '''ZZAZZ glitch''' is a [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It can be encountered by using the {{DL|Mew glitch|Ditto glitch}} with a {{stat|Special}} stat of 251, 252, 254 or 255. This makes the {{player}} encounter a glitch {{pkmn|Trainer}} that in turn allows this glitch to occur.
The '''ZZAZZ glitch''' is a [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It can be encountered by using the {{DL|Mew glitch|Ditto glitch}} with a {{stat|Special}} stat of 251, 252, 254 or 255. This makes the {{player}} encounter a glitch {{pkmn|Trainer}} that in turn allows this glitch to occur.
This glitch is caused most directly by a buggy multiplication routine used to calculate the amount of money awarded at the end of the battle, though the conditions that trigger the bug do not occur with any normal Trainer. The multiplication routine attempts to ensure that the money value is capped at [[File:PokémonDollar.png|link=Pokémon Dollar]]9999. In the process, it moves a pointer forward, but never moves it back to its original place. This causes the function to write the bytes 0x9999 (as money uses {{wp|binary-coded decimal}} rather than pure hexadecimal) to various places in memory each time the calculated award would exceed [[File:PokémonDollar.png|link=Pokémon Dollar]]9999. For the Trainers that trigger the ZZAZZ glitch, this happens hundreds of times, destroying many important game variables.


This Trainer can be difficult to beat particularly due to the fact that the {{stat|Hit Points|HP}} bar of the first Pokémon is abnormally high, similar to the side-effects of using a {{m|Super Glitch}} move.
This Trainer can be difficult to beat particularly due to the fact that the {{stat|Hit Points|HP}} bar of the first Pokémon is abnormally high, similar to the side-effects of using a {{m|Super Glitch}} move.


The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. Strangely, the player can easily escape this Trainer by using an item such as a [[Poké Ball]] or [[Poké Flute]], regardless of the fact in a normal battle this would normally have no effect. The glitch Trainer usually has a [['M (FF)]] or a [[Q ◣]] in his first slot; depending on whether the version is {{game|Red and Blue|s}} or {{game|Yellow}}. This Trainer will usually block a thrown [[Poké Ball]]; however, the battle will suddenly end.
The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. However, the player can easily escape this Trainer by using an item; the memory corruption process sets a flag that causes this behavior. The glitch Trainer usually has a [['M (FF)]] or a [[Q ◣]] in his first slot; depending on whether the version is {{game|Red and Blue|s}} or {{game|Yellow}}.


A side effect of the ZZAZZ glitch causes the player's name to become replaced with one that is much longer, causing most previous letters in the player's name to be replaced by 'Z's.
Both the player and the glitch Trainer have their name and party Pokémon changed. The glitch changes the Pokémon in the Trainer's party to level 153. Most sprites of Pokémon in the party are replaced with the back-sprite of {{p|Bulbasaur}} and outside of battle the Trainer's sprite changes on the {{ga|Trainer Card}}. The party Pokémon are changed to level 153 because a hexadecimal value of 99 is equal to the integer 153 in decimal. A hexadecimal value of 99 also corresponds to the letter 'Z', which fills both the player's and the glitch Trainer's name; and the move 'Explosion,' which appears in the movesets of most Pokémon after the glitch occurs.


Another notable side-effect of this glitch is how it changes the Pokémon in the Trainer's party to level 153. Most sprites of Pokémon in the party are replaced with the back-sprite of {{p|Bulbasaur}} and outside of battle the Trainer's sprite changes on the {{ga|Trainer Card}}. A possible explanation as to why the back-sprites of all of the player's Pokémon in battle are changed to {{p|Bulbasaur}} is because the ZZAZZ glitch overwrites several variables with the hex value 99. This explains why the party Pokémon are changed to level 153 because a hexadecimal value of 99 is equal to the integer 153 in decimal. A hexadecimal value of 99 also corresponds to the letter 'Z' and the move 'Explosion,' which suggests that the ZZAZZ glitch has made a significant change to the data of the party Pokémon. Other less noticeable effects include changes to the interfaces in-game such as the menu, where if a player attempts to save the game the cursor scrolls over 'yes' and 'no' causing the game to crash. A white screen will appear if the player attempts to view their party Pokémon.
Other less noticeable effects include changes to the interfaces in-game such as the menu, where if a player attempts to save the game the cursor scrolls over 'yes' and 'no' causing the game to crash. A white screen will appear if the player attempts to view their party Pokémon.


Although the player's name will glitch, the [[Original Trainer|OT]] values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the {{badge|Earth}} is programmed to make Pokémon over level 100 obey the player.)
Although the player's name will glitch, the [[Original Trainer|OT]] values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the {{badge|Earth}} is programmed to make Pokémon over level 100 obey the player.)

Revision as of 03:56, 11 July 2014

The player encounters one of several glitch Trainers which can trigger the ZZAZZ glitch.

The ZZAZZ glitch is a glitch found in the Generation I games. It can be encountered 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 allows this glitch to occur.

This glitch is caused most directly by a buggy multiplication routine used to calculate the amount of money awarded at the end of the battle, though the conditions that trigger the bug do not occur with any normal Trainer. The multiplication routine attempts to ensure that the money value is capped at PokémonDollar.png9999. In the process, it moves a pointer forward, but never moves it back to its original place. This causes the function to write the bytes 0x9999 (as money uses binary-coded decimal rather than pure hexadecimal) to various places in memory each time the calculated award would exceed PokémonDollar.png9999. For the Trainers that trigger the ZZAZZ glitch, this happens hundreds of times, destroying many important game variables.

This Trainer can be difficult to beat particularly due to the fact that the HP bar of the first Pokémon is abnormally high, similar to the side-effects of using a Super Glitch move.

The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. However, the player can easily escape this Trainer by using an item; the memory corruption process sets a flag that causes this behavior. The glitch Trainer usually has a 'M (FF) or a Q ◣ in his first slot; depending on whether the version is Pokémon Red and Blue or Pokémon Yellow.

Both the player and the glitch Trainer have their name and party Pokémon changed. The glitch changes the Pokémon in the Trainer's party to level 153. Most sprites of Pokémon in the party are replaced with the back-sprite of Bulbasaur and outside of battle the Trainer's sprite changes on the Trainer Card. The party Pokémon are changed to level 153 because a hexadecimal value of 99 is equal to the integer 153 in decimal. A hexadecimal value of 99 also corresponds to the letter 'Z', which fills both the player's and the glitch Trainer's name; and the move 'Explosion,' which appears in the movesets of most Pokémon after the glitch occurs.

Other less noticeable effects include changes to the interfaces in-game such as the menu, where if a player attempts to save the game the cursor scrolls over 'yes' and 'no' causing the game to crash. A white screen will appear if the player attempts to view their party Pokémon.

Although the player's name will glitch, the OT values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the Earth Badge is programmed to make Pokémon over level 100 obey the player.)

Any Trainer battle fought during the glitch will become a battle against a glitch Trainer with the player's sprite. He will either borrow the player's original name, their ZZAZZ-glitched name, or sometimes a different glitched name. His party will consist mainly of several 'M (FF) or Q ◣, and this Trainer could be considered almost impossible to defeat, because one of his 'M (FF)s has an extremely large amount of HP that is possibly close to the largest maximum amount of a Pokémon when taking two bytes into account (65535).

If the player saves after activating the ZZAZZ glitch, their save file will be corrupted and they will be forced to start a new save file.

Video

By Newopkmn
This video is not available on Bulbapedia; instead, you can watch the video on YouTube here.



Multiple
generations
Transform glitchesGlitch TrainersCloning glitchesError messagesArbitrary code execution
Generation I GlitchesBattle glitchesOverworld glitches
--0 ERRORBroken hidden itemsCable Club escape glitchDual-type damage misinformation
Experience underflow glitchFight Safari Zone Pokémon trickGlitch CityItem duplication glitchItem underflow
Mew glitchOld man glitchPewter Gym skip glitchPokémon merge glitchRhydon glitchRival twins glitch
Select glitches (dokokashira door glitch, second type glitch) • Super Glitch
Time Capsule exploitWalking through wallsZZAZZ glitch
Generation II GlitchesBattle glitches
Bug-Catching Contest glitchCelebi Egg glitchCoin Case glitchesExperience underflow glitch
Glitch dimensionGlitch EggTeru-samaTime Capsule exploitTrainer House glitchesGS Ball mail glitch
Generation III GlitchesBattle glitchesOverworld glitches
Berry glitchDive glitchPomeg glitchGlitzer Popping
Generation IV GlitchesBattle glitchesOverworld glitches
Acid rainGTS glitchesPomeg glitchRage glitch
Surf glitchTweakingPal Park Retire glitch
Generation V GlitchesBattle glitchesOverworld glitches
Charge Beam additional effect chance glitchCharge move replacement glitchChoice item lock glitch
Frozen Zoroark glitchSky Drop glitch
Generation VI GlitchesBattle glitchesOverworld glitches
Charge Beam additional effect chance glitchCharge move replacement glitchChoice item lock glitch
Lumiose City save glitchSymbiosis Eject Button glitchToxic sure-hit glitch
Generation VII GlitchesBattle glitches
Charge Beam additional effect chance glitchCharge move replacement glitchChoice item lock glitch
Toxic sure-hit glitchRollout storage glitch
Generation VIII Glitches
Charge Beam additional effect chance glitchCharge move replacement glitchChoice item lock glitch
Toxic sure-hit glitchRollout storage glitchParty item offset glitch
Generation IX Glitches
Glitch effects Game freezeGlitch battleGlitch song
Gen I only: Glitch screenTMTRAINER effectInverted sprite
Gen II only: Glitch dimension
Lists Glitches (GOMystery DungeonTCG GBSpin-off)
Glitch Pokémon (Gen IGen IIGen IIIGen IVGen VGen VIGen VIIGen VIII)
Glitch moves (Gen I) • Glitch types (Gen IGen II)


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.