Poké Mart data structure (Generation I)

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
Poké Mart in Generation I

This is the Poké Mart data structure in Generation I games.

Overview

In each game, there is a data block containing the list of items sold in each Poké Mart.

When the player talks to a Poké Mart clerk, the data pertaining to the current Poké Mart (the total number of items, as well as the list of items) is copied to the RAM to be used (even before the player enters the "Buy" option and sees the list of items). These values remain in the RAM even after the player leaves the Poké Mart.

The fourth Poké Mart found in the game code is simply set up to sell a Bicycle, but this data remains unused. The Miracle Cycle in Cerulean City delivers the Bicycle using a separate script, which does not use this Poké Mart data.

FE value

The hexadecimal FE value is found at the start of each Poké Mart in the game data. This value is not copied to the RAM data used for the current Poké Mart.

Total number of items

At the start of the data for each Poké Mart (after the FE value, except in the data copied to the RAM), there is a value for the number of items available. The game starts counting from 00, but the "Cancel" button at the end counts as an additional item.

For instance, the Vermilion City Poké Mart has the value "06" for the number of items. This Poké Mart stores seven items in the game's memory (counting from 00 to 06): the six regular items (Poké Ball, Super Potion, Ice Heal, Awakening, Parlyz Heal, and Repel), as well as the "Cancel" button as the seventh item.

List of items

After the number of items, all the following values are the index numbers of items sold in this Poké Mart. (for instance, Potion's index number is hexadecimal 14)

In all Poké Marts, the "Cancel" button is stored as the item FF at the end, which represents the unobtainable TM55.

If the last item is changed to any item index number other than FF, the respective item name will appear at the end instead of the "Cancel" button, and some glitched data may appear below the last item. However, even if the last item is not "Cancel", the player will still be unable to buy it.

List of Poké Marts

This is the list of all Poké Marts found in the Generation I game data. The item index numbers are formatted in bold.

Order Place Data Items
1 Viridian City Poké Mart FE 04 04 0B 0F 0C FFRGB

FE 05 04 14 0B 0F 0C FFY

Poké Ball, PotionY, Antidote, Parlyz Heal, and Burn Heal
2 Pewter City Poké Mart FE 07 04 14 1D 0B 0C 0E 0F FF Poké Ball, Potion, Escape Rope, Antidote, Burn Heal, Awakening, and Parlyz Heal
3 Cerulean City Poké Mart FE 07 04 14 1E 0B 0C 0E 0F FFRGB

FE 08 04 14 1D 1E 0B 0C 0E 0F FFY

Poké Ball, Potion, Escape RopeY, Repel, Antidote, Burn Heal, Awakening, and Parlyz Heal
4 (unused; possibly intended for Miracle Cycle) FE 01 06 FF Bicycle
5 Vermilion City Poké Mart FE 06 04 13 0D 0E 0F 1E FF Poké Ball, Super Potion, Ice Heal, Awakening, Parlyz Heal, and Repel
6 Lavender Town Poké Mart FE 09 03 13 35 1D 38 0B 0C 0D 0F FF Great Ball, Super Potion, Revive, Escape Rope, Super Repel, Antidote, Burn Heal, Ice Heal, and Parlyz Heal
7 Celadon Department Store 2F FE 09 03 13 35 38 0B 0C 0D 0E 0F FF Great Ball, Super Potion, Revive, Super Repel, Antidote, Burn Heal, Ice Heal, Awakening, and Parlyz Heal
8 FE 09 E8 E9 CA CF ED C9 CD D1 D9 FF TM32 (Double Team), TM33 (Reflect), TM02 (Razor Wind), TM07 (Horn Drill), TM37 (Egg Bomb), TM01 (Mega Punch), TM05 (Mega Kick), TM09 (Take Down), and TM17 (Submission)
9 Celadon Department Store 4F FE 05 33 20 21 22 2F FF Poké Doll, Fire Stone, Thunder Stone, Water Stone, and Leaf Stone
10 Celadon Department Store 5F FE 07 2E 37 3A 41 42 43 44 FF X Accuracy, Guard Spec., Dire Hit, X Attack, X Defend, X Speed, and X Special
11 FE 04 24 25 26 27 FF*

FE 05 23 24 25 26 27 FF*

HP Up*, Protein, Iron, Carbos, and Calcium
12 Fuchsia City Poké Mart FE 06 02 03 13 35 34 38 FFRGB

FE 06 02 03 12 35 34 38 FFY

Ultra Ball, Great Ball, Super PotionRB, Hyper PotionY, Revive, Full Heal, and Super Repel
13 (unused) FE 05 03 12 13 34 35 FF Great Ball, Hyper Potion, Super Potion, Full Heal, and Revive
14 Cinnabar Island Poké Mart FE 07 02 03 12 39 1D 34 35 FF Ultra Ball, Great Ball, Hyper Potion, Max Repel, Escape Rope, Full Heal, and Revive
15 Saffron City Poké Mart FE 06 03 12 39 1D 34 35 FF Great Ball, Hyper Potion, Max Repel, Escape Rope, Full Heal, and Revive
16 Indigo Plateau Poké Mart FE 07 02 03 10 11 34 35 39 FF Ultra Ball, Great Ball, Full Restore, Max Potion, Full Heal, Revive, and Max Repel

Poké Mart data locations

This is where the Poké Mart data block is stored in each Generation I game.

All Poké Marts

This is where the list of all Poké Marts is stored in each game.

Game Language Data start
(start of Viridian City Poké Mart)
Data end
(end of Indigo Plateau Poké Mart)
Data size
(bytes)
Pokémon Red and Green Japanese 1.0 0x0ED6 0x0F68 147
Japanese 1.1 0x0EC4 0x0F56
Pokémon Blue Japanese 0x2422 0x24B5 148
Pokémon Red and Blue English, German, Italian 0x2442 0x24D5
French 0x243E 0x24D1
Spanish 0x2441 0x24D4
Pokémon Yellow Japanese 1.0 0x2368 0x23FD 150
Japanese 1.1, 1.2 0x236D 0x2402
English, Italian 0x233B 0x23D0
French 0x2337 0x23CC
German 0x2340 0x23D5
Spanish 0x233A 0x23CF

Current Poké Mart

This is the RAM location that stores data for the Poké Mart currently used by the player.

Game Language Number of items Item index numbers
All Generation I games Japanese 0xCF62 0xCF63 onwards
Pokémon Red and Blue English 0xCF7B 0xCF7C onwards
French, German,
Italian, and Spanish
0xCF80 0xCF81 onwards
Pokémon Yellow English 0xCF7A 0xCF7B onwards
French, German,
Italian, and Spanish
0xCF7F 0xCF80 onwards
Example: Vermilion City Poké Mart
06 04 13 0D 0E 0F 1E FF


Data structure in the Pokémon games
General Character encoding
Generation I Pokémon speciesPokémonPoké MartCharacter encodingSave
Generation II Pokémon speciesPokémonTrainerCharacter encoding (Korean) • Save
Generation III Pokémon species (EvolutionPokédexType chart)
Pokémon (substructures) • MoveContestContest moveItem
Trainer TowerBattle FrontierCharacter encoding (GameCube) • Save
Generation IV Pokémon species (EvolutionLearnsets)
PokémonSaveCharacter encoding (Wii)
Generation V–present Character encoding
Generation VIII Save
TCG GB and GB2 Character encoding
Project Games logo.png This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.