The Glitchhouse · Pokemon Red and Blue

The old man glitch

Let the old man in Viridian City show you how to catch a Pokemon, then surf the coast of Cinnabar. The game reads your name where the wild Pokemon should be, and the letters become the monsters.

Decoded from a Pokemon Red ROM · part of The Glitchhouse

When the old man catches a Weedle to teach you the ropes, the game briefly renames the wild encounter to "OLD MAN" and leaves that setup sitting in memory. Fly to Cinnabar, surf its east coast, and the game goes looking for water-encounter data that is not there. It reads your name instead, one byte per letter, as a list of levels and species. Your name becomes a menagerie, some of it real Pokemon, some of it MissingNo, all of it decided by how you spelled it.

Two halves of one glitch

The old man glitch takes two unrelated things and staples them together: a helpful tutorial, and a stretch of coast with missing data. Step through how they meet.

The demo borrows the wild-encounter slot to display "OLD MAN", and when it ends it leaves a pointer aimed at where your name lives in memory. Cinnabar's east coast has no water data of its own, so the game follows that leftover pointer and reads your name as the encounter list. Two halves, one glitch.

Your name, byte by byte

Here is exactly how your name is read. Gen 1 wild data is one rate byte, then pairs of level and species. Laid over your name, the first letter is the rate, and from there the letters alternate level, species, level, species. Type a name and watch which letters become the Pokemon.

byte 1 = rate even letters = levels odd letters = species
Only the 3rd, 5th and 7th letters become Pokemon; the others are read as their levels. If your name is shorter than seven, the game reads its end marker, the "@" byte 0x50, in the empty slots, and 0x50 is a gap in the list, so a short name summons a MissingNo where the letters run out.

The route, step by step

Doing it yourself is short. The only rules are to actually watch the demo and to fly straight to Cinnabar without triggering another wild battle in between. Tick each step.

The demo has to run in full, because it is the demo that leaves the pointer aimed at your name. Flying to Cinnabar keeps that leftover intact, and surfing the east coast is where the game finally reaches for water data it does not have. Then your name walks out of the sea.

Meet what your name summons

This is the part everyone wants to see. Type a name and meet the actual Pokemon it spawns, each one decoded from the ROM: the real sprite, its types, its base stats, and the exact moves a wild one would carry. Gaps in the list come out as MissingNo.

Every sprite, type, stat and move here is read from a real Pokemon Red ROM. The species come from your name's 3rd, 5th and 7th letters, with their levels from the letters before them, exactly as the game reads it. This is the same engine that powers our Name Glitch calculator.

Why short names summon MissingNo

The species come from the 3rd, 5th and 7th letters, but most names are not seven letters long. Where a letter is missing, the game reads the name's end marker, the "@" byte, and that byte is a gap in the list. Slide the name length and watch the empty slots turn into MissingNo.

The three species slots sit at letters 3, 5 and 7. Any of those past the end of your name reads the "@" end marker, which is byte 0x50 = 80, a gap in the Pokemon list. So the shorter your name, the more of the sea is MissingNo. Only a full seven-letter name fills all three slots with real letters.

Why this exact coast

You cannot do this just anywhere you can surf. It has to be the east coast of Cinnabar Island, and there is a precise reason. Compare a normal stretch of water with that one.

A normal water route carries its own list of Pokemon to meet. Cinnabar is a land map, and its map has no water-encounter list at all, so surfing off its edge sends the game looking for data that was never written. That single empty table is also what spawns MissingNo and powers the item duplication glitch. One coast, three legends.

The rest of the family

The old man glitch has close relatives, all born from that same broken coast. And if you want the full readout for your own name, the calculator is one click away.

MissingNo.The gap you meetThe garbage Pokemon your name lands on when a letter falls in an empty slot, decoded on its own page. Item DuplicationThe same read, your bagThe other half of the coast encounter: it also multiplies your sixth item by about 128.
Try your full name in the Name Glitch calculator →

Does it still work

The old man, the coast, and the empty water table are all in the original code, so the glitch runs wherever that code runs. The catch is the version: this is a Red and Blue routine.

The tutorial and the missing water table are present on every original Red and Blue, the 3DS re-release, and every emulator. Yellow reworked the Cinnabar area, so the classic route does not line up the same there. Everywhere it does work, your name comes out of the sea exactly the same way.

From the ROM

The whole thing rests on two small facts in the game's own source: what wild data looks like, and what the end marker is. Here they are.

; data/wild/grass_water.asm
    ; first byte is encounter rate
    ; followed by 20 bytes:
    ; level, species (ten times)

; constants/charmap.asm
    charmap "@", $50   ; string terminator, read as species 80 = a gap

Line your name up against that: byte one is the rate, then level, species, level, species. The species land on your 3rd, 5th and 7th letters, and any letter you did not type is the "@" marker, which is 80, a MissingNo. That is the entire glitch, from the source.

Go deeper: fight what your name summons in the battle engine | browse the Glitchhouse.