Move 0x00 corruption instant victory glitch

From Glitch City Wiki
Jump to navigation Jump to search

Move 0x00 corruption instant victory glitch, also known as CoolTrainer♀ forced 'instant' victory glitch is a glitch in Pokémon Red and Blue, a type of instant victory glitch and a derivative of Move 0x00 corruption.

It is obsoleted by partial escape instant victory glitch, as move 0x00 corruption instant victory glitch only works in Pokémon Red and Blue and is subject to move 0x00 corruption failure.


1) Get hex:00 as the first move by entering battle with a Ditto, transforming, then swapping the second/third/fourth move with the first and escaping. You can also do this with a Mew with Transform and less than four moves. Imagine that you are swapping the original moves and not the transformation moves and that non-existing moves are hex:00s.

2) Go to the spot below in Vermilion City or anywhere where the first 50h tile is between BGB coordinates x=01, y=0E to x=09, y=0F.

In theory, but not in practice, the max 50 can be at x=0F, y=0F but this is always a menu tile.

3) Don't move, then open the Pokémon menu or items menu. You can fly to the Pokémon League or elsewhere if you want.

4) Every time you enter a battle you can end it by viewing the CoolTrainer move and closing the menu. If it doesn't work try opening and closing the menu or trying to move the cursor. Do not open the item or Pokémon menu (even from within battle) or you'll have to do the glitch again. You may need Ditto to wake up naturally so you can open the fight menu every time you do the trick for the second and third time onward.


When a non-00 value is written to the address D078, it makes the battle end when you choose to fight or back out from the fight menu.

This address can be changed with CoolTrainer using specific screen data as the last location the player opened the Pokémon or items menu (or specific other menus), as it is buffer overflow technique depending on the data at $CD6D (containing a copy of the screen data), where the data is copied to $CF4B and overflows regions past the buffer until a 0x50 sub-tile datum (or other 0x50 byte) is found.