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

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
>Torchickens
No edit summary
Line 356: Line 356:


[[Category:Generation I glitches]]
[[Category:Generation I glitches]]
[[Category:Glitch moves]]

Revision as of 10:37, 30 April 2017

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

"-", nicknamed "CoolTrainer move", is a 'move' with an index number of hex:00 in Pokémon Red, Blue, and Yellow. 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 (probably constant) type; "CoolTrainer♀" in Pokémon Red and Blue for when no Semi-Super Glitch effect is caused.

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.

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 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 Pokémon Red and Blue, starting from the first item in the pack :

  1. 8F (R/B) / ws m (Y)
  2. Any item x[any qty]
  3. Lemonade x1
  4. Iron x37 (R/B) / x36 (Y)
  5. X Accuracy x115
  6. Soda Pop x3
  7. Water Stone x3
  8. TM01 x[any qty]

Code :

  1. ld a, 1
  2. dec h
  3. dec h
  4. ld l, $73 (R/B) / $72 (Y)
  5. dec a
  6. inc bc
  7. ldi (hl), a
  8. inc bc
  9. 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

#250 family:

#000 family:

  • 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

Glitch Pokémon Index number (dec) Level(s) it learns '-'
▶ A (hex:BF) 191 248
ゥ (hex:C1) 193 33
. 4 (hex:C2) 194 97, 123
POKéWTRAINER (hex:C4) 196 139
♀pゥ ゥ ゥ (hex:C7) 199 115, 219
PC 4S H (hex:CA) 202 28, 62
TRAINER (hex:CD) 205 181
W G d (hex:CE) 206 248
O PkMn4 X (hex:CF) 207 33
PkMn PkMn T (hex:D0) 208 22
4B 8 4 8 (hex:D1) 209 165
M p' u ゥ (hex:D3) 211 234
pゥ ゥ ゥ (hex:D5) 213 12, 13, 115, 131, 137
4 h (hex:D6) 214 4
PkMnRPkMn B (hex:D9) 217 6, 11
B (hex:DA) 218 3
(hex:DC) 220 3
7 PkMn 'v (hex:DD) 221 12, 13, 115, 131, 137
'v (hex:E1) 225 234
...... (hex:E2) 226 248
(hex:E4) 228 4, 33
C (hex:E5) 229 248
(hex:E6) 230 4
pゥ (hex:E7) 231 234
c (hex:E9) 233 3
(hex:EB) 235 38
h ゥ (hex:ED) 237 248
g (hex:EE) 238 33
94 (hex:F1) 241 12, 22
ゥ (hex:F2) 242 192, 248
ゥ (hex:F3) 243 28, 62
G 'Mp (hex:F6) 246 240
' N g ゥ (hex:F8) 248 12, 13, 115, 131, 137
94 h (hex:F9) 249 38
(hex:FA) 250 6, 22
O (hex:FC) 252 234
6ゥ (hex:FD) 253 248
'M (hex:FE) 254 3, 7, 15, 31, 63, 127, 255
'M (hex:FF) 255 28, 62

In Pokémon Yellow

Glitch Pokémon Index number (dec) Level(s) it learns '-'
4A 4 (hex:BF) 191 234
♀ . (hex:C1) 193 16, 22
(hex:C8) 200 7, 15, 30, 31, 127, 255
PkMn (hex:CE) 206 234
(hex:D0) 208 16, 22
(hex:D4) 212 22
' ゥ. (hex:D5) 213 12, 13, 51, 87, 115, 131, 137
PkMn (hex:D6) 214 4
(hex:D7) 215 97, 123
(hex:D8) 216 22
ゥ ' B (hex:DB) 219 16
4, ゥァ (hex:DD) 221 12, 13, 51, 87, 115, 131, 137
4 89 4 (hex:E3) 227 7, 15, 30, 31, 127, 255
8B 4 8 (hex:E4) 228 4, 33
Z ゥ (hex:E5) 229 234
9ゥ (hex:E6) 230 4
'r ゥ (hex:EA) 234 8
4 ( h 4 ?? (hex:ED) 237 234
h pゥ ゥ... (hex:EF) 239 3, 7, 15, 31, 63, 127, 255
' B' ゥ (hex:F1) 241 12, 22
ゥ A (hex:F3) 243 28, 62
ゥ (hex:F8) 248 12, 13, 51, 87, 115, 131, 137
Q (hex:FF) 255 234

Semi-Super Glitch effect

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

See also: 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.

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.

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 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 'bottom-left corner of a bush' tile (hex:50) 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 '-'.

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.

Effect of using the move

This effect ignores Semi-Super Glitch:

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.