P
The whole name is a single capital P. Not a word, not a smear of symbols, just one letter left standing like the first keystroke of a name nobody finished. It is the plainest label in the catalogue, and it sits on top of one of the most instructive accidents in it.
Index 203 borrows the data of a real bird. Its shown species is 17, Pidgeotto, so it takes on clean Normal and Flying typing, sensible stats around the low sixties, a catch rate of 120, and the exact opening moves a Pidgey line carries, Gust and Sand-Attack. On paper it is a perfectly ordinary bird you could catch on Route 1. And yet its face is broken, a scramble of memory instead of feathers.
Here is why, and it is the key to half the creatures in this wing. The game reads a Pokemon's stats and moves from a table indexed by species, but it chooses which bank of the cartridge holds the sprite by the raw index number instead. P borrows Pidgeotto's soul but keeps its own index's address book, so the game looks for a Pidgeotto sprite in a drawer that holds something else entirely. The result is a creature that is statistically a bird and visually a mess. Its evolutions drift toward Venusaur and Scyther and the inevitable MissingNo., but the real lesson of P is quieter: in Red and Blue, what a thing is and what a thing looks like are stored in two different places, and the glitches are what happen when those two places disagree.
NORMAL FLYING
The bytes
| What | Where in the ROM | Value |
|---|---|---|
| Index number | slot 203 of the species table | 0xCB (203) |
| Pokedex byte | 0x410EE | 17 (borrowed from a real species) |
| Stats entry | 0x3859E | 11 3F 3C 37 47 32 00 02 78 71... |
| Size byte | entry byte 10 | 0x66 = 6 wide, 6 tall (the buffer holds 7x7) |
| Name bytes | 0x1CA02 | 19 2A 47 7E 4F 21 AF D3 CD 0D |
| Catch rate | entry byte 8 | 120 |
Front sprite pointer 0x780A resolves into ROM bank 0x0D (deterministic) at file offset 0x3780A. The decode is deterministic: it looks the same on every cartridge, every time.
Byte for byte identical in Blue.
Base stats
Its stat spread, straight from the entry bytes. Glitch specimens love extremes, a wall with zero attack, or a paper-thin speedster.
Moves
Knows from the start: GUST, SAND-ATTACK.
Learnset (read straight from its pointer)
| Level | Move |
|---|---|
| L18 | GLITCH MOVE 0xB0 |
| L49 | CONSTRICT |
| L77 | HARDEN |
| L75 | GLITCH MOVE 0xE4 |
| L201 | DIZZY PUNCH |
| L111 | WATERFALL |
| L247 | GLITCH MOVE 0xCC |
| L77 | GROWTH |
| L180 | LIGHT SCREEN |
| L212 | DISABLE |
| L125 | GUST |
| L68 | GLITCH MOVE 0xB9 |
| L27 | GLITCH MOVE 0xFF |
| L78 | METRONOME |
| L26 | GLITCH MOVE 0xAB |
| L206 | MEGA PUNCH |
| L86 | MEGA PUNCH |
| L85 | BODY SLAM |
| L54 | MIRROR MOVE |
| L255 | POISON GAS |
| L147 | SKULL BASH |
| L218 | PETAL DANCE |
| L170 | PSYWAVE |
| L4 | GLITCH MOVE 0xE1 |
TM and HM compatibility (flag bits, entry bytes 20 to 26)
| Machine | Move |
|---|---|
| TM02 | RAZOR WIND |
| TM04 | WHIRLWIND |
| TM06 | TOXIC |
| TM09 | TAKE DOWN |
| TM10 | DOUBLE-EDGE |
| TM20 | RAGE |
| TM31 | MIMIC |
| TM32 | DOUBLE TEAM |
| TM33 | REFLECT |
| TM34 | BIDE |
| TM39 | SWIFT |
| TM43 | SKY ATTACK |
| TM44 | REST |
| TM50 | SUBSTITUTE |
| HM02 | FLY |
Evolutions
| Trigger | Becomes |
|---|---|
| LEVEL 213 (glitch method 0x84) | VENUSAUR (0x9A) |
| LEVEL 234 (glitch method 0x40) | SCYTHER (0x1A) |
| LEVEL 160 (glitch method 0x0C) | \xeaL\xcf\x7c\xeaM\xcf4\x36\xcc (0xC6) |
| LEVEL 109 (glitch method 0x0A) | MISSINGNO. (0x87) |
| LEVEL 132 (glitch method 0x10) | MEW (0x15) |
| LEVEL 54 (glitch method 0xA5) | ABRA (0x94) |
| LEVEL 40 (glitch method 0xA6) | \x49\x3c\xc3\xd7\x24\x17\xbf\x55\x23 (0xE1) |
| LEVEL 162 (glitch method 0x38) | MISSINGNO. (0xB5) |
Evolutions locked past the ceiling
A Pokemon cannot pass level 100. This one's garbage evolution data never got the memo. It is promised an entire future, Venusaur, Mew, Scyther, but every prize is filed at a level the game will never let it reach. The single door that actually opens leads somewhere completely ordinary.
Told it could be a starter's final form or the rarest Pokemon in the game, and the only promise it can keep is turning into an Abra.
Hear its cry
A cry is three bytes the game looks up by index number: a base sound, a pitch, and a length. This specimen reads its three bytes straight from the table. I rebuild the sound live from the Game Boy's two pulse channels and its noise channel. This is not a recording.
Does it still work?
This is the question people actually ask about a glitch, so here is the honest answer for this one.
| Where | Still works? |
|---|---|
| Original Game Boy cartridge | Yes. The source of every byte on this page. |
| Game Boy Color / Super Game Boy | Yes, with the auto-assigned palette shown above. |
| 3DS Virtual Console (2016 re-release) | Yes. Nintendo shipped the re-release unpatched, so this is the most accessible way to reach it in 2026. |
| Later remakes (FireRed, Let's Go, and newer) | No. Rebuilt engines, the empty-slot overflow that produces this creature is gone. |
Fight it yourself
This is our from-scratch recreation of the Red battle engine. The enemy team is preset to this specimen; pick your own fighter, glitch or otherwise.
Every number on this page was read from a Pokemon Red ROM by reproducing the game's own out-of-bounds memory reads. Nothing is invented. Part of The Glitchhouse.