Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of an article from Glitch City Laboratories wiki.

A live version of this article is available at the Glitch City Wiki here.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of the wiki in .tar.gz or .xml.gz formats.

Trainer mutation glitch

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

[hr] 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)

[hr] 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)

[hr] 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

[hr] 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))

[hr] 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

[hr] Pomeg glitch (Generation III)

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

[hr] Voiding (Generation IV)


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

[hr] 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

[hr] 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)

[hr] Large storage box byte shift glitch

Storage box remaining HP glitch | Generation I max stat trick

[hr] Pikachu off-screen glitch

Trainer corruption glitch

[hr] 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

[hr] Trainer escape glitch

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

[hr] Walk through walls

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

[hr] 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)

Select glitches in Japanese Pokémon Red, Green and Blue

Battle disabling Select glitch | Badge describer glitch | Dokokashira door glitch | Fossil conversion glitch | Item creation glitch | Lift glitch | Partial switch glitch (Red/Green v1.0 only) | Remaining PP into species Select glitch | Second type glitch | Skip to Level 100 glitch | Trainer mutation glitch | Walk through walls | Warp by Nidoran♂ glitch

(view, talk, edit)

Please note that this glitch only exists in the Japanese versions of the game, or is otherwise a glitch from a Pokémon game which was only released in Japan.

Trainer mutation glitch is a closed menu Select glitch in Pokémon Red, Green, and Pokémon Blue (Japanese).

It allows the player to change what groups of Trainers in a map say, how they turn, and what class they are. If the new 'class' is less than 200 (C8), then they will turn into Pokémon. The player can also change the Pokémon's levels.

Unfortunately the player can't manipulate the species/class of the first Trainer IDs 1-4 in a map unless they have a Pokémon with specific stat experiences (so no 'fresh' Pokémon) but they should be able to manipulate others.

Basic steps

1) Press Select on the 20th item.

2) Exit and go into battle, then swap the 20th Pokémon with a Pokémon of your choice.

3) Without using a warp, go to a Trainer and they should have 'mutated'. Do note that a Trainer's text may freeze the game, and beware of Missingno. in Red/Green.

The game may freeze after the switch with no documented fix.

Technical details

Every Trainer on a map has an ID. This glitch lets you change the Pokémon (or Trainer) and level that a certain Trainer ID is. The ID can be tracked with memory viewer by talking to a Trainer and viewing address CC55, CD4F, or CF0E. As maps have multiple Trainers (and IDs), you can mutate more than one Trainer.

When you switch the Pokémon, you're actually switching the 20th Pokémon with the first. This puts various Pokémon data into unrelated data, and one group causes the Trainer mutation effects.

Original AddressOriginal Address 1 dataDestination AddressDestination Address data
N/AN/AD463Trainer 01 turning data
N/AN/AD464Trainer 01 text
N/AN/AD465Trainer 02 turning data
N/AN/AD466Trainer 02 text
N/AN/AD467Trainer 03 turning data
N/AN/AD468Trainer 03 text
N/AN/AD469Trainer 04 turning data
N/AN/AD46ATrainer 04 text
N/AN/AD46BTrainer 05 turning data
N/AN/AD46CTrainer 05 text
N/AN/AD46DTrainer 06 turning data
N/AN/AD46ETrainer 06 text
D12BSpecies byte 2D46FTrainer 07 turning data
D12CCurrent HP byte 1D470Trainer 07 text
D12DCurrent HP byte 2D471Trainer 08 turning data
D12ELevel (possibly)D472Trainer 08 text
D12FStatus ailmentD473Trainer 09 turning data
D130Type 1D474Trainer 09 text
D131Type 2D475Trainer 10 turning data
D132Catch rateD476Trainer 10 text
D13FAttack experience byte 2D483Pokémon 1 species
D140Defense experience byte 1D484Pokémon 1 level
D141Defense experience byte 2D485Pokémon 2 species
D142Speed experience byte 1D486Pokémon 2 level
D143Speed experience byte 2D487Pokémon 3 species
D144Special experience byte 1D488Pokémon 3 level
D145Special experience byte 2D489Pokémon 4 species
D146Attack & Defense DVD48APokémon 4 level
D147Speed & Special DVD48BPokémon 5 species
D148PP of move 1D48CPokémon 5 level
D149PP of move 2D48DPokémon 6 species
D14APP of move 3D48EPokémon 6 level
D14BPP of move 4D48FPokémon 7 species
D14CPokémon levelD490Pokémon 7 level
D14DMax HP byte 1D491Pokémon 8 species
D14EMax HP byte 2D492Pokémon 8 level
D14FAttack byte 1D493 (unconfirmed)Pokémon 9 species
D150Attack byte 2D494 (unconfirmed)Pokémon 9 level
D151Defense byte 1D495Pokémon 10 species
D152Defense byte 2D496Pokémon 10 level


Let's say you want specific Pokémon for Trainer IDs 02 through to 07 as such.

ID 02: Level 1 Mew ID 03: Level 254 Mewtwo ID 04: Level 5 Articuno ID 05: Level 5 Zapdos ID 06: Level 5 Moltres ID 07: Level 100 Porygon

This would require the following data from address D141:

15 01 83 FE 4A 05 4B 05 49 05 AA 64

And that is:

  • Defense experience is 21 modulo 256.
  • Speed experience is exactly 387.
  • Special experience is 65098.
  • Defense DV is 5, Attack DV is 0.
  • Speed DV is 11, Attack DV is 4.
  • Move 1 PP is 5.
  • Move 2 PP is 73.
  • Move 3 PP is 5.
  • Move 4 PP is 42 w/2(?) PP Ups used.
  • Pokémon is level 100.

    Those requirements are totally unviable for non-cheat play, so it's a proof of concept, but you can get cool results with random Pokémon.

    YouTube video

  • REDIRECT Template:YouTube
    This article or section is a stub. You can help wiki by [ expanding it].