Move 0x00 corruption (Generation I): Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
(Moved (2))
 
(5 intermediate revisions by 3 users not shown)
Line 9: Line 9:
''For the glitch move in {{Y}}, please see [[AttackDex/Y:000]].''
''For the glitch move in {{Y}}, please see [[AttackDex/Y:000]].''


'''Move 0x00 corruption''', also known as '''CoolTrainer♀ glitch''' refers to the corruptions in {{RBY}} caused by a [[buffer overflow]] in the random internal names of glitch move "-" (which are of variable length).
"'''-'''", nicknamed "'''CoolTrainer move'''", is a 'move' with an index number of hex:00 in {{RBY}}. It is considered a glitch move when it is the first move in a Pokémon's list of moves.


The name "CoolTrainer move" was taken from the name of its type; "[[TypeDex/RB:122|CoolTrainer♀]]" (hex:7A) in {{RB}} for when no [[Super Glitch (Generation I)#Semi-Super Glitch move ("-"; CoolTrainer♀-type) corruption|Semi-Super Glitch]] effect is caused. In Yellow its glitch type is instead the [[TypeDex/Y:049|randomly named hex:31 glitch type]].
The applications of this were documented and popularised by TheZZAZZGlitch (along with the discovery of how [[Super Glitch (Generation I)|Super Glitch]] works). Move 0x00 corruption has also become a notable exploit in the history of various Pokémon glitched speedruns, such as 'catch 'em all'.


==Nature==
On the Fight screen and a Pokémon's summary it is called '-', because this name is used for no move (also hex:00) in situations where a Pokémon knows less than four moves, but it acts as a glitch move when it's forced as the first move.

Upon using it, and when a PP Up is applied to it, its name is taken from the memory and is essentially random.

CoolTrainer move is also infamous for [[buffer overflow]] abuse like the previously discovered [[Japanese unterminated name glitch item instant encounter glitch]].

==Semi-Super Glitch effect==
[[File:CoolTrainer foe tiles.png|frame|right|Screen tiles affecting Pokémon, DV/EV, level yields by Dabomstew.]]
[[File:CoolTrainer foe tiles.png|frame|right|Screen tiles affecting Pokémon, DV/EV, level yields by Dabomstew.]]
''See also: [[Super Glitch (Generation I)#Semi-Super Glitch move ("-"; CoolTrainer♀-type) corruption|Section on the Super Glitch article]]''.


An effect similar to [[Super Glitch]] may be triggered with '-' when it is the first move by opening the fight menu or trying to move the cursor. After the effect occurs, the type of '-' may change from CoolTrainer♀ to another type.
An effect similar to [[Super Glitch]] may be triggered with '-' when it is the first move by opening the fight menu or trying to move the cursor. After the effect occurs, the type of '-' may change from CoolTrainer♀ to another type.
Line 27: Line 20:
Unlike other unterminated name/Super Glitch moves, only one buffer overflow occurs with '-' (at memory address $CF4B, but not $D0E1). No corruption is caused by the '-' move when viewing it from a status screen.
Unlike other unterminated name/Super Glitch moves, only one buffer overflow occurs with '-' (at memory address $CF4B, but not $D0E1). No corruption is caused by the '-' move when viewing it from a status screen.


Triggering the Semi-Super Glitch with '-' requires more luck than other Super Glitch moves, so the player may need to keep 'moving' the cursor or opening and closing the fight menu. After a certain point in the player's game, CoolTrainer♀ induced corruption may stop working, due to hex:50 characters appearing in its internal name too early. There is no known guaranteed way to fix this other than to use a different cartridge.
Triggering the move 0x00 corruption with '-' requires more luck than other Super Glitch moves, so the player may need to keep 'moving' the cursor or opening and closing the fight menu. After a certain point in the player's game, CoolTrainer♀ induced corruption may stop working, due to hex:50 characters appearing in its internal name too early. There is no known guaranteed way to fix this other than to use a different cartridge.


The most basic effect that can be triggered with the CoolTrainer♀ move is the [[TMTRAINER effect]], by opening the 'PkMn' menu from within battle before viewing it in the 'Fight' menu. Triggering the TMTRAINER effect in [[bp:Diglett's Cave|Diglett's Cave]] will let you avoid a freeze immediately after the battle ends. Opening the start menu after the TMTRAINER effect happens and the battle ends may be required to avoid a freeze after exiting the cave.
The most basic effect that can be triggered with the CoolTrainer♀ move is the [[TMTRAINER effect]], by opening the 'PkMn' menu from within battle before viewing it in the 'Fight' menu. Triggering the TMTRAINER effect in [[bp:Diglett's Cave|Diglett's Cave]] will let you avoid a freeze immediately after the battle ends. Opening the start menu after the TMTRAINER effect happens and the battle ends may be required to avoid a freeze after exiting the cave.


With the TMTRAINER effect, the enemy Pokémon's species will change into a level 127 Missingno. (hex:32) if sprites are not flipped, and a level 127 Horsea is obtainable by catching the enemy Pokémon if the sprites are flipped. Though the Pokémon's sprite will not change to the new Pokémon until it is captured, its palette may change to that of the new Pokémon.
With the TMTRAINER effect, the enemy Pokémon's species will change into a level 127 Missingno. (hex:32) if sprites are not flipped, and a level 127 Horsea is obtainable by catching the enemy Pokémon if the sprites are flipped. Though the Pokémon's sprite will not change to the new Pokémon until it is captured, its palette may change to that of the new Pokémon.

In the Japanese versions (at least Red/Green), the equivalent Pokémon are Level 127 Missingno. (hex:38) and Level 127 Pikachu.


==Advanced Red/Blue usage==
==Advanced Red/Blue usage==
In Pokémon Red and Blue, [http://forums.glitchcity.info/index.php/topic,6992.0.html more Pokémon] can be obtained with '-' (and also Super Glitch) by viewing the Pokémon menu in specific places where there is a [[0x50 sub-tile]] (often the 'bottom-left corner of a bush' tile) between y coordinates 09-0C (these are BGB coordinates; y starts as 00 at the top of the screen and increases the further down you go) before entering Diglett's Cave and triggering Semi-Super Glitch with '-'. Additionally the sub-tile at BGB coordinates '''y=06, x=01''' must be equal to the desired Pokémon.
In Pokémon Red and Blue, [https://forums.glitchcity.info/index.php?topic=6992.0.html more Pokémon] can be obtained with '-' (and also Super Glitch) by viewing the Pokémon menu in specific places where there is a [[0x50 sub-tile]] (often the 'bottom-left corner of a bush' tile) between y coordinates 09-0C (these are BGB coordinates; y starts as 00 at the top of the screen and increases the further down you go) before entering Diglett's Cave and triggering move 0x00 corruption with '-'. Additionally the sub-tile at BGB coordinates '''y=06, x=01''' must be equal to the desired Pokémon.


For an image showing where the bush tiles should be, and further information, please see [https://www.youtube.com/watch?v=Sst_5kAX2y4 this Youtube video by TheZZAZZGlitch].
For an image showing where the bush tiles should be, and further information, please see [https://www.youtube.com/watch?v=Sst_5kAX2y4 this Youtube video by TheZZAZZGlitch].
Line 43: Line 38:
Despite the fact that 0x00 move corruption no longer works by directly bringing over tiles from outside of battle in this version, it is still possible to get the aforementioned Level 127 MissingNo. or Horsea by flashing the items menu in battle.
Despite the fact that 0x00 move corruption no longer works by directly bringing over tiles from outside of battle in this version, it is still possible to get the aforementioned Level 127 MissingNo. or Horsea by flashing the items menu in battle.


Additionally, using the [[Pokédex (glitch item)|Pokédex glitch item]] and closing it will print tiles on the screen in battle (but not in the same pattern as outside of battle), which can be used to potentially access CoolTrainers by flashing the items menu from within battle.
Additionally, using the [[ItemDex/RGBY:009|Pokédex glitch item]] and closing it will print tiles on the screen in battle (but not in the same pattern as outside of battle), which can be used to potentially access CoolTrainers by flashing the items menu from within battle.


Additionally, the glitches [[LOL glitch]] and [[Rival LOL glitch]] which make use of [[unterminated name glitch item]]s are alternative glitches to 0x00 move corruption and can be used together to obtain many Pokémon and/or glitch Pokémon.
Additionally, the glitches [[LOL glitch]] and [[Rival LOL glitch]] which make use of [[unterminated name glitch item]]s are alternative glitches to 0x00 move corruption and can be used together to obtain many Pokémon and/or glitch Pokémon.


==Effect of using the move==
==Effect of using the move==
This effect ignores Semi-Super Glitch:
This effect ignores move 0x00 corruption:


In Pokémon Red and Blue and Yellow, '-' acts as a damaging move with Fissure's animation that may freeze the game if it doesn't defeat the opponent.
In Pokémon Red and Blue and Yellow, '-' acts as a damaging move with Fissure's animation that may freeze the game if it doesn't defeat the opponent.


In {{RB}}, the effect of the move (move effect 0x74) [[arbitrary code execution|executes arbitrary code]] at F928 (Echo RAM for D928). For more information on how to exploit this, see [http://forums.glitchcity.info/index.php?topic=7504.0 here].
In {{RB}}, the effect of the move (move effect 0x74) [[arbitrary code execution|executes arbitrary code]] at F928 (Echo RAM for D928). For more information on how to exploit this, see [https://forums.glitchcity.info/index.php?topic=7504.0 here].


==Note==
==Note==
Line 58: Line 53:


==See also==
==See also==
*[[Japanese unterminated name glitch item instant encounter glitch]]
*[[Super Glitch (Generation I)]]
*[[LOL glitch]]


[[Category:Generation I glitches]]
[[Category:Generation I glitches]]

Latest revision as of 12:53, 7 July 2023

Major glitches of the Pokémon series


Arbitrary code execution

0x1500 control code arbitrary code execution (Crystal) | Cart-swap arbitrary code execution | Generation I custom map script pointer | Generation I invalid meta-map scripts | Generation I item ("8F", "ws m", "-g m", "5かい", "てへ" etc.) | Generation I move ("-", "TM42") | Generation I Trainer escape glitch text boxes | Generation II bad clone | Generation II Burned Tower Silver | Japanese Crystal Pokémon Communication Center SRAM glitches | Coin Case glitch | Generation II glitch Pokédex sortings | Pikachu off-screen glitch ACE | OAM DMA hijacking | Pikachu glitch emote | Generation III glitch Pokémon summary | Generation III glitch move animation) | Remote code execution | TM/HMs outside of the TM/HM pocket | ZZAZZ glitch Trainer FC


No further extensions

Cloning | Item duplication glitch (Generation I) | Pokémon merge glitch ("Q Glitch", Generation I) | Time Capsule exploit | Bug-Catching Contest data copy glitch (Generation II, Japan only) | Berry glitch | Battle Tower Lati@s glitch (Generation III) | (Mimic) Transform Rage glitch (Generation IV)

Transform held item glitch (Generation IV, Japan only) | Mimic glitch (Generation IV, Japan only)


Buffer overflow techniques

99 item stack glitch | LOL glitch | Rival LOL glitch | Instant LOL glitch | RAM LOL glitch | Out of bounds LOL glitch | blockoobLG | Instant encounter infinite chain glitch | LGFly | Super Glitch (Generation I) | Party remaining HP glitch | Super Glitch (Generation III) | Text pointer manipulation mart buffer overflow glitch | CoolTrainer♀-type move | Double distort CoolTrainer♀ corruption | Yami Shop glitch | Party Pokémon box data shift glitch | Unterminated name glitch item instant encounter (Japanese Red/Green)


Item stack duplication glitch (Generation I)

Generation I expanded items pack (Glitch Rocket HQ maps, Map FE (English and non-English European Yellow) | Map script pointer manipulation (arbitrary code execution | Map script pointer item ball manipulation) | Text pointer manipulation (arbitrary code execution | Item ball manipulation | Mart buffer overflow) | Trainerless instant encounter glitch


Bad clone glitch (Generation II)

????? party overloading (Type 0xD0 move glitch | ????? map corruption | Celebi trick | Celebi Egg trick | Shiny Celebi trick | Glitch move map corruption | Overloaded party map corruption | Glitch Unown (Glitch Unown map corruption) | Duplicate key items glitch (Infinite items and item creation, Expanded Balls pocket (Wrong pocket TM/HMs, Glitch Pokédex categories))


Closed menu Select glitches (Japanese Red/Green)

Dokokashira door glitch (International) | Fossil conversion glitch (international) | Second type glitch | Skip to Level 100 glitch | Trainer mutation glitch | Walk through walls (International) | Lift glitch | Badge describer glitch


Pomeg glitch (Generation III)

Pomeg data corruption glitch ("Glitzer Popping") | Charm glitch


Voiding (Generation IV)

Tweaking

Broken escalator glitch (Japan only) | Elite Four door glitch (Japan only)


2x2 block encounter glitches (Generation I)

Left-facing shore tile glitch (in-game trade shore encounter trick, Old man trick, Trade link up shore encounter trick, Fight Safari Zone Pokémon trick) | Viridian Forest no encounter grass tiles glitch


Glitch City

Safari Zone exit glitch | RAM manipulation | Out of bounds Glitch City (Generation II) | Slowpoke Well out of bounds corruption (French Gold/Silver/Crystal)


Large storage box byte shift glitch

Storage box remaining HP glitch | Generation I max stat trick


Pikachu off-screen glitch

Trainer corruption glitch


SRAM glitches

Generation I save corruption | 255 Pokémon glitch | Expanded party encounter table manipulation (Generation I) | Send party Pokémon to a new game (Generation I) | Generation II save corruption | Mailbox glitches | Mystery Gift item corruption | Trainer House glitches


Trainer escape glitch

Death-warp | Ditto trick | Experience underflow glitch | Mew trick | Text box ID matching | Meta-map script activation


Walk through walls

Ledge method | Museum guy method | Rival's effect | Select glitch method (International Select glitch method), Brock Through Walls


Surf down glitch

Grass/rock Surfing glitch (Spanish/Italian only) (adaptions: Submerge glitch (international)) | 8 8 (0x7C) grass/rock surfing glitch (English Red/Blue))

(view, talk, edit)
This article is a summary page for different variations of a glitches, etc. when talked about as a whole.
Bulbapedia also has an article about Move 0x00 corruption (Generation I).
PRAMA Initiative a également une page sur Move 0x00 corruption (Generation I).
Viewing '-' on the Fight screen.

For the glitch move in Pokémon Red and Blue, please see AttackDex/RB:000.

For the glitch move in Pokémon Yellow, please see AttackDex/Y:000.

Move 0x00 corruption, also known as CoolTrainer♀ glitch refers to the corruptions in Pokémon Red, Blue, and Yellow caused by a buffer overflow in the random internal names of glitch move "-" (which are of variable length).

The applications of this were documented and popularised by TheZZAZZGlitch (along with the discovery of how Super Glitch works). Move 0x00 corruption has also become a notable exploit in the history of various Pokémon glitched speedruns, such as 'catch 'em all'.

Nature

Screen tiles affecting Pokémon, DV/EV, level yields by Dabomstew.

An effect similar to Super Glitch may be triggered with '-' when it is the first move by opening the fight menu or trying to move the cursor. After the effect occurs, the type of '-' may change from CoolTrainer♀ to another type.

Unlike other unterminated name/Super Glitch moves, only one buffer overflow occurs with '-' (at memory address $CF4B, but not $D0E1). No corruption is caused by the '-' move when viewing it from a status screen.

Triggering the move 0x00 corruption with '-' requires more luck than other Super Glitch moves, so the player may need to keep 'moving' the cursor or opening and closing the fight menu. After a certain point in the player's game, CoolTrainer♀ induced corruption may stop working, due to hex:50 characters appearing in its internal name too early. There is no known guaranteed way to fix this other than to use a different cartridge.

The most basic effect that can be triggered with the CoolTrainer♀ move is the TMTRAINER effect, by opening the 'PkMn' menu from within battle before viewing it in the 'Fight' menu. Triggering the TMTRAINER effect in Diglett's Cave will let you avoid a freeze immediately after the battle ends. Opening the start menu after the TMTRAINER effect happens and the battle ends may be required to avoid a freeze after exiting the cave.

With the TMTRAINER effect, the enemy Pokémon's species will change into a level 127 Missingno. (hex:32) if sprites are not flipped, and a level 127 Horsea is obtainable by catching the enemy Pokémon if the sprites are flipped. Though the Pokémon's sprite will not change to the new Pokémon until it is captured, its palette may change to that of the new Pokémon.

In the Japanese versions (at least Red/Green), the equivalent Pokémon are Level 127 Missingno. (hex:38) and Level 127 Pikachu.

Advanced Red/Blue usage

In Pokémon Red and Blue, more Pokémon can be obtained with '-' (and also Super Glitch) by viewing the Pokémon menu in specific places where there is a 0x50 sub-tile (often the 'bottom-left corner of a bush' tile) between y coordinates 09-0C (these are BGB coordinates; y starts as 00 at the top of the screen and increases the further down you go) before entering Diglett's Cave and triggering move 0x00 corruption with '-'. Additionally the sub-tile at BGB coordinates y=06, x=01 must be equal to the desired Pokémon.

For an image showing where the bush tiles should be, and further information, please see this Youtube video by TheZZAZZGlitch.

Keep in mind that the start menu is added to the saved screen data, and the west most tiles of the start menu are between x=0A-13, so the 50 tiles replaced with start menu tiles don't count.

Advanced Yellow usage

Despite the fact that 0x00 move corruption no longer works by directly bringing over tiles from outside of battle in this version, it is still possible to get the aforementioned Level 127 MissingNo. or Horsea by flashing the items menu in battle.

Additionally, using the Pokédex glitch item and closing it will print tiles on the screen in battle (but not in the same pattern as outside of battle), which can be used to potentially access CoolTrainers by flashing the items menu from within battle.

Additionally, the glitches LOL glitch and Rival LOL glitch which make use of unterminated name glitch items are alternative glitches to 0x00 move corruption and can be used together to obtain many Pokémon and/or glitch Pokémon.

Effect of using the move

This effect ignores move 0x00 corruption:

In Pokémon Red and Blue and Yellow, '-' acts as a damaging move with Fissure's animation that may freeze the game if it doesn't defeat the opponent.

In Pokémon Red and Blue, the effect of the move (move effect 0x74) executes arbitrary code at F928 (Echo RAM for D928). For more information on how to exploit this, see here.

Note

A Pokémon with '-' as the first move can be traded to Pokémon Gold, Silver and Crystal, where it will become - (Generation II move), because a Pokémon is not deemed 'abnormal' by its moves.

See also