From Bulbapedia, the community-driven Pokémon encyclopedia.
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 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 value 0x99 (as money uses binary-coded decimal rather than pure hexadecimal) to the first two out of every three bytes 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.
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 all moves previously known by the Pokémon are replaced by Explosion. The Trainer's sprite also 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.
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.
| Videos are currently unavailable on Bulbapedia; instead, you can watch the video on YouTube here.