ZZAZZ glitch: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
(Grammar error - 'made a significantly change' corrected to 'made a significant change')
mNo edit summary
(38 intermediate revisions by 22 users not shown)
Line 1: Line 1:
[[Image:ZZAZZGlitch.gif|thumb|right|Battling a glitch trainer in slot FE, triggering the ZZAZZ glitch]]
[[File:ZZAZZ.png|200px|thumb|right|The player encounters one of several [[glitch Trainer]]s which can trigger the ZZAZZ glitch.]]
The '''ZZAZZ glitch''' is a [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It is encountered by using the [[Mew glitch]] with a special stat that has a decimal number of any multiple of 251, 252, 254 or 255. This makes the {{player}} encounter a glitch {{pkmn|Trainer}} that in turn allows this glitch to occur.


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 '''ZZAZZ glitch''' is a data-corrupting [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It can be triggered 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 Trainer]] that in turn causes this glitch to occur.


The first of the opponents Pokémon is usually level 153 proving to be more difficult to beat than a normal level 100 Pokémon but 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 [[Charizard 'M]] or a [[Q]] in his first slot. depending on whether the version is {{game|Red and Blue|s}} or {{game|Yellow}} would block a thrown [[Poké Ball]] however, the battle would suddenly end.
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 {{wp|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 {{PDollar}}9999. However, since the glitch Trainers encountered have an invalid money value unlike normal {{pkmn|Trainer}}s, the arithmetic functions fail to behave as expected, corrupting a pointer<ref>http://forums.glitchcity.info/index.php/topic,36.msg194415.html#msg194415</ref> and causing the byte 0x99 to be written to the first two out of every three bytes for each time the calculated award would exceed {{PDollar}}9999 after the first. For the Trainers that trigger the ZZAZZ glitch, this happens over two hundred times, destroying many important game variables.


A side effect of the ZZAZZ Glitch causes the player's name to become replaced with one that is much longer, replacing most previous letters in the player's name to be replaced by 'Z's.
The glitch Trainer is usually seen sending out a [[level]] 153 [['M (FF)]]{{sup/1|RB}} or a [[Q ◣]]{{sup/1|Y}} with an extremely long {{stat|Hit Points|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 any type of [[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 {{p|Bulbasaur}} whose first, second, and fourth moves are all {{m|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.


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 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 standard 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.
Although the player's name has been corrupted, the [[Original Trainer|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 {{badge|Earth}} is programmed to make Pokémon over level 100 obey).


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.)
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.


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 [[Charizard 'M]] or [[Q]], and this trainer could be considered 'almost impossible' to defeat, because one of his [[Charizard 'M]]s has an extremely large amount of {{stat|Hit Points|HP}} that is possibly close to the largest maximum amount of a Pokémon when taking two bytes into account (65536).
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'{{fact}} causing the game to crash. 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 indirectly possible via changing [[PC]] [[Pokémon Storage System|boxes]]. Doing so is usually very hazardous, as upon reloading the save file will be destroyed, forcing the player to start a new game.


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.
The inability to load the game is actually due to a failsafe that treats the savefile as invalid if the player's name exceeds the intended maximum length, which is very likely due to all of the previous corruption. If this effect is bypassed such as by having an original name that was exactly 2 or 5 characters long (since every third position is not corrupted and so the end-of-string character at position 3 or 6 will be preserved), then the game will be able to load the corrupted file without problems.<ref>http://forums.glitchcity.info/index.php/topic,6477.msg187364.html#msg187364</ref>
 
There is also a ZZAZZ variant of [[Jacred]], caused by using the Ditto glitch with a Special stat of 200 and using Growl one or two times. Because this is a ZZAZZ variant, the battle can be escaped by using any type of Poké Ball, though this is slightly difficult to do as the [[Bag]] will be corrupted and almost fully filled with items named "&nbsp;<!--space intentional-->PokéTrainer". However, it is possible to scroll down past the Cancel button, find a Poké Ball, and then use that to escape the battle. After escaping, the player will be in a type of Glitch City. The game will not be able to be saved directly through the menu, because when the party is opened, the game will lock. The city has no PC to indirectly save the game, nor a Pokémon Center where the menu's save option can be restored by healing the player's party.
 
{{youtubevid|5hjoHakpe_c|Pokéfan95|Glitch}}
 
==Video==
{{youtubevid|D3iVFfKjklk|Newopkmn|Glitch}}
 
==References==
<references/>


==External link==
*[http://www.youtube.com/watch?v=D3iVFfKjklk Video of the ZZAZZ Glitch]
{{Glitches}}
{{Glitches}}
[[Category:Glitches]]
{{Project GlitchDex notice|no}}


[[fr:ZZAZZ bug]]
[[fr:ZZAZZ bug]]

Revision as of 22:30, 27 March 2016

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 $9999. 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[1] and causing the byte 0x99 to be written to the first two out of every three bytes for each time the calculated award would exceed $9999 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 any type of 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.

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.

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'[citation needed] causing the game to crash. 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 indirectly possible via changing PC boxes. Doing so is usually very hazardous, as upon reloading the save file will be destroyed, forcing the player to start a new game.

The inability to load the game is actually due to a failsafe that treats the savefile as invalid if the player's name exceeds the intended maximum length, which is very likely due to all of the previous corruption. If this effect is bypassed such as by having an original name that was exactly 2 or 5 characters long (since every third position is not corrupted and so the end-of-string character at position 3 or 6 will be preserved), then the game will be able to load the corrupted file without problems.[2]

There is also a ZZAZZ variant of Jacred, caused by using the Ditto glitch with a Special stat of 200 and using Growl one or two times. Because this is a ZZAZZ variant, the battle can be escaped by using any type of Poké Ball, though this is slightly difficult to do as the Bag will be corrupted and almost fully filled with items named " PokéTrainer". However, it is possible to scroll down past the Cancel button, find a Poké Ball, and then use that to escape the battle. After escaping, the player will be in a type of Glitch City. The game will not be able to be saved directly through the menu, because when the party is opened, the game will lock. The city has no PC to indirectly save the game, nor a Pokémon Center where the menu's save option can be restored by healing the player's party.

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


Video

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


References


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 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 sprites
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.