CoolTrainer♀ forced 'instant' victory glitch (Pokémon Red/Blue)

3,807 views · Published 19 October 2014 · 8:46 · Indexed 23 September 2026

Channel: Evie (ChickasaurusGL) 🌺 · 2014 · Gaming

Watch on YouTube

Read description for more information:

This glitch technique was found by Golderzoa333 in Pokémon Red/Green. I verified it in Red/Blue. It may start to not work after a certain point. It lets you end a battle as if you won, although your CoolTrainer Pokémon may be put to sleep (and it always is in the example I use), so it may take some time to end the battle as opening the items menu or Pokémon menu, etc. means you have to repeat the glitch. Luckily, my Ditto was given an extremely high amount of HP, allowing me to 'defeat' the entire Elite Four with it.

Mechanics:

Background:
First see TheZZAZZGlitch's video: https://www.youtube.com/watch?v=Sst_5kAX2y4

The hex:00 move's internal name is random and is taken from the memory. I don't know the exact mechanics of that. When you view it in battle, the first twenty bytes in its name are written to a buffer at $CD6D. This data up to a 50 terminator (which all moves normally have) is then written to $CF4B.

However, when the hex:00 move's name does not have a 50 terminator, the game copies more than 20 bytes from $CD6D to the buffer. This may be a huge amount of bytes. Data past the first 20 bytes is the start of screen data that is updated every time you open the Pokémon menu, the items menu and other things, and this glitch makes it get written to $CF5F and beyond, up to the first 50 tile inclusive.

If there is no 50 tile on the screen (which looks like the bottom left corner of a bush tile on the main overworld tileset) the game will freeze. If it's too late, the battle will mess up, and if you're in battle and the first 50 tile is beyond BGB coordinate x=0F, y=0F (but practically x=09, y=0F because menu tiles are here from x=0A-13), then the game will freeze.

CoolTrainer has been recently used when it comes to speedrunning to get Pokémon, as address CFD8 determines the enemy Pokémon in battle and is manipulable with CoolTrainer (specifically, BGB coordinate x=1 and y=06 determines it). Additionally, for that trick a 50 tile has to be between BGB coordinates y=09-0C or earlier (but not too early or you won't mutate the Pokémon) to avoid messing up the battle too much.

This trick:

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 and without the game freezing when the battle ends even when you're not in a cave, for some reason.

Steps:
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 this spot in Vermilion City http://i7.minus.com/ieikCR9ZnZSSo.png 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.

More from this channel