Jump to content

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

>GARYM9
m (Testing if I can even make edits again. Ignore.)
 
(7 intermediate revisions by 3 users not shown)
Line 9:
''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 nameapplications "CoolTrainerof move"this waswere takendocumented fromand thepopularised nameby of its type; "[[TypeDex/RB:122|CoolTrainer♀]]"TheZZAZZGlitch (hex:7A)along inwith {{RB}}the fordiscovery whenof nohow [[Super Glitch (Generation I)#Semi-|Super Glitch]] moveworks). ("-";Move CoolTrainer♀-type)0x00 corruption|Semi-Super Glitch]]has effectalso isbecome caused.a Innotable Yellowexploit itsin glitchthe typehistory isof insteadvarious thePokémon [[TypeDex/Y:049|randomlyglitched namedspeedruns, hex:31such glitchas type]]'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]].
 
==Obtaining '-' as the first move==
In Pokémon Red and Blue, the [[swapping Transform moves glitch]] can be used to put '-' in the first position of the moves list if the number of moves after the transformation is greater than the number of moves before the transformation.
 
Example 1: Ditto normally only knows [[bp:Transform (move)|Transform]], so if it transforms into a Pokémon with four moves, swapping the second move with the first will make it have CoolTrainer♀ as the first move after the battle.
 
Example 2: A Mew knowing only three moves including Transform can encounter a Pokémon with four moves and transform into it. Then, swapping the fourth move with the first move will give CoolTrainer♀ as the first move after the battle.
 
The swapping Transform moves glitch was fixed in Pokémon Yellow, however, the player can still trade a Pokémon with an accessible '-' over from Pokémon Red and Blue.
 
Certain glitch Pokémon know the CoolTrainer♀ move as their first starting move, and many can learn the CoolTrainer♀ move through level up, meaning that the first move can be replaced with it if the Pokémon already has four moves.
 
[[Arbitrary code execution]] can be used to obtain '-' as the first move, too. Here is a 8F setup for {{RB}}, starting from the first item in the pack:
# 8F (R/B) / ws m (Y)
# Any item x[any qty]
# Lemonade x1
# Iron x37 (R/B) / x36 (Y)
# X Accuracy x115
# Soda Pop x3
# Water Stone x3
# TM01 x[any qty]
Code :
# ld a, 1
# dec h
# dec h
# ld l, $73 (R/B) / $72 (Y)
# dec a
# inc bc
# ldi (hl), a
# inc bc
# ret
 
 
===0 initial PP and how to restore it===
After obtaining '-' as the first move it may have 0/13 PP at first, and healing at a Pokémon Center won't restore its PP. However, if the player uses a certain PP restoring item (Ether or Max Ether only), it's possible to use the move.
 
===Glitch Pokémon that know '-' as their first move===
 
====In Pokémon Red/Blue only====
<nowiki>#</nowiki>250 [[Glitch Pokémon family|family]]:
 
*[[GlitchDex/RB:191|▶ A (hex:BF)]]
*[[GlitchDex/RB:197|PkMn (hex:C5)]]
*[[GlitchDex/RB:208|PkMn PkMn T (hex:D0)]]
*[[GlitchDex/RB:214|4 h (hex:D6)]]
*[[GlitchDex/RB:223|. PkMn (hex:DF)]]
 
<nowiki>#</nowiki>000 family:
 
*[[Missingno.|Fossil and Ghost Missingno.]] only, if one of the Pokémon above is the last Pokémon in the party, and the Pokémon screen is opened before capturing it. (hex:B6-B8)
 
===Glitch Pokémon that know '-' through level up===
Note that this data was generated from the ROM, and has not been verified.
 
====In Pokémon Red/Blue====
 
{| border="1"
!Glitch Pokémon
!Index number (dec)
!Level(s) it learns '-'
|-
|[[GlitchDex/RB:191|▶ A (hex:BF)]]
|191
|248
|-
|[[GlitchDex/RB:193|ゥ (hex:C1)]]
|193
|33
|-
|[[GlitchDex/RB:194|. 4 (hex:C2)]]
|194
|97, 123
|-
|[[GlitchDex/RB:196|POKéWTRAINER (hex:C4)]]
|196
|139
|-
|[[GlitchDex/RB:199|♀pゥ ゥ ゥ (hex:C7)]]
|199
|115, 219
|-
|[[GlitchDex/RB:202|PC 4S H (hex:CA)]]
|202
|28, 62
|-
|[[GlitchDex/RB:205|TRAINER (hex:CD)]]
|205
|181
|-
|[[GlitchDex/RB:206|W G d (hex:CE)]]
|206
|248
|-
|[[GlitchDex/RB:207|O PkMn4 X (hex:CF)]]
|207
|33
|-
|[[GlitchDex/RB:208|PkMn PkMn T (hex:D0)]]
|208
|22
|-
|[[GlitchDex/RB:209|4B 8 4 8 (hex:D1)]]
|209
|165
|-
|[[GlitchDex/RB:211|M p' u ゥ (hex:D3)]]
|211
|234
|-
|[[GlitchDex/RB:213|pゥ ゥ ゥ (hex:D5)]]
|213
|12, 13, 115, 131, 137
|-
|[[GlitchDex/RB:214|4 h (hex:D6)]]
|214
|4
|-
|[[GlitchDex/RB:217|PkMnRPkMn B (hex:D9)]]
|217
|6, 11
|-
|[[GlitchDex/RB:218|B (hex:DA)]]
|218
|3
|-
|[[GlitchDex/RB:220|(hex:DC)]]
|220
|3
|-
|[[GlitchDex/RB:221|7 PkMn 'v (hex:DD)]]
|221
|12, 13, 115, 131, 137
|-
|[[GlitchDex/RB:225|'v (hex:E1)]]
|225
|234
|-
|[[GlitchDex/RB:226|...... (hex:E2)]]
|226
|248
|-
|[[GlitchDex/RB:228|(hex:E4)]]
|228
|4, 33
|-
|[[GlitchDex/RB:229|C (hex:E5)]]
|229
|248
|-
|[[GlitchDex/RB:230|(hex:E6)]]
|230
|4
|-
|[[GlitchDex/RB:231|pゥ (hex:E7)]]
|231
|234
|-
|[[GlitchDex/RB:233|c (hex:E9)]]
|233
|3
|-
|[[GlitchDex/RB:235|(hex:EB)]]
|235
|38
|-
|[[GlitchDex/RB:237|h ゥ (hex:ED)]]
|237
|248
|-
|[[GlitchDex/RB:238|g (hex:EE)]]
|238
|33
|-
|[[GlitchDex/RB:241|94 (hex:F1)]]
|241
|12, 22
|-
|[[GlitchDex/RB:242|ゥ (hex:F2)]]
|242
|192, 248
|-
|[[GlitchDex/RB:243|ゥ (hex:F3)]]
|243
|28, 62
|-
|[[GlitchDex/RB:246|G 'Mp (hex:F6)]]
|246
|240
|-
|[[GlitchDex/RB:248|' N g ゥ (hex:F8)]]
|248
|12, 13, 115, 131, 137
|-
|[[GlitchDex/RB:249|94 h (hex:F9)]]
|249
|38
|-
|[[GlitchDex/RB:250|(hex:FA)]]
|250
|6, 22
|-
|[[GlitchDex/RB:252|O (hex:FC)]]
|252
|234
|-
|[[GlitchDex/RB:253|6ゥ (hex:FD)]]
|253
|248
|-
|[[GlitchDex/RB:254|'M (hex:FE)]]
|254
|3, 7, 15, 31, 63, 127, 255
|-
|[[GlitchDex/RB:255|'M (hex:FF)]]
|255
|28, 62
|}
 
====In Pokémon Yellow====
{| border="1"
!Glitch Pokémon
!Index number (dec)
!Level(s) it learns '-'
|-
|[[GlitchDex/Y:191|4A 4 (hex:BF)]]
|191
|234
|-
|[[GlitchDex/Y:193|♀ . (hex:C1)]]
|193
|16, 22
|-
|[[GlitchDex/Y:200|(hex:C8)]]
|200
|7, 15, 30, 31, 127, 255
|-
|[[GlitchDex/Y:206|PkMn (hex:CE)]]
|206
|234
|-
|[[GlitchDex/Y:208|(hex:D0)]]
|208
|16, 22
|-
|[[GlitchDex/Y:212|(hex:D4)]]
|212
|22
|-
|[[GlitchDex/Y:213|' ゥ. (hex:D5)]]
|213
|12, 13, 51, 87, 115, 131, 137
|-
|[[GlitchDex/Y:214|PkMn (hex:D6)]]
|214
|4
|-
|[[GlitchDex/Y:215|(hex:D7)]]
|215
|97, 123
|-
|[[GlitchDex/Y:216|(hex:D8)]]
|216
|22
|-
|[[GlitchDex/Y:219|ゥ ' B (hex:DB)]]
|219
|16
|-
|[[GlitchDex/Y:221|4, ゥァ (hex:DD)]]
|221
|12, 13, 51, 87, 115, 131, 137
|-
|[[GlitchDex/Y:227|4 89 4 (hex:E3)]]
|227
|7, 15, 30, 31, 127, 255
|-
|[[GlitchDex/Y:228|8B 4 8 (hex:E4)]]
|228
|4, 33
|-
|[[GlitchDex/Y:229|Z ゥ (hex:E5)]]
|229
|234
|-
|[[GlitchDex/Y:230|9ゥ (hex:E6)]]
|230
|4
|-
|[[GlitchDex/Y:234|'r ゥ (hex:EA)]]
|234
|8
|-
|[[GlitchDex/Y:237|4 ( h 4 ?? (hex:ED)]]
|237
|234
|-
|[[GlitchDex/Y:239|h pゥ ゥ... (hex:EF)]]
|239
|3, 7, 15, 31, 63, 127, 255
|-
|[[GlitchDex/Y:241|' B' ゥ (hex:F1)]]
|241
|12, 22
|-
|[[GlitchDex/Y:243|ゥ A (hex:F3)]]
|243
|28, 62
|-
|[[GlitchDex/Y:248|ゥ (hex:F8)]]
|248
|12, 13, 51, 87, 115, 131, 137
|-
|[[GlitchDex/Y:255|Q (hex:FF)]]
|255
|234
|}
 
==Semi-Super Glitch effect==
[[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.
Line 343 ⟶ 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.
 
Triggering the Semi-Supermove Glitch0x00 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.
 
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, [httphttps://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-Supermove Glitch0x00 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].
Line 359 ⟶ 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.
 
Additionally, using the [[Pokédex (glitch item)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.
 
==Effect of using the move==
This effect ignores Semi-Supermove Glitch0x00 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 {{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 [httphttps://forums.glitchcity.info/index.php?topic=7504.0 here].
 
==Note==
Line 374 ⟶ 53:
 
==See also==
*[[Japanese unterminated name glitch item instant encounter glitch]]
*[[Super Glitch (Generation I)]]
*[[LOL glitch]]
 
[[Category:Generation I glitches]]
182

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.