Pokémon Red and Blue

Pokémon Red and Blue Versions, originally released in Japan as Pocket Monsters: Red and Green and later as Pocket Monsters: Blue, are the original Pokémon games that glued many children to their Game Boys as they began their quest to become the Pokémon champion.

Early Pokédex Order


Unlike later games, the internal Pokémon species table is far from sorted: they aren't grouped by their evolutionary families nor any other reasonable order. For example, index numbers, , and are Rhydon, Kangaskhan, and Nidoran♂. This is likely an early Pokédex order, or even the order in which the Pokémon were originally added to the game.

One special episode of Game Center CX features an interview with Pokémon creator Satoshi Tajiri. During the interview, a possible early design document or proposal for the games is shown complete with close-up shots of three different Pokémon: Nidoking, Slowbro, and Kadabra. The documents depicted the Pokémon sprites from Red and Green as well as their names and Pokédex numbers. Interestingly, the numbers do not match up with the final Pokédex order but rather the internal species table, placing Nidoking at, Slowbro at , and Kadabra at. It can also be assumed that those screens come from a very early version of the in-game Pokédex function, considering the layout of the screen and the faintly visible Super Game Boy border.

Also of note is Nidoking's early name which, rather than the final ニドキング (Nidokingu), is マイコー♂ (Maiko♂).

In addition, the species table has 190 entries, 39 of which are completely blank and result in the game loading MissingNo. (see below) instead. Words from Shigeki Morimoto have supported that there were once 190 Pokémon planned for inclusion in the games.

MissingNo.
Arguably the most (in)famous glitch/leftover in any game due to its accessibility in-game via a glitch and the interesting and helpful side effects that result, such as cloning the item in the 6th slot.

The name "MissingNo." is short for "Missing Number", since it's used to fill the 39 empty slots of the 190-slot Pokémon species data table. In the Japanese version, its name is けつばん (Ketsuban), which literally translates into "missing number".

As a result, the aforementioned Pokémon species table has 39 entries which give MissingNo. a Pokédex number of #000. As the base stats are ordered by Pokédex number as opposed to index number, this results in all the 39 MissingNo. copies sharing the same type (Bird/Normal), stats, start moves, graphics, etc. None of this data is actually valid; the game reads data that is stored far outside the base stats table and is actually used to define the parties of trainers. In the Japanese Blue, MissingNo. points to data that defines it as a ''??? Pokémon, with a height of 1.0 m (3.3 ft) and 10.0 kg (22.1 lb), as well as a filler Pokédex entry saying 「コメント さくせいちゅう」 "Komento sakusei-chū", which translates into "Comment to be written''". This information was not translated in the English localization and hence displays the erroneous values of 10.0 ft (3.1 m) for the height and 3507.2 lb (1590.8 kg) for the weight when its Pokédex entry is viewed.

MissingNo. was made famous when players discovered a way to encounter it by exploiting a programming oversight. The land/water border tiles on the east coast of Seafoam and Cinnabar Islands are set to generate random wild Pokémon encounters from the current location (as grass tiles do) rather than with water Pokémon. Since these areas do not have random wild Pokémon encounter data, the data from the previous area is left in memory.

During the old man's Pokémon-catching tutorial in Viridian City, the player's name is changed to "OLD MAN". The original name is copied into the wild Pokémon encounter table for temporary storage. As soon as the player enters an area with wild Pokémon encounters, the table will be repopulated, so this normally has no effect on the game. However, taking advantage of the incorrect water tile assignment allows players to encounter wild Pokémon while the encounter table still contains the player's name. The letters of the name then define which Pokémon and at which levels will they appear; several letters correspond to invalid IDs, leading to encounters with MissingNo., 'M, or glitched Trainers at impossibly high levels.

The glitch Pokémon 'M (actual name consisting of corrupted graphics with 'M in the middle) is often confused with MissingNo., as they are both commonly found using the Old Man glitch and both have the Pokédex number 000, giving them the same in-battle sprite and base stats, and causing the item duplication glitch. However, 'M is not pulled from unused Pokémon data like MissingNo. but from other data located after the Pokémon data in ROM instead. Its similarities to MissingNo. are coincidental.

A fact that contributes to MissingNo.'s fame is the item duplication glitch. Any time the player encounters MissingNo., 'M, or any other glitch Pokémon with Pokédex number 000, the game attempts to set the "Pokémon has been seen" flag for that Pokémon in the Pokédex. Instead, it sets the highest bit of the quantity of the sixth item in the player's Bag, effectively adding 128 to it. If you catch it, the 6th item duplicates again.

Most variations of MissingNo. have similar appearances to the screenshot above, but it can also assume the sprite of one of the fossils in the Pewter City museum or a Pokémon Tower ghost depending on various factors. Each MissingNo. also has a separate cry. Most of these are simply set to three zeros, resulting in its cry sounding similar to Nidoran♂'s cry, however there are a few unique ones (see here). Each individual MissingNo. entry has a unique, empty move-learning and evolution table, further suggesting that these slots belonged to deleted Pokémon.

For further technical details, see here (Wayback Machine).

Bird Type


There is an unused Bird type for Pokemon within Red and Blue. It has no weaknesses or resistances, and only certain glitch Pokemon like MissingNo. have this type. It remains, still unused, in Pokémon Gold and Silver.

Extra Field Move
In the list of field moves, there is an unused entry between Fly and Surf. It points to an empty string in the field move name table. It has a move ID of, although the highest valid move ID is , suggesting that there were moves removed before the games were released. Its position in the list of field moves, between two HMs (all HMs are in order) suggest this may have once been an HM.

At offset is the unused text string "Ground rose up somewhere!", which is located near the string used when using Strength. It has been suggested that it was originally intended to be used for a field move.

"NORTH/WEST", "NORTH/EAST", and "SOUTH/EAST"
In addition to the normal options such as "YES/NO" and "HEAL/CANCEL", additional options "NORTH/WEST" (Japanese: きた/にし), "NORTH/EAST" (Japanese: きた/ひがし) and "SOUTH/EAST" (Japanese: みなみ/ひがし) are present but never used. "NORTH" and "EAST", while referenced in the Safari Zone, are found within strings of text rather than as options.

NORTH/WEST can be seen with GameShark code, NORTH/EAST can be seen with GameShark code and SOUTH/EAST can be seen with GameShark code.

Default Total PP of Struggle
Struggle is a move which cannot be learned during regular gameplay. It is only used when the user's Pokémon attempts to attack but has no available PP for any move left (note that in-game Trainers cannot run out of PP in Generation I). Regardless, the default total PP data for Struggle is referenced as 1, though there is a special handler for Struggle such that its remaining PP remains at 1 regardless of how many times the move is used.

The default total PP for Struggle has remained at 1 in all the main series handheld Pokémon games as of Generation V.

Unused Battle AI
There is data for unused battle AI which is normally never applied to any Trainer class, including "use X Accuracy" and "use Dire Hit".

Dragon Type is Super Effective against Itself
As with every subsequent generation, the Dragon type does super-effective damage to itself in Generation I. However, the only Dragon-type move in Generation I is Dragon Rage, which does a set regular damage of 40 HP, and hence this behavior is never seen in regular gameplay during this generation.

Unused Move Effects
There are a handful of effects in English Red and Blue which aren't used by any valid move, although some of these are used by the TM(xx) and HM(xx) glitch moves. Note that in the Japanese versions, effect (30.1% freeze chance) was used because the effect was assigned to Blizzard (see here).

Butterfree for Beedrill in-game Trade
There is an unused in-game trade in which the player would trade a Butterfree for a Beedrill, which was carried over from the Japanese Red and Green. In those versions, the traded Beedrill was originally nicknamed ピピん (Pipin); however, in the Japanese Blue (which the international Red and Blue are mainly based upon), its nickname was changed to チクチク (Chikuchiku).

As such, there is unused text in the English Red and Blue for a Beedrill nicknamed "CHIKUCHIKU".

Unused Items
There are several unused or dummied out items in the games. These remain present and unaltered in Yellow.


 * Coin - These items will stack but cannot be used (attempting to use it will bring up Professor Oak's unusable message) or stored into a Coin Case. Coins can be sold at a PokéMart for 5 Pokédollars per coin. If hacked into a PokéMart listing they are sold for 10 Pokédollars each.
 * False PP Up - For unknown reasons, there are two PP Up items stored in the game,  and .  is a fake PP Up which cannot be used (attempting to use it will bring up Professor Oak's unusable message). It can, however, be sold at a PokéMart for 4900 Pokédollars or purchased for 9800 Pokédollars if hacked into a PokéMart listing. Amusingly, the real PP Up has no value and can only be purchased/sold for 0 Pokédollars.
 * ?????  - An item with a dummied-out name. Using it is similar to using Surf from a Pokémon, but it can be used without any badges (or indeed any Pokémon). Additionally it can be used on Cycling Road without receiving the "Cycling is fun! Forget SURFing!" message. Either HMs didn't exist early in development, there were abandoned plans for a surfboard item, or this is a testing item.
 * ?????  - Also has a dummied-out name, but in this case attempting to use it does nothing except giving Professor Oak's unusable message regardless of whether the player is in battle, suggesting that it might be a dummied-out key item.
 * TM51–TM55 (-) - Contain the relevant HM moves, in order (e.g. TM51 teaches what HM01 would teach ― Cut). They work pretty much as expected, teaching a compatible Pokémon the appropriate move. Unlike the corresponding HMs, TM51-55 will stack and can be sold at a PokéMart. TM51 sells for 1500 Pokédollars (PokéMart price: 3000 Pokédollars), TM52 sells for 7000 Pokédollars (PokéMart price: 14000 Pokédollars ― appears as a glitchy tile followed by three 0s), TM53 sells for 0 Pokédollars (PokéMart price: 0 Pokédollars), TM54 sells for 4000 Pokédollars (PokéMart price: 8000 Pokédollars) and TM55 sells for 2000 Pokédollars (PokéMart price: 4000 Pokédollars). TM55 is actually used as the Cancel function ― it appears as Cancel and hides items below it.

Chief


Triggered by an hexadecimal identifier of. It actually has no sprite, but uses the Scientist Trainer class sprite because its identifier is directly before it. No rosters appear to be defined, meaning 'its first roster' is the first Scientist's roster. The Chief has not been found to give any valid victory speeches when defeated. Despite this, he is still mentioned in-game by a Team Rocket Grunt in one of the houses near the hotel in Celadon City, whose dialogue is "CHIEF! We just shipped 2000 POKéMON as slot prizes!"

Interestingly, the Japanese name of the Chief Trainer class is "シルフのチーフ" (Shirufu no Chīfu), which translates to "Silph's Chief". This implies that the player was originally meant to battle Silph Co.'s president.

Professor Oak


A battle with Professor Oak is programmed in, although he never actually battles the player during regular gameplay. The battle can be triggered with GameShark code (where the level of what would be a wild Pokémon corresponds with the roster value), or by using one of various glitches in the game. His name appears as "PROF.OAK" (Japanese: "オーキドせんせい" aka "Ōkido-sensei", rather than the normal "オーキドはかせ" aka "Ōkido-hakase").

Oak is programmed with three different teams, each consisting of a Level 66 Tauros, a Level 67 Exeggutor, a Level 68 Arcanine, and a Level 70 Gyarados. His fourth Pokémon is Level 69 and is either a Venusaur, Blastoise, or Charizard. It is assumed the game would choose the team with the final evolution of the starter Pokémon that neither the player nor the rival chose. Additionally, based on this team and their levels, it's likely he was supposed to appear at the very end, perhaps even after the final rival battle at Indigo Plateau.

When defeated and counting the fact that Professor Oak used one of the valid rosters mentioned above, he will give whatever dialog that the Trainer you used to fight him says when defeated. This means that he has no real "lost battle" dialogues of his own programmed in.

It is possible to battle him using the Ditto glitch (an extended version of the Mew glitch) with the last Special stat in memory as 226. He can be encountered (though without his appropriate roster) as a glitch Trainer while doing the Old Man glitch and having the MN symbol in the third, fifth, or seventh slots of the player's name. Another way of battling him is this select button glitch in Japanese Red, Green and Blue.

The data for this battle remains present in Yellow. The concept of battling a Pokémon professor would later be reused in Pokémon X and Y.

Deleted Maps
There are 26 deleted map locations, though header data still exists with the exception of a tentative unused town with its own Fly flag. All of these freeze the game when accessed.


 * Three deleted maps using the Victory Road map header, with identifiers -.
 * 17 deleted maps using the Pokémon League map header, with identifiers -, -, and -.
 * A deleted map using the Pokémon Tower map header, with identifier.
 * Three deleted maps use the Rocket HQ map header, with identifiers -.
 * A deleted map using the Rock Tunnel map header, with identifier.

Extra Town?
Map is stored alongside city/town maps (-; routes start with Route 1 at map ) and has Town Map location data as a town (not as a route) north of Indigo Plateau, since an unused flag when checked allows the player to Fly to it. It erroneously appears north of Indigo Plateau because its coordinates are undefined, leading the game to fallback to coordinates (0,0). The relevant Town Map name is also presumably undefined and shares its name with prefix : Pallet Town. Additionally, no Pokémon appear in map. From this, it can reasonably be concluded that there was at one point another town in that location, removed from the final releases.

Celadon House
An unused entrance exists to a house in Celadon City, but the door was removed in the final version. The map the door led to still exists, but was retrofitted into 5F of the Celadon Department Store (which previously had only four floors plus the roof).

You can appear where the door used to be with GameShark code.

Unused Alternative Maps
For unknown reasons, complete maps exist within the games which correspond to real locations, but these corresponding maps use different theme music for what was actually used for the same location in the final releases. These maps can be accessed via the map location modifier code.

Duplicate Diglett's Cave Map Data
There are two copies of the map data for Diglett's Cave in the English Red and Blue (and probably other localizations too). In these versions, the maps are at ROM offsets and.

Hidden Items in Unused Maps/Misplaced in Maps
In certain areas around the Safari Zone entrance, using your Itemfinder causes it to tell you there is a hidden item nearby, which is unobtainable. The item is a Nugget, located at the coordinates (10,1). This suggests that the map was changed during development without the hidden item being removed, as hidden item data is separate from other map data.

Pokémon Center data in other maps
Pokémon Center data including triggers for PCs can be found in maps that are not used as Pokémon Centers in Red and Blue. As there is no PC sprite, the PCs are invisible. All of the hidden PC triggers were removed in Yellow.

Celadon Hotel
The Celadon Hotel has an invisible PC in the same position as a Pokémon Center.

Safari Zone rest houses
Unused code suggests that 3 of the rest houses in the Safari Zone, specifically maps, and  were intended to function as Pokémon Centers. Each map has a trigger for an invisible PC in the same position as a Pokémon Center. Additionally, when healing at a Pokémon Center, the game saves your current location as the place to return to when using e.g. Teleport. The code checks if you're in one of the rest houses, and if so will not save your location.

Unused Japanese Text
Directly after text used for the names of the game's items, as well as the names of floors used for the elevators, there are some unused strings. While present in the Japanese Red and Green, they were not translated for the English Red and Blue, resulting in gibberish since the character table is incompatible between the two games. It starts from offset in an English ROM, and is as follows:


 * かみなりバッヂ (Thunder Badge - note that the actual Thunder Badge is called オレンジバッジ aka "Orange Badge" in the Japanese version)
 * かいがらバッヂ (Shell Badge)
 * おじぞうバッヂ (Jizo Badge)
 * はやぶさバッヂ (Falcon Badge)
 * ひんやりバッヂ (Cool Badge)
 * なかよしバッヂ (Friendship Badge)
 * バラバッヂ (Rose Badge)
 * ひのたまバッヂ (Fireball Badge)
 * ゴールドバッヂ (Gold Badge - same as the Japanese version's Marsh Badge)
 * たまご (Egg)
 * ひよこ (Chick)
 * ブロンズ (Bronze)
 * シルバー (Silver)
 * ゴールド (Gold)
 * プチキャプテン (Little Captain)
 * キャプテン (Captain)
 * プチマスタ (Little Master)
 * マスター (Master)

Unused Music
gKMW7E8tbGU Red and Blue have a short unused song with no defined pointers. It appears to be incomplete, as it only has two channels plus the octaves are set too high, whereas one of the channels doesn't go well with the rest of the music. The song is defined in the ROM with a relatively high tempo.

The addresses for the two channels can be heard and are stored in the ROM at offsets and, respectively.

The song can be patched to Pallet Town by changing offsets to,  to ,  to ,  to ,  to  and  to. This equates to the following Game Genie code:

132-2FB-F7D 692-30B-7F7 CF2-32B-917 692-33B-4CB 6F2-35B-911 6A2-36B-4CB



Unused Functions
Unused functions and subroutines in the program.

Default Player Character Names
In the English Red and Blue, starting a new game sets the player's name to "NINTEN" and the rival's to "SONY". These are normally not visible (the player is forced to choose a new name for both characters before they are displayed), but using a cheat code to skip the name entry dialog will make these preset names appear in-game.

In the original Red and Green, the player's name defaults to やまぐち (Yamaguchi, named after Wataru Yamaguchi, who is listed in the game credits under Special Thanks) while the rival's default name is いしはら (Ishihara, named after Pokémon developer Tsunekazu Ishihara). These were changed in the Japanese Blue to ゲーフリ (Gēfuri, an abbreviation of "Game Freak" in Japanese {ゲームフリーク aka "Gēmu Furīku"}) and クリチャ (Kuricha, a reference to Creatures Inc.), respectively.

Error Codes
Error codes are messages that appear when a character appears in the middle of a text string. Error codes appear in the format "(X) ERROR." In Pokémon Yellow, they appear in the format "(X) error." (X) is a number normally representing the identifier of the text string. When an error message is printed on the screen, all text after the character is ignored, however it's possible for other text to precede the error code, causing confusion ("54 error" vs "4 error" which happens to have a "5" before it).

Error codes may appear during the Trainer-Fly glitch. For example, fleeing from the long-range Trainer on Route 6, re-enabling the ability to use the start menu with a Trainer in a location other than Route 6 and returning to Route 6 after reading the PokéMart sign in Vermilion City will bring up a '9 ERROR.' as shown in the picture on the right. This is because the PokéMart sign has a text identifier of, stored in the memory address , so the game attempts to load the last text box ID in memory. The corresponding text for Route 6 doesn't exist and is presumably just a single character, so the game prints a '9 ERROR.' The PokéMart sign in Yellow has a text identifier of, which coincidentally does not give an error message, though the 'VERMILION CITY The Port of Exquisite Sunsets' sign has an identifier of  and brings up a '8 ERROR.' upon returning to Route 6.

Gift Pokémon Function
In Japanese Red and Green, an unused function exists at ROM addresses (Red v1.0),  (Green v1.0),  (Red v1.1) or  (Green v1.1), that adds three Pokémon to the player's party:
 * Exeggutor, level 90
 * Ekans, level 90
 * Rhydon, level 5

In Japanese Blue, the function is at and adds three Pokémon to the player's party:
 * Exeggutor, level 90
 * Chansey, level 100
 * Rhydon, level 5

In the English Red and Blue, the function is at at ROM address and adds five Pokémon to the player's party:
 * Exeggutor, level 90
 * Mew, level 20
 * Jolteon, level 56
 * Dugtrio, level 56
 * Articuno, level 57

In an interview with Pokémon developer Tsunekazu Ishihara, he states that Exeggutor is his favourite Pokémon, since he used it while debugging the game. This may explain the first entry in the list.

Green Reference (English Red only)


The English Red has VRAM tile data on the title screen for "GREEN", which unsurprisingly cannot be seen in regular gameplay. The English Blue does not have any respective data for "RED", though.

Unused PokéMart Data
Poké Mart data is listed between the Fuchsia City and Cinnabar Island Poké Marts but doesn't seem to be used. It lists Great Ball, Hyper Potion, Super Potion, Full Heal, and Revive as available purchasable items.

Placeholder Dialogue


Using a walk-through-walls cheat to enter the Pokémon exhibits outside of the Safari Zone entrance and attempting to talk to the Pokémon in them reveals that they have placeholder dialogue programmed in, most likely in order to prevent crashing. This dialogue can also be seen when attempting to talk to a trainer in the Cable Club.

Unused Graphics
Red, Green, Blue, and Yellow have many tileset blocks that are never used in any existing map. Tileset 13 was added in Pokémon Yellow.

Unused Tiles
A sign is present in this tilemap but is unused, other maps do use the graphic though.

Out Of View Graphics


There is a truck and boxes on the map that cannot be seen normally; however, there are tricks to see them.


 * You must be one block above and one block to the left of the guy who checks the ship's tickets. Now walk one block to the right and then press start immediately after you come to a stop. Now save and restart your game, your character should be facing right. Now use the HM Surf and you will surf onto the ticket checker; press Down to bypass him.


 * You acquire a Pokemon with the HM Cut through a trade. This bypasses getting the HM on the ship which as a result makes the ship leave. You then obtain the HM Surf later and you can now surf to see the truck.


 * Acquire the HM on the S.S. Anne and lose to a Pokemon battle. Come back to the ship once you can use surf.

Despite rumours, the truck is only decoration and does not have anything hidden around or under it, save for a Lava Cookie in the GBA remakes.

Cave
The cave tileset contains some graphics that resemble the standard rock graphics, but they appear to be shinier and transparent, suggesting that it might be ice.



Underground Path
The underground tunnel appears to be missing some graphics for the wall. Below is a recreation of how the tiles may have been arranged. It appears it was intended to have some sort of lighting fixture on the wall.

"Pocket Monsters!" Border Tiles
For some weird reason, the US Red and Blue still have the full tileset of the original Japanese "Pocket Monsters!" logo for the Super Game Boy borders. The European versions overwrote the logo as needed.