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.
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.
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.
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.
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.
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.
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.
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.
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.
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.