Pokémon Red and Blue/MissingNo.
Pokémon Red and Blue/MissingNo.
This is a sub-page of Pokémon Red and Blue.
One of the most popular intrigues in Pokémon and gaming history is the presence of a mysterious, glitchy non-Pokémon called "MissingNo." Known to the Japanese as けつばん (Ketsuban), this "Missing Number" is a placeholder used to fill the 39 empty entries in the 190-slot Pokémon ID list.
Contents
1 What is Missingno.?
1.1 Names
1.2 Sprites
1.3 Cries
1.4 List of MissingNo.
2 Base Stats and Pokédex Entry
3 Summoning the Beast
3.1 Method
3.2 Explanation
3.3 Side-Effects
3.3.1 Hall of Fame Corruption
3.3.2 Item Duplication
3.4 Other Versions
4 'M
What is Missingno.?
Each Pokémon in the first-generation titles is listed according to an internal index number. Unlike in later games, a Pokémon's ID number does not correspond to its Pokédex number. Instead, the numbers may represent the order in which each Pokémon was programmed into the game, or an early order for the Pokédex.
Notably, while only 151 Pokémon are featured in the flagship titles, the table has a total of 190 entries, 39 of which are empty of Pokémon and contain placeholders known as MissingNo. Each MissingNo. has a unique name string, sprite, cry, move table, and evolution table. All the move and evolution tables are blank, but some of the names, sprites, and cries are unique.
Names
In the English versions of Red and Blue, there are 39 instances of the string "MissingNo.", each used by an empty entry in the internal index table.
In the Japanese games, 38 of the entries use the name けつばん (Ketsuban), literally "missing number". The final blank entry, however uses the name ゴースト (Ghost), and its sprite is the ghost of Cubone's mother. As mentioned in the Sprites section below, the graphic is used during the encounter with the ghost in the Pokémon Tower. Despite its graphic being used, this name text isn't normally visible, even during the battle. It's also the only instance of ゴースト (Ghost) in the ROM. Spirits are always referred to in-game as ゆうれい (Yuurei).
Sprites
36 MissingNo. use interpret garbage data when displaying a sprite, and due to the abnormally large size of this garbled graphic, viewing it causes the player's Hall of Fame data to become corrupted.
The final three MissingNo., however, have legitimate sprite data:
Hex | Dec. | Sprite | Purpose |
---|---|---|---|
B6 | 182 | | Used to display the sprite of the Kabutops fossil. |
B7 | 183 | | Used to display the sprite of the Aerodactyl fossil. |
B8 | 184 | | Used to display wild Pokémon in the Pokémon Tower before obtaining the Silph Scope. |
Cries
Thirty of the MissingNo. have cries whose base, pitch, and length are set to 0:
Hex | Dec. | Cry | Base Type | Base | Pitch | Length |
---|---|---|---|---|---|---|
- | - | Nidoran♂ | 0 | 0 | 0 |
Two entries share their cries with existing Pokémon:
Hex | Dec. | Cry | Base Type | Base | Pitch | Length | Shares With |
---|---|---|---|---|---|---|---|
45 | 69 | Squirtle | 29 | 224 | 64 | Zubat | |
89 | 137 | Bulbasaur | 15 | 64 | 128 | Dragonair |
The remaining seven entries have unique cries, which are not shared with any other Pokémon in any generation:
Hex | Dec. | Cry | Base Type | Base | Pitch | Length |
---|---|---|---|---|---|---|
43 | 67 | Nidoran♂ | 0 | 128 | 16 | |
4F | 79 | Rattata | 34 | 255 | 64 | |
51 | 81 | Pidgey | 14 | 224 | 96 | |
5E | 94 | Bulbasaur | 15 | 64 | 192 | |
5F | 95 | Bulbasaur | 15 | 32 | 192 | |
7F | 127 | Rhydon | 17 | 32 | 16 | |
B5 | 181 | Squirtle | 29 | 0 | 128 |
For more information on Pokémon cries, see the respective Notes pages for Pokémon Red & Blue and Pokémon Gold & Silver.
List of MissingNo.
Hex | Dec. | EN Name | JP Name | Sprite | Cry |
---|---|---|---|---|---|
1F | 031 | MissingNo. | けつばん (Ketsuban) | | |
20 | 032 | MissingNo. | けつばん (Ketsuban) | | |
32 | 050 | MissingNo. | けつばん (Ketsuban) | | |
34 | 052 | MissingNo. | けつばん (Ketsuban) | | |
38 | 056 | MissingNo. | けつばん (Ketsuban) | | |
3D | 061 | MissingNo. | けつばん (Ketsuban) | | |
3E | 062 | MissingNo. | けつばん (Ketsuban) | | |
3F | 063 | MissingNo. | けつばん (Ketsuban) | | |
43 | 067 | MissingNo. | けつばん (Ketsuban) | | |
44 | 068 | MissingNo. | けつばん (Ketsuban) | | |
45 | 069 | MissingNo. | けつばん (Ketsuban) | | |
4F | 079 | MissingNo. | けつばん (Ketsuban) | | |
50 | 080 | MissingNo. | けつばん (Ketsuban) | | |
51 | 081 | MissingNo. | けつばん (Ketsuban) | | |
56 | 086 | MissingNo. | けつばん (Ketsuban) | | |
57 | 087 | MissingNo. | けつばん (Ketsuban) | | |
5E | 094 | MissingNo. | けつばん (Ketsuban) | | |
5F | 095 | MissingNo. | けつばん (Ketsuban) | | |
73 | 115 | MissingNo. | けつばん (Ketsuban) | | |
79 | 121 | MissingNo. | けつばん (Ketsuban) | | |
7A | 122 | MissingNo. | けつばん (Ketsuban) | | |
7F | 127 | MissingNo. | けつばん (Ketsuban) | | |
86 | 134 | MissingNo. | けつばん (Ketsuban) | | |
87 | 135 | MissingNo. | けつばん (Ketsuban) | | |
89 | 137 | MissingNo. | けつばん (Ketsuban) | | |
8C | 140 | MissingNo. | けつばん (Ketsuban) | | |
92 | 146 | MissingNo. | けつばん (Ketsuban) | | |
9C | 156 | MissingNo. | けつばん (Ketsuban) | | |
9F | 159 | MissingNo. | けつばん (Ketsuban) | | |
A0 | 160 | MissingNo. | けつばん (Ketsuban) | | |
A1 | 161 | MissingNo. | けつばん (Ketsuban) | | |
A2 | 162 | MissingNo. | けつばん (Ketsuban) | | |
AC | 172 | MissingNo. | けつばん (Ketsuban) | | |
AE | 174 | MissingNo. | けつばん (Ketsuban) | | |
AF | 175 | MissingNo. | けつばん (Ketsuban) | | |
B5 | 181 | MissingNo. | けつばん (Ketsuban) | | |
B6 | 182 | MissingNo. | けつばん (Ketsuban) | | |
B7 | 183 | MissingNo. | けつばん (Ketsuban) | | |
B8 | 184 | MissingNo. | ゴースト (Ghost) | | |
Base Stats and Pokédex Entry
Each MissingNo. is numbered #000 in the Pokédex. Pokémon base stats are ordered by Pokédex number, rather than internal index number, so this results in all 39 MissingNo. sharing the same basic information, including types, stats, moves, and Pokédex data. However, none of this data is actually valid. The game is actually reading data far beyond the boundaries of the base stats table, misinterpreting data used to define the parties of trainers as base stats.
The Pokédex entry for MissingNo. defines it as a "??? Pokémon" with a height of "1.0m" (3.3 ft) and a weight of "10.0kg" (22.1 lb), and uses a filler Pokédex entry reading 「コメント さくせいちゅう」 ("Comment to be written"). However, this information was not translated or localized in the English versions of the games, and became garbled, resulting in the Pokédex entry displaying an erroneous height of "10.0ft" (3.1 m) and a weight of "3507.2lb" (1590.8 kg).
Summoning the Beast
Method
In the English versions of Red and Blue, the best-known way to find yourself face-to-face with a MissingNo. is the following:
- Travel to Viridian City.
- Talk to the old man who shows you how to catch Pokémon, and watch his demonstration.
- Fly immediately to Cinnabar Island.
- Surf up and down the east coast of the island on the tiles where the water borders the land.
- Depending on the name you chose for your player character, an assortment of Pokémon and trainers at varying levels will appear.
- If you used one of the game's preset names, or input a custom name that included the characters G, H, J, M, S, :, ], a, b, c, m, o, p, v, w, x, or y, you may find yourself battling a MissingNo.
Explanation
The reasons for this curiosity are twofold:
First off, land/water border tiles are normally programmed to function like water tiles, and thus generate encounters with wild water Pokémon. However, the land/water border tiles on Cinnabar Island are unusual in that they behave like grass tiles. This means they attempt to generate encounters from the wild Pokémon encounter table, a list of Pokémon defined for each map. This table is normally repopulated each time a player enters an area containing wild Pokémon. However, because Cinnabar Island has no Pokémon encounter data, entering the map doesn't cause the table to update. As such, encounter data from the player's previous location remains in memory without being overwritten.
Secondly, during the Pokémon-catching demonstration in Viridian City, the player's name is changed to "OLD MAN". In order to preserve the player's moniker, their original name is stored into the wild Pokémon encounter table for the duration of the battle, then copied back over once the demo ends. As soon as the player enters an area with wild Pokémon encounters, this table will be repopulated, so this little programming sleight-of-hand normally has no effect on the game.
The combination of these two quirks is where things start to fall apart. Because Cinnabar lacks encounter data, entering the map does not cause the encounter table to repopulate. As a result, flying directly from Viridian to Cinnabar after watching the old man's demonstration results in the player's name remaining in the encounter table. The characters that make up the player's name are thus treated as encounter data, but these don't always correspond to valid Pokémon IDs. As the battles triggered by surfing up and down the coast of Cinnabar Island are drawn from this table, the player can, accordingly, expect to encounter anything from rare or legendary Pokémon to MissingNo., 'M, and glitched Trainers at impossibly high levels.
For a full list of which characters generate which encounters, refer to this chart on Bulbapedia.
Side-Effects
Hall of Fame Corruption
A well-known consequence of encountering MissingNo. in battle is the corruption of the Hall of Fame data in the player's PC. The reason for this corruption is that the games use SRAM as temporary storage when decompressing sprites. MissingNo.'s garbage data is interpreted as a compressed picture, resulting in an extraordinarily large sprite that extends beyond the bounds of the sprite decompression buffer, overflowing into the Hall of Fame data that follows it, and overwriting some of the data there. (The size of MissingNo.'s sprite is also the reason for wild MissingNo. encounter taking an abnormally long time to load.)
On a side note, what follows the Hall of Fame data is the sound engine data. In Red and Blue, MissingNo.'s sprite data isn't large enough to extend into it. In Yellow, however, it is, resulting in the sound engine data being interpreted as a Pokémon cry, and thus causing an unholy shriek as the battle begins.
Item Duplication
One of the contributors to MissingNo.'s fame is the item duplication glitch: Any time the player encounters MissingNo., 'M, or another glitch Pokémon with Pokédex number 000, the game attempts to set the "Pokémon has been seen" flag for that number in the Pokédex. Due to an integer underflow when calculating the address of this flag, the game instead sets the highest bit of the quantity of the sixth item in the player's bag, which results in a 128 unit increase.
If you catch the 'mon, the sixth item duplicates again (assuming it's been reduced to less than 128).
Other Versions
This glitch is not present in Japanese Red, Green, and Blue, as no Pokémon encounters occur on the land/water border tiles.
It was fixed in the Spanish and Italian versions of Red and Blue by programming the border tiles to behave as water tiles. However, it still remains in the German and French versions of these games. In the French version, encountering a MissingNo. or 'M causes the game to freeze.
The glitch was removed in all versions of Yellow by blanking the encounter table before overwriting it, and programming the border tiles to avoid triggering Pokémon encounters, as was already the case in the Japanese games.
'M
The glitch Pokémon 'M (whose name consists of corrupted graphics with "'M" in the middle) is often confused with MissingNo., as both can be encountered using the Old Man glitch, and both share the Pokédex number 000. However, unlike MissingNo., 'M is not pulled from unused internal index entries, but from unrelated data that follows the internal index. Its similarities to MissingNo. are coincidental.
Category:
- Subpages
Subpages
if(window.jQuery)jQuery.ready();if(window.mw){
mw.loader.state({"mw.PopUpMediaTransform":"loading","site":"loading","user":"ready","user.groups":"ready"});
}if(window.mw){
document.write("u003Cscript src="https://tcrf.net/load.php?debug=falseu0026amp;lang=enu0026amp;modules=mw.PopUpMediaTransformu0026amp;only=scriptsu0026amp;skin=vectoru0026amp;*"u003Eu003C/scriptu003E");
}if(window.mw){
mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.uls.pt"],null,true);
}if(window.mw){
document.write("u003Cscript src="https://tcrf.net/load.php?debug=falseu0026amp;lang=enu0026amp;modules=siteu0026amp;only=scriptsu0026amp;skin=vectoru0026amp;*"u003Eu003C/scriptu003E");
}
var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.tcrf.net/" : "http://stats.tcrf.net/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
if(window.mw){
mw.config.set({"wgBackendResponseTime":289});
}