Super Glitch

----
Super Glitch (Japanese: 名前の長いバグわざ, long name glitch movesLegendary Star Blob 2 (Hakuda)) is the nickname for a large amount of volatile glitch moves that exist in hexadecimal slots A6 to C3 in and . These moves generally have either no name, a number of glitchy symbols as a name, or the name of a Pokémon in one's party as its name. Super glitch effects can also occasionally be caused by the move . If the move is used, the opposing Pokémon will be burned, and will either faint, or its HP will drop until it has almost fainted.
==Effect==
Super Glitch can cause some rather strange effects. The most famous scenario is a chain of events starting with the music slowly fading out before stopping altogether known as the 'TMTRAINER effect'. The opponent's name then changes to "TMTRAINER" followed by several lines of glitch dialogue, and the HP of their Pokémon rises to a very large value which is often larger than the amount of max HP that the opponent Pokémon has, causing the HP bar to stretch and wrap around the screen. (The filled part of the bar also instantly jumps from empty to full repeatedly before fainting (0HP) during damage animation due to the fact that the calculations to display how much fill in the bar in percent has been overflowed, thus causing the fill to wrap between empty and full.) It will display that the enemy Pokémon is ed, but the game will state that it is , followed by the enemy Pokémon becoming hurt by a . This burn will often deplete all of the enemy Pokémon's health, causing the giant HP bar to loop several times before all the HP is depleted, causing it to faint. If the battle is won before the game freezes, the glitch Pokémon that used Super Glitch may grow to a random level (sometimes even exceeding level 100). Sometimes, many random Pokémon not part of the player's team evolve right after a battle. On such cases, Pokémon that cannot evolve can evolve into themselves.
It is possible to activate Super Glitch outside of battle. By having a Pokémon that knows Super Glitch learn another move by leveling up, the glitch will activate without the TMTRAINER effect, as you are not in battle. An example of this happening is Q◣, which will learn Mega Punch at level 11. However, if it knows Super Glitch, then the effects will activate as if the player had just exited a battle using the glitch.
On occasion, a player may return to the game after a battle in which Super Glitch was used, but everything will be severely glitched. It will appear as if some Pokémon are poisoned in the player's team as every few steps a Pokémon faints. However, these Pokémon will have glitchy names and were never part of the player's team before the battle. Some positions of the map will be glitchy and volatile, as if parts of Glitch City merged with the regular map. The player's name will have changed to a scrambled string of symbols. The player will be unable to view their Pokémon (if the Pokémon option is selected in the menu, a blank screen will show from which one can't escape) and hence it becomes impossible to or . Pokémon will disappear out of the Pokédex after taking a few steps. The music everywhere (except in battle) becomes eerie and glitched. The game may unexpectedly freeze at any point. The player may also randomly get stuck. By using the "deposit" option in the PC, it is possible to reveal that the game has given the player a lot of Pokémon, many of them with names made entirely out of glitch characters and with stats exceeding 999. Many of these Pokémon will crash the game if the player attempts to interact with them.
Super Glitch's index number only changes the probability of the move causing glitch effects, and it does not change the obtained effect itself—the effects are the same for every Super Glitch index and for every Super Glitch-related move.
==Cause==
Super Glitch moves have no defined names, so the game looks for them past the actual move name list, and takes an unpredictably chosen RAM fragment as the name of the move. The problem occurs when the game tries to display such a name on the screen—the programmers assumed that each move name always ends with an end of string symbol, so the copy operation continues until it is found. The random move name that is picked from the memory may not have such a symbol, so the game copies too many bytes, overwriting important memory areas behind the text buffer.
In the memory layout of the game, a screen buffer is located directly after the text buffer. The screen buffer is a memory fragment where the game saves how the screen looked like before opening a full-screen menu—it exists so the screen contents can be restored after the menu has been closed. Opening any full-screen menu causes the buffer to be replaced with the current screen contents. It means that the values Super Glitch writes depend on what was recently displayed on the screen, and by opening any full screen menu and refreshing the screen copy, it is possible to control how Super Glitch corrupts the RAM. Also, the number of characters the move names before the Super Glitch have will offset the location where memory corruption starts.
The starting location of Super Glitch's can be calculated from an equation: StartingLocation = D0E116 + MoveLengths + NumberOfMovesBeforeSuperGlitch.
To find the memory address where the n-th screen tile will be written, use the formula: StartingLocation + n.
==Issues and prevention==
As the Super Glitch corruption is caused by viewing the name of the move, if a Pokémon as much as attempts to learn the move—as many glitch Pokémon do—the RAM may be corrupted. This can be avoided by standing on a certain tile on the ground floor of Celadon MansionPokemon Blue - Making "Super Glitch" moves useful (YouTube) and opening the Start Menu. Having last opened the menu there—taking care not to touch it afterwards—the player can view Super Glitch move names without any adverse effects on the game. This is very useful as it allows a careful player to train Pokémon that learn the move, while avoiding the RAM corruption.
==Misconceptions==
Something important to note is that it is the move that is dangerous, not its users. For example, ゥ .4, which knows Super Glitch as a starting move, is mistakenly believed to be extremely dangerous to one's game and save file. However, ゥ .4 as a species is no more dangerous than MissingNo. or 'M (00). In fact, a ゥ .4 acquired by trading a pp' ' from will pose no threat whatsoever to the game, and a ゥ .4 that has forgotten Super Glitch is completely safe. Though obviously, a wild ゥ .4 will still pose a significant threat, as it will know Super Glitch.
Also contrary to popular belief, using a Super Glitch move is not any more destructive than viewing it in the fight menu; both are equally destructive. 
==Generation I==
===Super Glitch index A7===
====By leveling up====
===Super Glitch index A8===
=== Super Glitch index A9 ===
===Super Glitch index AA===
===Super Glitch index AB===
====By leveling up====
==== Super Glitch Index AC ====
===Super Glitch index AD===
====By leveling up====
===Super Glitch Index AE===
===Super Glitch index AF===
====By leveling up====
===Super Glitch index B0===
===Super Glitch index B1===
====By leveling up====
===Super Glitch index B2===
===Super Glitch index B3===
===Super Glitch index B4===
===Super Glitch index B5===
====By leveling up====
===Super Glitch index B6===
====By leveling up====
===Super Glitch index B7===
===Super Glitch index B8===
====By leveling up====
===Super Glitch index B9===
====By leveling up====
===Super Glitch index BA===
===Super Glitch index BB===
===Super Glitch index BC===
===Super Glitch index BD===
===Super Glitch index BE===
====By leveling up====
===Super Glitch index BF===
===Super Glitch index C0===
====By leveling up====
===Super Glitch index C1===
====By leveling up====
===Super Glitch index C2===
===Super Glitch index C3===
====By leveling up====
==Videos==
==Trivia==
* Super Glitch moves have a tendency to change the player's Pokémon into a MissingNo. with a hexadecimal 7F, change a large amount of moves to Waterfall, and set some Pokémon to level 127. This happens because the tile with 7F is the space character, which is widely used on screen to display textboxes and aligned lists.
* The only factor preventing the player from saving the game after using Super Glitch is the corrupted player name. So theoretically, with enough luck, Super Glitch may bring a name with an end of string symbol, and the player would be eventually able to save with the corrupted data.
** Despite this, one would still have to view a special text box (such as the "HEAL/CANCEL" ones at Pokémon Centers) to avoid any glitch message boxes crashing the game.
* Super Glitches may sometimes reveal certain unused data portions, like beta battle systems in or the cardinal direction boxset.
* Super Glitch index A6 is especially dangerous, since its invalid name points to a constant memory location, which always causes . According to TheZZAZZGlitch, since older versions of VBA do not emulate VRAM inaccessibility, index A7 name is displayed as "qq", because of a B0 B0 50 pattern in VRAM at address $83C5, thus the move will not cause any side-effects (while it will cause memory corruption if viewed in the overworld). On BGB (and real console), the finishing 0x50 byte at $83C7 is not read, causing Super Glitch effects.
* Activating Super Glitch's effects via a PP Up will greatly amplify its data corruption abilities. Also according to TheZZAZZGlitch, this is because other methods will place character 0x50, a terminator character, in the game's nearby memory, cutting Super Glitch's corruption short. PP Ups do not do this, however, allowing the corruption to be used to its full potential.
** The maximum possible length for a Super Glitch corruption in this manner (assuming the Pokémon in question knows 4 Super Glitch moves and a PP Up is used on it) is 3532 bytes.
==External links==
* Thread on Glitch City Laboratories
* Glitch box-sets
* A YouTube video, showing examples on how to manipulate Super Glitch's effects
==References==
==Related articles==
Category:Glitches
Category:Glitch moves
de:Super Glitch
it:Super Glitch (mossa)
zh:超级错误（错误招式）