We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Pokémon Red and Blue

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Pokémon Red and Blue Versions

Also known as: Pocket Monsters: Red & Green (JP),
Pocket Monsters: Blue (JP)
Developer: Game Freak
Publisher: Nintendo
Platforms: Game Boy, Super Game Boy
Released in JP: February 27, 1996 (Red & Green);
October 15, 1996 (Blue)
Released in US: September 30, 1998
Released in EU: October 5, 1999
Released in AU: October 23, 1998


AreasIcon.png This game has unused areas.
DevMessageIcon.png This game has a hidden developer message.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
MusicIcon.png This game has unused music.
TextIcon.png This game has unused text.
RegionIcon.png This game has regional differences.


NotesIcon.png This game has a notes page
ProtoIcon.png This game has a prototype article
BugsIcon.png This game has a bugs page
PrereleaseIcon.png This game has a prerelease article

Template:NeedsUpdate 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.

Hmmm...
To do:
See all the other todos scattered around. Also, I think each piece of data needs sifted through to verify that it is also in Yellow so we can post a notice saying that, unless otherwise specified, all these are also in Yellow.

Sub-Pages

Blank.png
Version Differences
Differences in versions, as well as localization changes.

Pokémon

Early Pokédex Order

I sooo want that binder.

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 0x01, 0x02, and 0x03 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 0x07, Slowbro at 0x08, and Kadabra at 0x26. 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.

Hmmm...
To do:
A thorough explanation of what data is organized by index number and what data is organized by Pokédex number so that the differences and similarities between MissingNo. and 'M are clearer.
HEY! KID! I'LL GIVE YOU INFINITE RARE CANDIES! Just keep walking.

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

witty caption to be written

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.

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.

MissingNo.'s Cries
ID Cry
0x43
0x4F
0x51
0x5E
0x5F
0x7F
0x89
0xB5
Hmmm...
To do:
.ogg file for 0x45; the cry is exactly identical to Zubat's. See also: http://pastebin.com/yCry6qce This needs to be incorporated into the article.

For further technical details, see here.

Unused Mechanics

Bird Type

There is an unused Bird type for Pokemon within Red and Blue. The bird type doesn't have any weaknesses or resistances and only glitch Pokemon like MissingNo. have this type. The type remains, still unused, in Pokémon Gold and Silver.

Pokemon MissingNo..png

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 0xB4, although the highest valid move ID is 0xA5, 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 0x80096 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.

(Source: Sawakita)

"NORTH/WEST", "NORTH/EAST", and "SOUTH/EAST"

The "YES/NO" options replaced by the "NORTH/WEST" options

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 01012CD1, NORTH/EAST can be seen with GameShark code 01042CD1 and SOUTH/EAST can be seen with GameShark code 01022CD1.

Unused Items

Hmmm...
To do:
Further details on what throwing rocks or bait does in regular wild Pokémon and Trainer battles. Apparently, there is data within the coding of the Generation I games that shows Coins were at one point available for purchase at the price of (PD)10 per Coin.

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

  • BoulderBadge, CascadeBadge, ThunderBadge, RainbowBadge, SoulBadge, MarshBadge, VolcanoBadge, and EarthBadge - it looks like the badges were originally going to sit in the player's Bag, instead of being displayed on the Trainer Card information screen. They were probably removed due to storage limitations with the Bag. If hacked into the player's Bag and used outside of battle, they change the music to a loop of one of the jingles played after Oak evaluates the player's Pokédex progress. Using the BoulderBadge in battle causes the player to throw a rock like in the Safari Zone, while the CascadeBadge throws bait.
  • Coin - item data exists at identifier 3B for Coin, presumably one from the Game Corner. Normally, Game Corner coins are stored within the Coin Case key item instead.
  • ????? (07) - an item with a dummied-out name. Using it is identical to using Surf from a Pokémon. Either HMs didn't exist early in development, there were abandoned plans for a surfboard item, or this is a testing item.
  • ????? (2C) - 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 what would eventually become the HM moves. They work pretty much as expected, teaching a compatible Pokémon the appropriate move.

Unused Trainer Classes

Chief

Triggered by an hexadecimal identifier of 0xE3. It actually has no sprite, but uses the Scientist Trainer class sprite because its identifier is directly before it (0xE4). No rosters appear to be defined, neither has the Chief 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 01E2D8CF (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.

Alternatively, it is possible to battle him using the Ditto glitch (an extended version of the Mew glitch) by recurring to a Pokémon with a Special stat of 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.

The data for this battle remains present in Yellow.

Maps

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 0x69-0x6B.
  • 17 deleted maps using the Pokémon League map header, with identifiers 0x6D-0x70, 0x71-0x75, and 0xED-0xF4.
  • A deleted map using the Pokémon Tower map header, with identifier 0x94.
  • Three deleted maps use the Rocket HQ map header, with identifiers CC-CE.
  • A deleted map using the Rock Tunnel map header, with identifier E7.

Extra Town?

Map 0x0B is stored alongside city/town maps (0x00-0x0A; routes start with Route 1 at map 0x0C) and has Town Map location data as a town (not as a route; this is worth stressing out) north of Indigo Plateau, since an unused flag when checked allows the player to Fly to it. Additionally, no Pokémon appear in map 0x0B. From this, it can reasonably be concluded that there was at one point another town in that location, removed from the final releases.

The relevant Town Map name is presumably undefined and shares its name with prefix 0x00: Pallet Town. It erroneously appears to be north of Indigo Plateau because its coordinates are undefined, leading the game to fallback to coordinates (0,0).

Celadon House

Location of the deleted entrance

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 0108B5D3 0108B1D3.

(Source: Torchickens/IIMarckus)

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

Location Used map identifier Corresponding unused map identifier Music of used map Music of the corresponding unused map
House robbed by a Team Rocket Grunt in Cerulean City 0x3E 0x49 Cerulean City's Theme Mt. Moon Cave
Underground Path entrance (Route 6) 0x4A 0x4B Pewter City's Theme Vermillion City's Theme
Poké Mart in Cinnabar Island 0xAC 0xAD Pokémon Center Cinnabar Island's Theme
(Source: Glitch City forums)

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 0x60258 and 0x61F86.

Hidden Items in Unused Maps/Misplaced in Maps

Hmmm...
To do:
Show where the coordinates are located on the map (since it's a small enough map, it should be okay).

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.

Hmmm...
To do:
  • Verify map id 0x6F is unused before adding its hidden item.
  • Add my discovery about the Safari Zone rest houses.

Unused 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 4A92 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)

Miscellaneous Findings

Hmmm...
To do:
Organize.

Default Total PP of Struggle

Hmmm...
To do:
Where did this even come from? My sources say it's defined as 10 in the generic move data structure, but when loaded it's loaded as 1.

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.

Default Player Character Names

Hmmm...
To do:
How necessary is a video?

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.

(Source: IIMarckus)

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 Battle AI

Hmmm...
To do:
Is this list exhaustive (I'm pretty sure it's not)?

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

(Source: IIMarckus' Pokémon Red disassembly project)

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

Hmmm...
To do:
Is this list exhaustive?

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 23 (30.1% freeze chance) was used because the effect was assigned to Blizzard (see here).

Identifier Effect
0C Raises Speed by 1 stage.
0E Raises Accuracy by 1 stage.
15 Lowers Special by 1 stage.
17 Lowers Evasion by 1 stage.
1E Attacks for 2-5 turns.
23 30.1% chance of freezing the opponent.*
36 Raises Accuracy by 2 stages. (probability=hit chance)
37 Raises Evasion by 2 stages. (probability=hit chance)
3A Lowers Attack by 2 stages. (probability=hit chance)
3C Lowers Speed by 2 stages. (probability=hit chance)
3D Lowers Special by 2 stages. (probability=hit chance)
3E Lowers Accuracy by 2 stages. (probability=hit chance)
3F Lowers Evasion by 2 stages. (probability=hit chance)
48 9.8% (?) chance of lowering Accuracy by 1 stage.
49 9.8% (?) chance of lowering Evasion by 1 stage.
4A None.
4B None.

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

Unused Song

Hmmm...
To do:
Rip these two audio tracks (original data and restoration) into .ogg files.

Red and Blue have a short unused soundtrack 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 0xA913 and 0xA9CF, respectively.

The song can be patched to Pallet Town by changing offsets 0x822F to 0x13, 0x8230 to 0x69, 0x8232 to 0xCF, 0x8233 to 0x69, 0x8235 to 0x6F and 0x8236 to 0x6A. 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

(Source: Koolboyman)

Unused Pokémon Dialogue

Hey! How'd you get in here?

Normally unseeable during game play, using a walk-through-walls cheat to enter the Pokémon exhibits outside of the Safari Zone entrance reveals that they have dialogue programmed in.

Unused Graphics

Hmmm...
To do:
  • Upload tilesets, or at least upload unused blocks from those tilesets.
  • Make this list into a table.
  • Figure out what the other missing blocks in tilesets 03, 06, 0B, 0C, and 10 are.
  • See if tileset 0D has any unused blocks.

Red, Green, Blue, and Yellow have many tileset blocks that are never used in any existing map:

  • Unused blocks in tileset 03: 23, 2E, 30-32, 34-35, 37-3A, 3C-3D (there are possibly more)
  • Unused blocks in tileset 04: 02, 14
  • Unused blocks in tileset 06: 03, 05-09, 0B-0E, 10-11, 19, 20, 23-26, 2D-34, 39 (there are possibly more)
  • Unused blocks in tileset 0A: 1A, 30-32, 4E, 5F-7B
  • Unused blocks in tileset 0B: 28, 30, 32, 4B-4C, 75-76, 78 (there are possibly more)
  • Unused blocks in tileset 0C: 0F, 18-1A, 22-24, 26-30, 32, 34, 40-46, 48-4A, 6B (there are possibly more)
  • Unused blocks in tileset 10: 1F, 23-27 (there are possibly more)
  • Unused blocks in tileset 11: 0C-0D, 1D
  • Unused blocks in tileset 12: 06-08, 0A-0B, 10
  • Unused blocks in tileset 13: 03-04, 08, 0E (this is only in the Yellow Version.)