meta: schemaVersion: 1 id: b2b7d2d6-5cf0-4db1-9152-1efc7fe36926 gameName: "Pokemon Yellow" gamePlatform: "GB" macros: pokemonMacro: species: { offset: 0, type: "int", reference: "pokemonSpecies" } pokedexNumber: { offset: 0, type: "int", reference: "pokemonPokedexNumbers" } pokemonInParty: _: { offset: 0, type: "macro", macro: "pokemonMacro" } level: { offset: 33, type: "int" } expPoints: { offset: 14, type: "int", size: 3 } statusCondition: { offset: 4, type: "int", reference: "statusConditions" } maxHp: { offset: 34, type: "int", size: 2 } hp: { offset: 1, type: "int", size: 2 } attack: { offset: 36, type: "int", size: 2, description: "The Attack stat as it appears in the Pokemon's summary page in game" } defense: { offset: 38, type: "int", size: 2, description: "The Attack stat as it appears in the Pokemon's summary page in game" } speed: { offset: 40, type: "int", size: 2, description: "The Attack stat as it appears in the Pokemon's summary page in game" } special: { offset: 42, type: "int", size: 2, description: "The Attack stat as it appears in the Pokemon's summary page in game" } dvAttack: { offset: 27, type: "int", postprocessor: "(x - (x % 16))/16" } dvDefense: { offset: 27, type: "int", postprocessor: "x % 16" } dvSpeed: { offset: 28, type: "int", postprocessor: "(x - (x % 16))/16" } dvSpecial: { offset: 28, type: "int", postprocessor: "x % 16" } move1: { offset: 8, type: "int", reference: "moves", description: "Top moveslot" } move2: { offset: 9, type: "int", reference: "moves", } move3: { offset: 10, type: "int", reference: "moves" } move4: { offset: 11, type: "int", reference: "moves", description: "Bottom moveslot" } move1pp: { offset: 29, type: "int", postprocessor: "x % 64" } move2pp: { offset: 30, type: "int", postprocessor: "x % 64" } move3pp: { offset: 31, type: "int", postprocessor: "x % 64" } move4pp: { offset: 32, type: "int", postprocessor: "x % 64" } move1ppUp: { offset: 29, type: "int", postprocessor: "Floor(x / 64)" } move2ppUp: { offset: 30, type: "int", postprocessor: "Floor(x / 64)" } move3ppUp: { offset: 31, type: "int", postprocessor: "Floor(x / 64)" } move4ppUp: { offset: 32, type: "int", postprocessor: "Floor(x / 64)" } statExpHp: { offset: 17, type: "int", size: 2, description: "HP EV (stat experience)" } statExpAttack: { offset: 19, type: "int", size: 2, description: "Attack EV (stat experience)" } statExpDefense: { offset: 21, type: "int", size: 2, description: "Defense EV (stat experience)" } statExpSpeed: { offset: 23, type: "int", size: 2, description: "Speed EV (stat experience)" } statExpSpecial: { offset: 25, type: "int", size: 2, description: "Special EV (stat experience)" } type1: { offset: 5, type: "int", reference: "pokemonTypes" } type2: { offset: 6, type: "int", reference: "pokemonTypes" } trainerId: { offset: 12, type: "int", size: 2 } catchRate: { offset: 7, type: "int", description: "Held item when traded to gen2" } playerItem: item: { offset: 0, type: "int", reference: "items" } quantity: { offset: 1, type: "int" } encounter: level: { offset: 0, type: "int" } pokemon: { offset: 1, type: "int", reference: "pokemonSpecies" } storedPokemon: _: { offset: 0, type: "macro", macro: "pokemonMacro" } level: { offset: 3, type: "int" } expPoints: { offset: 14, type: "int", size: 3 } statusCondition: { offset: 4, type: "int", reference: "statusConditions" } hp: { offset: 1, type: "int", size: 2 } dvAttack: { offset: 27, type: "int", postprocessor: "(x - (x % 16))/16" } dvDefense: { offset: 27, type: "int", postprocessor: "x % 16" } dvSpeed: { offset: 28, type: "int", postprocessor: "(x - (x % 16))/16" } dvSpecial: { offset: 28, type: "int", postprocessor: "x % 16" } statExpHp: { offset: 17, type: "int", size: 2, description: "HP EV (stat experience)" } statExpAttack: { offset: 19, type: "int", size: 2, description: "Attack EV (stat experience)" } statExpDefense: { offset: 21, type: "int", size: 2, description: "Defense EV (stat experience)" } statExpSpeed: { offset: 23, type: "int", size: 2, description: "Speed EV (stat experience)" } statExpSpecial: { offset: 25, type: "int", size: 2, description: "Special EV (stat experience)" } move1: { offset: 8, type: "int", reference: "moves", description: "Top moveslot" } move2: { offset: 9, type: "int", reference: "moves", } move3: { offset: 10, type: "int", reference: "moves" } move4: { offset: 11, type: "int", reference: "moves", description: "Bottom moveslot" } move1pp: { offset: 29, type: "int", postprocessor: "x % 64" } move2pp: { offset: 30, type: "int", postprocessor: "x % 64" } move3pp: { offset: 31, type: "int", postprocessor: "x % 64" } move4pp: { offset: 32, type: "int", postprocessor: "x % 64" } type1: { offset: 5, type: "int", reference: "pokemonTypes" } type2: { offset: 6, type: "int", reference: "pokemonTypes" } trainerId: { offset: 12, type: "int", size: 2 } properties: player: name: { type: "string", address: 0xD157, size: 11 } playerId: {type: "int", address: 0xD358, size: 2, description: "The active player user Id, better tracking for if the game has loaded a new or saved game" } teamCount: { type: "int", address: 0xD162 } team: - nickname: { type: "string", address: 0xD2B4, size: 11 } _: { type: "macro", address: 0xD16A, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD2BF, size: 11 } _: { type: "macro", address: 0xD196, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD2CA, size: 11 } _: { type: "macro", address: 0xD1C2, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD2D5, size: 11 } _: { type: "macro", address: 0xD1EE, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD2E0, size: 11 } _: { type: "macro", address: 0xD21A, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD2EB, size: 11 } _: { type: "macro", address: 0xD246, macro: "pokemonInParty" } itemCount: { type: "int", address: 0xD31C } items: - { type: "macro", address: 0xD31D, macro: "playerItem" } - { type: "macro", address: 0xD31F, macro: "playerItem" } - { type: "macro", address: 0xD321, macro: "playerItem" } - { type: "macro", address: 0xD323, macro: "playerItem" } - { type: "macro", address: 0xD325, macro: "playerItem" } - { type: "macro", address: 0xD327, macro: "playerItem" } - { type: "macro", address: 0xD329, macro: "playerItem" } - { type: "macro", address: 0xD32B, macro: "playerItem" } - { type: "macro", address: 0xD32D, macro: "playerItem" } - { type: "macro", address: 0xD32F, macro: "playerItem" } - { type: "macro", address: 0xD331, macro: "playerItem" } - { type: "macro", address: 0xD333, macro: "playerItem" } - { type: "macro", address: 0xD335, macro: "playerItem" } - { type: "macro", address: 0xD337, macro: "playerItem" } - { type: "macro", address: 0xD339, macro: "playerItem" } - { type: "macro", address: 0xD33B, macro: "playerItem" } - { type: "macro", address: 0xD33D, macro: "playerItem" } - { type: "macro", address: 0xD33F, macro: "playerItem" } - { type: "macro", address: 0xD341, macro: "playerItem" } - { type: "macro", address: 0xD343, macro: "playerItem" } money: { type: "binaryCodedDecimal", address: 0xD346, size: 3 } gameCornerCoins: { type: "binaryCodedDecimal", address: 0xD5A3, size: 2 } pokedexSeen: { type: "bitArray", address: 0xD309, size: 19 } pokedexCaught: { type: "bitArray", address: 0xD2F6, size: 19 } badges: badge1: { type: "bit", address: 0xD355, position: 0, description: "boulderbadge" } badge2: { type: "bit", address: 0xD355, position: 1, description: "cascadebadge" } badge3: { type: "bit", address: 0xD355, position: 2, description: "thunderbadge" } badge4: { type: "bit", address: 0xD355, position: 3, description: "rainbowbadge" } badge5: { type: "bit", address: 0xD355, position: 4, description: "soulbadge" } badge6: { type: "bit", address: 0xD355, position: 5, description: "marshbadge" } badge7: { type: "bit", address: 0xD355, position: 6, description: "volcanobadge" } badge8: { type: "bit", address: 0xD355, position: 7, description: "earthbadge" } starterPokemon: { type: "int", address: 0xD716, reference: "pokemonSpecies", description: "The starter Pokemon received from Oak."} joypadSimulation: { type: "bool", address: 0xCD38, description: "Setting this to true will disable collision for your character." } joypadIgnore: { type: "int", address: 0xCD6B, description: "Buttons to ignore in the joypad (bit mask). Each button corresponds to the following bits: * A Button: bit 0 (0x01, dec 1) * B Button: bit 1 (0x02, dec 2) * Select: bit 2 (0x04, dec 4) * Start: bit 3 (0x08, dec 8) * D-Pad Right: bit 4 (0x10, dec 16) * D-Pad Left: bit 5 (0x20, dec 32) * D-Pad Up: bit 6 (0x40, dec 64) * D-Pad Down: bit 7 (0x80, dec 128) Example values: * 0x00: no input is ignored (all buttons are processed) * 0xFF: every button is ignored (no player input) * 0xFC: only A and B are allowed" } overworld: map: { type: "int", address: 0xD35F, reference: "maps" } mapLocation: { type: "int", address: 0xD35F, reference: "mapLocations" } y: { type: "int", address: 0xD360 } x: { type: "int", address: 0xD361 } encounterRate: { type: "int", address: 0xD886 } encounters: common: - { type: "macro", address: 0xD887, macro: "encounter" } - { type: "macro", address: 0xD889, macro: "encounter" } - { type: "macro", address: 0xD88B, macro: "encounter" } - { type: "macro", address: 0xD88D, macro: "encounter" } - { type: "macro", address: 0xD88F, macro: "encounter" } uncommon: - { type: "macro", address: 0xD889, macro: "encounter" } - { type: "macro", address: 0xD891, macro: "encounter" } - { type: "macro", address: 0xD893, macro: "encounter" } - { type: "macro", address: 0xD895, macro: "encounter" } rare: - { type: "macro", address: 0xD897, macro: "encounter" } - { type: "macro", address: 0xD899, macro: "encounter" } repelCount: { type: "int", address: 0xD0DA } # flash: { type: "int", address: 0xD35D } #wrong address or it needs a reference safariZone: safariTime: { type: "int", address: 0xD70C, size: 2 } safariBalls: { type: "int", address: 0xDA46 } # oppEscapingFactor: { type: "int", address: 0xCCE7 } oppBaitingFactor: { type: "int", address: 0xCCE8 } mapData: tileset: { type: "int", address: 0xD366 } #reference height: { type: "int", address: 0xD367 } width: { type: "int", address: 0xD368 } palette: { type: "int", address: 0xD35C } # 0:default, 6:dark cave lastMapLocation: { type: "int", address: 0xD365, reference: "maps" } #test events: beatChampion: { type: "bit", position: 1, address: 0xd866 } overworldFlags: countPlayTime: { type: "bit", address: 0xD731, position: 0, description: "play time being counted" } debugMode: { type: "bit", address: 0xD731, position: 1, description: "Only set by the debug build. If true: * skips most of Prof. Oak's speech, and uses NINTEN as the player's name and SONY as the rival's name * does not have the player start in floor two of the player's house (instead sending them to [wLastMap]) * allows wild battles to be avoided by holding down B * allows trainers to be avoided by holding down B * skips Safari Zone step counter by holding down B * skips the NPC who blocks Route 3 before beating Brock by holding down B * skips Cerulean City rival battle by holding down B * skips Pokémon Tower rival battle by holding down B" } flyOrDungeon: { type: "bit", address: 0xD731, position: 2, description: "the target warp is a fly warp (bit 3 set or blacked out) or a dungeon warp (bit 4 set)" } flyWarp: { type: "bit", address: 0xD731, position: 3 } # description: "used warp pad, escape rope, dig, teleport, or fly, so the target warp is a "fly warp" dungeonWarp: { type: "bit", address: 0xD731, position: 4 } # jumped into hole (Pokemon Mansion, Seafoam Islands, Victory Road) or went down waterfall (Seafoam Islands), so the target warp is a "dungeon warp" forceBike: { type: "bit", address: 0xD731, position: 5 } # currently being forced to ride bike (cycling road)" destinationIsBlackout: { type: "bit", address: 0xD731, position: 6 } # map destination is [wLastBlackoutMap] (usually the last used pokemon center, but could be the player's house) # unusedBit: { type: "bit", address: 0xD731, position: 7, description: "unused in game" } trashCanPuzzle: { type: "bit", address: 0xD772, position: 0, description: "Set value to 3 to solve the puzzle. Freezing this property breaks the gym trainers." } trainers: #DO NO FREEZE THESE PROPERTIES OR TRAINERS WILL ENDLESSLY BATTLE YOU viridianForest: # unknown1: { type: "bit", address: 0xD7F2, position: 0 } #Scott's Thoughts: delete if nothing on final pass # unknown2: { type: "bit", address: 0xD7F2, position: 1 } #Scott's Thoughts: delete if nothing on final pass bugcatcher1: { type: "bit", address: 0xD7F2, position: 2 } bugcatcher2: { type: "bit", address: 0xD7F2, position: 3 } bugcatcher3: { type: "bit", address: 0xD7F2, position: 4 } lass19: { type: "bit", address: 0xD7F2, position: 5 } #check trainer number bugcatcher15: { type: "bit", address: 0xD7F2, position: 6 } # unknown8: { type: "bit", address: 0xD7F2, position: 7 } #Scott's Thoughts: delete if nothing on final pass pewterCityGym: unknown1: { type: "bit", address: 0xD754, position: 0 } #Scott's Thoughts: delete if nothing on final pass unknown2: { type: "bit", address: 0xD754, position: 1 } #Scott's Thoughts: delete if nothing on final pass jrTrainerM1: { type: "bit", address: 0xD754, position: 2 } unknown4: { type: "bit", address: 0xD754, position: 3 } #Scott's Thoughts: delete if nothing on final pass unknown5: { type: "bit", address: 0xD754, position: 4 } #Scott's Thoughts: delete if nothing on final pass unknown6: { type: "bit", address: 0xD754, position: 5 } #Scott's Thoughts: delete if nothing on final pass tmReceived: { type: "bit", address: 0xD754, position: 6 } leaderDefeated: { type: "bit", address: 0xD754, position: 7 } ceruleanCityGym: # unknown1: { type: "bit", address: 0xD75D, position: 0 } #Scott's Thoughts: delete if nothing on final pass # unknown2: { type: "bit", address: 0xD75D, position: 1 } #Scott's Thoughts: delete if nothing on final pass jrTrainerF1: { type: "bit", address: 0xD75D, position: 2 } swimmer1: { type: "bit", address: 0xD75D, position: 3 } # unknown5: { type: "bit", address: 0xD75D, position: 4 } #Scott's Thoughts: delete if nothing on final pass # unknown6: { type: "bit", address: 0xD75D, position: 5 } #Scott's Thoughts: delete if nothing on final pass tmReceived: { type: "bit", address: 0xD75D, position: 6 } leaderDefeated: { type: "bit", address: 0xD75D, position: 7 } vermilionCityGym: gentleman3: { type: "bit", address: 0xD772, position: 2 } rocker1: { type: "bit", address: 0xD772, position: 3 } sailor8: { type: "bit", address: 0xD772, position: 4 } tmReceived: { type: "bit", address: 0xD772, position: 6 } leaderDefeated: { type: "bit", address: 0xD772, position: 7 } celadonCityGym: tmReceived: { type: "bit", address: 0xD77B, position: 0 } leaderDefeated: { type: "bit", address: 0xD77B, position: 1 } lass17: { type: "bit", address: 0xD77B, position: 2 } beauty1: { type: "bit", address: 0xD77B, position: 3 } jrTrainerF11: { type: "bit", address: 0xD77B, position: 4 } beauty2: { type: "bit", address: 0xD77B, position: 5 } lass18: { type: "bit", address: 0xD77B, position: 6 } beauty3: { type: "bit", address: 0xD77B, position: 7 } cooltrainerF1: { type: "bit", address: 0xD77C, position: 0 } fucshiaCityGym: tmReceived: { type: "bit", address: 0xD791, position: 0 } leaderDefeated: { type: "bit", address: 0xD791, position: 1 } juggler7: { type: "bit", address: 0xD791, position: 2 } juggler3: { type: "bit", address: 0xD791, position: 3 } juggler8: { type: "bit", address: 0xD791, position: 4 } tamer1: { type: "bit", address: 0xD791, position: 5 } tamer2: { type: "bit", address: 0xD791, position: 6 } juggler4: { type: "bit", address: 0xD791, position: 7 } # route15: D7DC cinnabarIslandGym: tmReceived: { type: "bit", address: 0xD799, position: 0 } leaderDefeated: { type: "bit", address: 0xD799, position: 1 } superNerd9: { type: "bit", address: 0xD799, position: 2 } burglar4: { type: "bit", address: 0xD799, position: 3 } superNerd10: { type: "bit", address: 0xD799, position: 4 } burglar5: { type: "bit", address: 0xD799, position: 5 } superNerd11: { type: "bit", address: 0xD799, position: 6 } burglar6: { type: "bit", address: 0xD799, position: 7 } superNerd12: { type: "bit", address: 0xD79A, position: 0 } saffronCityGym: tmReceived: { type: "bit", address: 0xD7B2, position: 0 } leaderDefeated: { type: "bit", address: 0xD7B2, position: 1 } channeler22: { type: "bit", address: 0xD7B2, position: 2 } #Top Middle psychic1: { type: "bit", address: 0xD7B2, position: 3 } #Top Right channeler23: { type: "bit", address: 0xD7B2, position: 4 } #Middle Left psychic2: { type: "bit", address: 0xD7B2, position: 5 } #Middle Right channeler24: { type: "bit", address: 0xD7B2, position: 6 } #Bottom Left psychic3: { type: "bit", address: 0xD7B2, position: 7 } #Bottom Right psychic4: { type: "bit", address: 0xD7B3, position: 0 } #Top Left viridianCityGym: tmReceived: { type: "bit", address: 0xD750, position: 0 } leaderDefeated: { type: "bit", address: 0xD750, position: 1 } cooltrainerM9: { type: "bit", address: 0xD750, position: 2 } blackbelt6: { type: "bit", address: 0xD750, position: 3 } tamer3: { type: "bit", address: 0xD750, position: 4 } blackbelt7: { type: "bit", address: 0xD750, position: 5 } cooltrainerM10: { type: "bit", address: 0xD750, position: 6 } blackbelt8: { type: "bit", address: 0xD750, position: 7 } tamer4: { type: "bit", address: 0xD751, position: 0 } coolTrainerM: { type: "bit", address: 0xD751, position: 1 } battle: type: { type: "int", address: 0xD056, reference: "battleTypes" } animationTurn: { type: "int", address: 0xFFF3, reference: "battleTurn", description: "This dictates which direction battle animations are played. (Enemy attacking player, or player attacking enemy.)" } specialType: { type: "int", address: 0xD059, reference: "specialBattleTypes" } lowHealthAlarm: { type: "int", address: 0xCCF6, reference: "lowHealthAlarm", description: "This is set to 0 at the start of battle and 1 when the opponent has lost" } attackDamage: { type: "int", address: 0xD0D7, description: "Amount of damage attack is about to do. Max possible damage may appear one frame before actual damage." } #duplicate property trainer: name: { type: "string", address: 0xD049, size: 11 } class: { type: "int", address: 0xD030, reference: "trainerClasses" } number: { type: "int", address: 0xD05C } gymLeader: { type: "int", address: 0xD05B } totalPokemon: { type: "int", address: 0xD89B } team: - nickname: { type: "string", address: 0xD9ED, size: 11 } _: { type: "macro", address: 0xD8A3, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xD9F8, size: 11 } _: { type: "macro", address: 0xD8CF, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xDA03, size: 11 } _: { type: "macro", address: 0xD8FB, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xDA0E, size: 11 } _: { type: "macro", address: 0xD927, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xDA19, size: 11 } _: { type: "macro", address: 0xD953, macro: "pokemonInParty" } - nickname: { type: "string", address: 0xDA24, size: 11 } _: { type: "macro", address: 0xD97F, macro: "pokemonInParty" } yourPokemon: partyPos: { type: "int", address: 0xCC2F } nickname: { type: "string", address: 0xD008, size: 11 } species: { type: "int", address: 0xD013, reference: "pokemonSpecies" } pokedexNumber: { type: "int", address: 0xD013, reference: "pokemonPokedexNumbers" } type1: { type: "int", address: 0xD018, reference: "pokemonTypes" } type2: { type: "int", address: 0xD019, reference: "pokemonTypes" } level: { type: "int", address: 0xD021 } modStageAttack: { type: "int", address: 0xCD1A, reference: "stageModifiers" } #same memory location across all Gen1 games modStageDefense: { type: "int", address: 0xCD1B, reference: "stageModifiers" } #same memory location across all Gen1 games modStageSpeed: { type: "int", address: 0xCD1C, reference: "stageModifiers" } #same memory location across all Gen1 games modStageSpecial: { type: "int", address: 0xCD1D, reference: "stageModifiers" } #same memory location across all Gen1 games modStageAccuracy: { type: "int", address: 0xCD1E, reference: "stageModifiers" } #same memory location across all Gen1 games modStageEvasion: { type: "int", address: 0xCD1F, reference: "stageModifiers" } #same memory location across all Gen1 games hp: { type: "int", address: 0xD014, size: 2, "The Player's active Pokemon's current HP" } maxHp: { type: "int", address: 0xD022, size: 2, "The Player's active Pokemon's max HP" } attack: { type: "int", address: 0xD024, size: 2, description: "The Player's active Pokemon's Attack stat as calculated in battle (badge boosts and stat modifications included" } defense: { type: "int", address: 0xD026, size: 2, description: "The Player's active Pokemon's Defense stat as calculated in battle (badge boosts and stat modifications included" } speed: { type: "int", address: 0xD028, size: 2, description: "The Player's active Pokemon's Speed stat as calculated in battle (badge boosts and stat modifications included" } special: { type: "int", address: 0xD02A, size: 2, description: "The Player's active Pokemon's Special stat as calculated in battle (badge boosts and stat modifications included" } battleStatHp: { type: "int", address: 0xD014, size: 2 } #deprecated battleStatMaxHp: { type: "int", address: 0xD022, size: 2 } #deprecated battleStatAttack: { type: "int", address: 0xD024, size: 2, description: "The Player's active Pokemon's Attack stat as calculated in battle (badge boosts and stat modifications included" } #deprecated battleStatDefense: { type: "int", address: 0xD026, size: 2, description: "The Player's active Pokemon's Defense stat as calculated in battle (badge boosts and stat modifications included" } #deprecated battleStatSpeed: { type: "int", address: 0xD028, size: 2, description: "The Player's active Pokemon's Speed stat as calculated in battle (badge boosts and stat modifications included"} #deprecated battleStatSpecial: { type: "int", address: 0xD02A, size: 2, description: "The Player's active Pokemon's Special stat as calculated in battle (badge boosts and stat modifications included" } #deprecated battleStatusCondition: { type: "int", address: 0xD017, reference: "statusConditions" } tempStatusConfusion: { type: "int", address: 0xd061, reference: "tempStatusConfused" } tempStatusBadPoison: { type: "int", address: 0xd063, reference: "tempStatusBadPoison" } move1: { type: "int", address: 0xD01B, reference: "moves" } move2: { type: "int", address: 0xD01C, reference: "moves" } move3: { type: "int", address: 0xD01D, reference: "moves" } move4: { type: "int", address: 0xD01E, reference: "moves" } move1pp: { type: "int", address: 0xD02C, postprocessor: "x % 64" } move2pp: { type: "int", address: 0xD02D, postprocessor: "x % 64" } move3pp: { type: "int", address: 0xD02E, postprocessor: "x % 64" } move4pp: { type: "int", address: 0xD02F, postprocessor: "x % 64" } effects: bide: { type: "bit", address: 0xD061, position: 0 } thrash: { type: "bit", address: 0xD061, position: 1 } multiHit: { type: "bit", address: 0xD061, position: 2 } flinch: { type: "bit", address: 0xD061, position: 3 } charging: { type: "bit", address: 0xD061, position: 4 } multiTurn: { type: "bit", address: 0xD061, position: 5 } invulnerable: { type: "bit", address: 0xD061, position: 6 } #using fly/dig confusion: { type: "bit", address: 0xD061, position: 6 } xAccuracy: { type: "bit", address: 0xD062, position: 0 } mist: { type: "bit", address: 0xD062, position: 1 } focusEnergy: { type: "bit", address: 0xD062, position: 2 } hasSubstitute: { type: "bit", address: 0xD062, position: 4 } recharge: { type: "bit", address: 0xD062, position: 5 } rage: { type: "bit", address: 0xD062, position: 6 } leechSeeded: { type: "bit", address: 0xD062, position: 7 } toxic: { type: "bit", address: 0xD063, position: 0 } lightScreen: { type: "bit", address: 0xD063, position: 1 } reflect: { type: "bit", address: 0xD063, position: 2 } transformed: { type: "bit", address: 0xD063, position: 3 } rollout: { type: "bit", address: 0xD063, position: 4 } curled: { type: "bit", address: 0xD063, position: 5 } counters: multiHit: { type: "int", address: 0xD069 } confusion: { type: "int", address: 0xD063 } toxic: { type: "int", address: 0xD06A } disable: { type: "int", address: 0xD06C, size: 2 } rollout: { type: "int", address: 0xD4A2 } enemyPokemon: partyPos: { type: "int", address: 0xCFE7 } species: { type: "int", address: 0xCFD7, reference: "pokemonSpecies" } pokedexNumber: { type: "int", address: 0xCFD7, reference: "pokemonPokedexNumbers" } type1: { type: "int", address: 0xCFE9, reference: "pokemonTypes" } type2: { type: "int", address: 0xCFEA, reference: "pokemonTypes" } level: { type: "int", address: 0xCFF2 } maxHp: { type: "int", address: 0xCFF3, size: 2 } hp: { type: "int", address: 0xCFE5, size: 2 } attack: { type: "int", address: 0xCFF5, size: 2 } defense: { type: "int", address: 0xCFF7, size: 2 } speed: { type: "int", address: 0xCFF9, size: 2 } special: { type: "int", address: 0xCFFB, size: 2 } statusCondition: { type: "int", address: 0xCFE8, reference: "statusConditions" } modEnemyStageAttack: { type: "int", address: 0xCD2E, reference: "stageModifiers" } modEnemyStageDefense: { type: "int", address: 0xCD2F, reference: "stageModifiers" } modEnemyStageSpeed: { type: "int", address: 0xCD30, reference: "stageModifiers" } modEnemyStageSpecial: { type: "int", address: 0xCD31, reference: "stageModifiers" } modEnemyStageAccuracy: { type: "int", address: 0xCD32, reference: "stageModifiers" } modEnemyStageEvasion: { type: "int", address: 0xCD33, reference: "stageModifiers" } move1: { type: "int", address: 0xCFEC, reference: "moves" } move2: { type: "int", address: 0xCFED, reference: "moves" } move3: { type: "int", address: 0xCFEE, reference: "moves" } move4: { type: "int", address: 0xCFEF, reference: "moves" } dvAttack: { type: "int", address: 0xCFF0, postprocessor: "(x - (x % 16))/16" } dvDefense: { type: "int", address: 0xCFF0, postprocessor: "x % 16" } dvSpeed: { type: "int", address: 0xCFF1, postprocessor: "(x - (x % 16))/16" } dvSpecial: { type: "int", address: 0xCFF1, postprocessor: "x % 16" } baseHp: { type: "int", address: 0xD001, postprocessor: "x % 16" } baseAttack: { type: "int", address: 0xD002, postprocessor: "x % 16" } baseDefense: { type: "int", address: 0xD003, postprocessor: "x % 16" } baseSpeed: { type: "int", address: 0xD004, postprocessor: "x % 16" } baseSpecial: { type: "int", address: 0xD005, postprocessor: "x % 16" } baseExp: { type: "int", address: 0xD007, postprocessor: "x % 16" } effects: bide: { type: "bit", address: 0xD066, position: 0 } thrash: { type: "bit", address: 0xD066, position: 1 } multiHit: { type: "bit", address: 0xD066, position: 2 } flinch: { type: "bit", address: 0xD066, position: 3 } charging: { type: "bit", address: 0xD066, position: 4 } multiTurn: { type: "bit", address: 0xD066, position: 5 } invulnerable: { type: "bit", address: 0xD066, position: 6 } #using fly/dig confusion: { type: "bit", address: 0xD066, position: 6 } xAccuracy: { type: "bit", address: 0xD067, position: 0 } mist: { type: "bit", address: 0xD067, position: 1 } focusEnergy: { type: "bit", address: 0xD067, position: 2 } hasSubstitute: { type: "bit", address: 0xD067, position: 4 } recharge: { type: "bit", address: 0xD067, position: 5 } rage: { type: "bit", address: 0xD067, position: 6 } leechSeeded: { type: "bit", address: 0xD067, position: 7 } toxic: { type: "bit", address: 0xD068, position: 0 } lightScreen: { type: "bit", address: 0xD068, position: 1 } reflect: { type: "bit", address: 0xD068, position: 2 } transformed: { type: "bit", address: 0xD068, position: 3 } counters: multiHit: { type: "int", address: 0xD06E } confusion: { type: "int", address: 0xD06F } toxic: { type: "int", address: 0xD070 } disable: { type: "int", address: 0xD071 } playerMove: move: { type: "int", address: 0xCFD1, reference: "moves" } effect: { type: "int", address: 0xCFD2 } #Will need a reference table - Player's Move Effect power: { type: "int", address: 0xCFD3 } type: { type: "int", address: 0xCFD4, reference: "pokemonTypes" } accuracy: { type: "int", address: 0xCFD5, postprocessor: "Round(((x / 255) * 100), 2)" } maxPP: { type: "int", address: 0xCFD6 } enemyMove: move: { type: "int", address: 0xCFCB, reference: "moves" } effect: { type: "int", address: 0xCFCC } #Will need a reference table - Player's Move Effect power: { type: "int", address: 0xCFCD } type: { type: "int", address: 0xCFCE, reference: "pokemonTypes" } accuracy: { type: "int", address: 0xCFCF, postprocessor: "Round(((x / 255) * 100), 2)" } maxPP: { type: "int", address: 0xCFD0 } turnInfo: battleStart: { type: "int", address: 0xCCF5, description: "When 0 battle is starting, when >=1 battle has begun" } trainerDefeated: { type: "int", address: 0xCCF6, description: "When 1, the opponent has lost" } nextAttackDamage: { type: "int", address: 0xD0D7 } pokemart: itemCount: { type: "int", address: 0xCF7B } items: - { type: "int", address: 0xCF7B, reference: "items" } - { type: "int", address: 0xCF7C, reference: "items" } - { type: "int", address: 0xCF7D, reference: "items" } - { type: "int", address: 0xCF7E, reference: "items" } - { type: "int", address: 0xCF7F, reference: "items" } - { type: "int", address: 0xCF80, reference: "items" } - { type: "int", address: 0xCF81, reference: "items" } - { type: "int", address: 0xCF82, reference: "items" } - { type: "int", address: 0xCF83, reference: "items" } - { type: "int", address: 0xCF84, reference: "items" } - { type: "int", address: 0xCF85, reference: "items" } rival: name: { type: "string", address: 0xD349, size: 8, description: "The rival's name." } finalTeam: { type: "int", address: 0xD714, reference: "finalTeam" } audio: channel1: { type: "int", address: 0xC026, description: "When 1, the opponent has lost" } channel2: { type: "int", address: 0xC027, description: "When 1, the opponent has lost" } channel3: { type: "int", address: 0xC028, description: "When 1, the opponent has lost" } channel4: { type: "int", address: 0xC029, description: "When 1, the opponent has lost" } channel5: { type: "int", address: 0xC02A, description: "When 1, the opponent has lost" } channel6: { type: "int", address: 0xC02B, description: "When 1, the opponent has lost" } channel7: { type: "int", address: 0xC02C, description: "When 1, the opponent has lost" } channel8: { type: "int", address: 0xC02D, description: "When 1, the opponent has lost" } currentSound: { type: "int", address: 0xC001 } newSoundId: { type: "int", address: 0xC0EE, description: "When 1, the opponent has lost" } audioBank: { type: "int", address: 0xC0EF } overworldTrackCurrentMap: { type: "int", address: 0xD35A, reference: "audioTrack" } #check audioBankCurrentMap: { type: "int", address: 0xD35B, description: "When 1, the opponent has lost" } #check volume: channel1: { type: "int", address: 0xC0DE } channel2: { type: "int", address: 0xC0DF } channel3: { type: "int", address: 0xC0E0 } channel4: { type: "int", address: 0xC0E1 } channel5: { type: "int", address: 0xC0E2 } channel6: { type: "int", address: 0xC0E3 } channel7: { type: "int", address: 0xC0E4 } channel8: { type: "int", address: 0xC0E5 } tempo: music: { type: "int", address: 0xC0E8 , size: 2 } sfx: { type: "int", address: 0xC0EA, size: 2 } pc: pokemonStorage: currentBoxCount: { type: "int", address: 0xDA7F } currentBoxSummary: pkmn1: { type: "int", address: 0xDA80, reference: "pokemonSpecies" } pkmn2: { type: "int", address: 0xDA81, reference: "pokemonSpecies" } pkmn3: { type: "int", address: 0xDA82, reference: "pokemonSpecies" } pkmn4: { type: "int", address: 0xDA83, reference: "pokemonSpecies" } pkmn5: { type: "int", address: 0xDA84, reference: "pokemonSpecies" } pkmn6: { type: "int", address: 0xDA85, reference: "pokemonSpecies" } pkmn7: { type: "int", address: 0xDA86, reference: "pokemonSpecies" } pkmn8: { type: "int", address: 0xDA87, reference: "pokemonSpecies" } pkmn9: { type: "int", address: 0xDA88, reference: "pokemonSpecies" } pkmn10: { type: "int", address: 0xDA89, reference: "pokemonSpecies" } pkmn11: { type: "int", address: 0xDA8A, reference: "pokemonSpecies" } pkmn12: { type: "int", address: 0xDA8B, reference: "pokemonSpecies" } pkmn13: { type: "int", address: 0xDA8C, reference: "pokemonSpecies" } pkmn14: { type: "int", address: 0xDA8D, reference: "pokemonSpecies" } pkmn15: { type: "int", address: 0xDA8E, reference: "pokemonSpecies" } pkmn16: { type: "int", address: 0xDA8F, reference: "pokemonSpecies" } pkmn17: { type: "int", address: 0xDA90, reference: "pokemonSpecies" } pkmn18: { type: "int", address: 0xDA91, reference: "pokemonSpecies" } pkmn19: { type: "int", address: 0xDA92, reference: "pokemonSpecies" } pkmn20: { type: "int", address: 0xDA93, reference: "pokemonSpecies" } currentBox: #other boxes cannot be pulled because they exist in the other memory banks - nickname: { type: "string", address: 0xDE05, size: 11 } _: { type: "macro", address: 0xDA95, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE10, size: 11 } _: { type: "macro", address: 0xDAB6, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE1B, size: 11 } _: { type: "macro", address: 0xDAD7, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE26, size: 11 } _: { type: "macro", address: 0xDAF8, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE31, size: 11 } _: { type: "macro", address: 0xDB19, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE3C, size: 11 } _: { type: "macro", address: 0xDB3A, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE47, size: 11 } _: { type: "macro", address: 0xDB5B, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE52, size: 11 } _: { type: "macro", address: 0xDB7C, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE5D, size: 11 } _: { type: "macro", address: 0xDB9D, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE68, size: 11 } _: { type: "macro", address: 0xDBBE, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE73, size: 11 } _: { type: "macro", address: 0xDBDF, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE7E, size: 11 } _: { type: "macro", address: 0xDC00, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE89, size: 11 } _: { type: "macro", address: 0xDC21, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE94, size: 11 } _: { type: "macro", address: 0xDC42, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDE9F, size: 11 } _: { type: "macro", address: 0xDC63, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDEAA, size: 11 } _: { type: "macro", address: 0xDC84, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDEB5, size: 11 } _: { type: "macro", address: 0xDCA5, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDEC0, size: 11 } _: { type: "macro", address: 0xDCC6, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDECB, size: 11 } _: { type: "macro", address: 0xDCE7, macro: "storedPokemon" } - nickname: { type: "string", address: 0xDED6, size: 11 } _: { type: "macro", address: 0xDD08, macro: "storedPokemon" } itemStorage: itemCount: { type: "int", address: 0xD539 } items: - { type: "macro", address: 0xD53A, macro: "playerItem" } - { type: "macro", address: 0xD53C, macro: "playerItem" } - { type: "macro", address: 0xD53E, macro: "playerItem" } - { type: "macro", address: 0xD540, macro: "playerItem" } - { type: "macro", address: 0xD542, macro: "playerItem" } - { type: "macro", address: 0xD544, macro: "playerItem" } - { type: "macro", address: 0xD546, macro: "playerItem" } - { type: "macro", address: 0xD548, macro: "playerItem" } - { type: "macro", address: 0xD54A, macro: "playerItem" } - { type: "macro", address: 0xD54C, macro: "playerItem" } - { type: "macro", address: 0xD54E, macro: "playerItem" } - { type: "macro", address: 0xD550, macro: "playerItem" } - { type: "macro", address: 0xD552, macro: "playerItem" } - { type: "macro", address: 0xD554, macro: "playerItem" } - { type: "macro", address: 0xD556, macro: "playerItem" } - { type: "macro", address: 0xD558, macro: "playerItem" } - { type: "macro", address: 0xD55A, macro: "playerItem" } - { type: "macro", address: 0xD55C, macro: "playerItem" } - { type: "macro", address: 0xD55E, macro: "playerItem" } - { type: "macro", address: 0xD560, macro: "playerItem" } - { type: "macro", address: 0xD562, macro: "playerItem" } - { type: "macro", address: 0xD564, macro: "playerItem" } - { type: "macro", address: 0xD566, macro: "playerItem" } - { type: "macro", address: 0xD568, macro: "playerItem" } - { type: "macro", address: 0xD56A, macro: "playerItem" } - { type: "macro", address: 0xD56C, macro: "playerItem" } - { type: "macro", address: 0xD56E, macro: "playerItem" } - { type: "macro", address: 0xD570, macro: "playerItem" } - { type: "macro", address: 0xD572, macro: "playerItem" } - { type: "macro", address: 0xD574, macro: "playerItem" } - { type: "macro", address: 0xD576, macro: "playerItem" } - { type: "macro", address: 0xD578, macro: "playerItem" } - { type: "macro", address: 0xD57A, macro: "playerItem" } - { type: "macro", address: 0xD57C, macro: "playerItem" } - { type: "macro", address: 0xD57E, macro: "playerItem" } - { type: "macro", address: 0xD580, macro: "playerItem" } - { type: "macro", address: 0xD582, macro: "playerItem" } - { type: "macro", address: 0xD584, macro: "playerItem" } - { type: "macro", address: 0xD586, macro: "playerItem" } - { type: "macro", address: 0xD588, macro: "playerItem" } - { type: "macro", address: 0xD58A, macro: "playerItem" } - { type: "macro", address: 0xD58C, macro: "playerItem" } - { type: "macro", address: 0xD58E, macro: "playerItem" } - { type: "macro", address: 0xD590, macro: "playerItem" } - { type: "macro", address: 0xD592, macro: "playerItem" } - { type: "macro", address: 0xD594, macro: "playerItem" } - { type: "macro", address: 0xD596, macro: "playerItem" } - { type: "macro", address: 0xD598, macro: "playerItem" } - { type: "macro", address: 0xD59A, macro: "playerItem" } - { type: "macro", address: 0xD59C, macro: "playerItem" } - { type: "macro", address: 0xD59E, macro: "playerItem" } - { type: "macro", address: 0xD5A0, macro: "playerItem" } - { type: "macro", address: 0xD5A2, macro: "playerItem" } - { type: "macro", address: 0xD5A4, macro: "playerItem" } - { type: "macro", address: 0xD5A6, macro: "playerItem" } - { type: "macro", address: 0xD5A8, macro: "playerItem" } - { type: "macro", address: 0xD5AA, macro: "playerItem" } - { type: "macro", address: 0xD5AC, macro: "playerItem" } screen: text: prompt: { type: "string", address: 0xC4F2, reference: "textPrompt" } menu: currentItem: { type: "int", address: 0xCC26 } tiles: column1: tile1: { type: "int", address: 0x9C0C } tile2: { type: "int", address: 0x9C2C } tile3: { type: "int", address: 0x9C4C } tile4: { type: "int", address: 0x9C6C } tile5: { type: "int", address: 0x9C8C } tile6: { type: "int", address: 0x9CAC } tile7: { type: "int", address: 0x9CCC } options: # bit1: { type: "bit", address: 0xD354, position: 0 } #Unknown function textSpeed1: { type: "bit", address: 0xD354, position: 1, description: "Fast text speed is set when both 1 & 2 are set to false" } textSpeed2: { type: "bit", address: 0xD354, position: 2, description: "Fast text speed is set when both 1 & 2 are set to false" } # bit4: { type: "bit", address: 0xD354, position: 3 } #Unknown function sound1: { type: "bit", address: 0xD354, position: 4 } #These bits work together to control sound sound2: { type: "bit", address: 0xD354, position: 5 } #These bits work together to control sound battleStyle: { type: "bit", address: 0xD354, position: 6 } #Set = true, Shift = false battleAnimations: { type: "bit", address: 0xD354, position: 7 } #this bit is true when battle animations are off, it's false when they are on #print options are not stored in this byte soloChallenge: { type: "int", address: 0xD354, reference: "options"} #Scott's Thoughts only, deprecated settings: #deprecated textSpeedMid: { type: "bit", address: 0xD354, position: 1, description: "Fast text speed is set when both Mid and Slow are set to false" } textSpeedSlow: { type: "bit", address: 0xD354, position: 2, description: "Fast text speed is set when both Mid and Slow are set to false" } battleAnimation: { type: "bit", address: 0xD354, position: 7 } battleStyle: { type: "bit", address: 0xD354, position: 6 } gameTime: hours: { type: "int", address: 0xDA3F, size: 2 } minutes: { type: "int", address: 0xDA41, size: 2 } seconds: { type: "int", address: 0xDA43 } frames: { type: "int", address: 0xDA44 } glossary: battleTypes: 0x00: None 0x01: Wild 0x02: Trainer 0xFF: Lost Battle specialBattleTypes: 0x00: Normal 0x01: Old Man Battle 0x02: Safari Zone 0x04: Oak Catching Starter battleTurn: 0x00: Player 0x01: Opponent lowHealthAlarm: 0x00: Enabled 0x01: Disabled pokemonTypes: 0x00: Normal 0x01: Fighting 0x02: Flying 0x03: Poison 0x04: Ground 0x05: Rock 0x07: Bug 0x08: Ghost 0x14: Fire 0x15: Water 0x16: Grass 0x17: Electric 0x18: Psychic 0x19: Ice 0x1A: Dragon textPrompt: 0xEE: "▼" stageModifiers: 0x00: null 0x01: -6 0x02: -5 0x03: -4 0x04: -3 0x05: -2 0x06: -1 0x07: 0 0x08: 1 0x09: 2 0x0A: 3 0x0B: 4 0x0C: 5 0x0D: 6 0x0E: null 0x14: null trashCanFlags: 0x00: "Unsolved" 0x02: "First Can Found" 0x03: "Solved" statusConditions: 0x00: " " 0x01: Asleep 0x02: Asleep 0x03: Alseep 0x04: Asleep 0x05: Asleep 0x06: Asleep 0x07: Asleep 0x08: Poisoned 0x10: Burned 0x20: Frozen 0x40: Paralyzed tempStatusConfused: 0x00: null 0x80: "Confused" tempStatusBadPoison: 0x00: null 0x01: "Badly Posioned" trashCanFlags: 0x00: "Unsolved" 0x02: "First Can Found" 0x03: "Solved" options: 0xC1: "Fast Text, No Animations, Battlestyle Set" 0x41: "Champion Fight" finalTeam: 0x00: "No Team Selected" 0x01: "Jolteon" 0x02: "Flareon" 0x03: "Vaporeon" trainerClasses: 0x00: "NOBODY" 0x01: "YOUNGSTER" 0x02: "BUG CATCHER" 0x03: "LASS" 0x04: "SAILOR" 0x05: "JR TRAINER M" 0x06: "JR TRAINER F" 0x07: "POKEMANIAC" 0x08: "SUPER NERD" 0x09: "HIKER" 0x0A: "BIKER" 0x0B: "BURGLAR" 0x0C: "ENGINEER" 0x0D: "JUGGLER" # unused 0x0E: "FISHER" 0x0F: "SWIMMER" 0x10: "CUE BALL" 0x11: "GAMBLER" 0x12: "BEAUTY" 0x13: "PSYCHIC" 0x14: "ROCKER" 0x15: "JUGGLER" 0x16: "TAMER" 0x17: "BIRD KEEPER" 0x18: "BLACKBELT" 0x19: "RIVAL1" 0x1A: "PROF OAK" 0x1B: "CHIEF" 0x1C: "SCIENTIST" 0x1D: "GIOVANNI" 0x1E: "ROCKET" 0x1F: "COOLTRAINER M" 0x20: "COOLTRAINER F" 0x21: "BRUNO" 0x22: "BROCK" 0x23: "MISTY" 0x24: "LT.SURGE" 0x25: "ERIKA" 0x26: "KOGA" 0x27: "BLAINE" 0x28: "SABRINA" 0x29: "GENTLEMAN" 0x2A: "RIVAL2" 0x2B: "RIVAL3" 0x2C: "LORELEI" 0x2D: "CHANNELER" 0x2E: "AGATHA" 0x2F: "LANCE" defaultCharacterMap: 0x50: null 0x00: null 0x01: null 0x02: null 0x03: null 0x04: null 0x05: null 0x06: null 0x07: null 0x08: null 0x09: null 0x0A: null 0x0B: null 0x0C: null 0x0D: null 0x0E: null 0x0F: null 0x10: null 0x11: null 0x12: null 0x13: null 0x14: null 0x15: null 0x16: null 0x17: null 0x18: null 0x19: null 0x40: null 0x41: null 0x42: null 0x43: null 0x44: null 0x45: null 0x46: null 0x47: null 0x48: null 0x49: null 0x51: null 0x54: "#" 0x75: "…" 0x79: "┌" 0x7A: "─" 0x7B: "┐" 0x7C: "│" 0x7D: "└" 0x7E: "┘" 0x74: "№" 0x7F: " " 0x80: "A" 0x81: "B" 0x82: "C" 0x83: "D" 0x84: "E" 0x85: "F" 0x86: "G" 0x87: "H" 0x88: "I" 0x89: "J" 0x8A: "K" 0x8B: "L" 0x8C: "M" 0x8D: "N" 0x8E: "O" 0x8F: "P" 0x90: "Q" 0x91: "R" 0x92: "S" 0x93: "T" 0x94: "U" 0x95: "V" 0x96: "W" 0x97: "X" 0x98: "Y" 0x99: "Z" 0x9A: "(" 0x9B: "" 0x9C: ":" 0x9D: ";" 0x9E: "[" 0x9F: "]" 0xA0: "a" 0xA1: "b" 0xA2: "c" 0xA3: "d" 0xA4: "e" 0xA5: "f" 0xA6: "g" 0xA7: "h" 0xA8: "i" 0xA9: "j" 0xAA: "k" 0xAB: "l" 0xAC: "m" 0xAD: "n" 0xAE: "o" 0xAF: "p" 0xB0: "q" 0xB1: "r" 0xB2: "s" 0xB3: "t" 0xB4: "u" 0xB5: "v" 0xB6: "w" 0xB7: "x" 0xB8: "y" 0xB9: "z" 0xBA: "é" 0xBB: "d" 0xBC: "l" 0xBD: "s" 0xBE: "t" 0xBF: "v" 0xC7: null 0xE0: " " 0xE3: "-" 0xE4: "r" 0xE5: "m" 0xE6: " " 0xE7: "!" 0xE8: "." 0xED: "▶" 0xEF: "♂" 0xF0: "¥" 0xF1: "×" 0xF3: "/" 0xF4: ":" 0xF5: "♀" 0xF6: "0" 0xF7: "1" 0xF8: "2" 0xF9: "3" 0xFA: "4" 0xFB: "5" 0xFC: "6" 0xFD: "7" 0xFE: "8" 0xFF: "9" #menus: #0x00: null #0x29: "Inventory" #0x64: "Party #0xE9: "Options" #0xF8: "Items" moves: 0x00: null 0x01: "Pound" 0x02: "Karate Chop" 0x03: "DoubleSlap" 0x04: "Comet Punch" 0x05: "Mega Punch" 0x06: "Pay Day" 0x07: "Fire Punch" 0x08: "Ice Punch" 0x09: "ThunderPunch" 0x0a: "Scratch" 0x0b: "Vicegrip" 0x0c: "Guillotine" 0x0d: "Razor Wind" 0x0e: "Swords Dance" 0x0f: "Cut" 0x10: "Gust" 0x11: "Wing Attack" 0x12: "Whirlwind" 0x13: "Fly" 0x14: "Bind" 0x15: "Slam" 0x16: "Vine Whip" 0x17: "Stomp" 0x18: "Double Kick" 0x19: "Mega Kick" 0x1a: "Jump Kick" 0x1b: "Rolling Kick" 0x1c: "Sand-Attack" 0x1d: "Headbutt" 0x1e: "Horn Attack" 0x1f: "Fury Attack" 0x20: "Horn Drill" 0x21: "Tackle" 0x22: "Body Slam" 0x23: "Wrap" 0x24: "Take Down" 0x25: "Thrash" 0x26: "Double-Edge" 0x27: "Tail Whip" 0x28: "Poison Sting" 0x29: "Twineedle" 0x2a: "Pin Missile" 0x2b: "Leer" 0x2c: "Bite" 0x2d: "Growl" 0x2e: "Roar" 0x2f: "Sing" 0x30: "Supersonic" 0x31: "SonicBoom" 0x32: "Disable" 0x33: "Acid" 0x34: "Ember" 0x35: "Flamethrower" 0x36: "Mist" 0x37: "Water Gun" 0x38: "Hydro Pump" 0x39: "Surf" 0x3a: "Ice Beam" 0x3b: "Blizzard" 0x3c: "Psybeam" 0x3d: "BubbleBeam" 0x3e: "Aurora Beam" 0x3f: "Hyper Beam" 0x40: "Peck" 0x41: "Drill Peck" 0x42: "Submission" 0x43: "Low Kick" 0x44: "Counter" 0x45: "Seismic Toss" 0x46: "Strength" 0x47: "Absorb" 0x48: "Mega Drain" 0x49: "Leech Seed" 0x4a: "Growth" 0x4b: "Razor Leaf" 0x4c: "SolarBeam" 0x4d: "PoisonPowder" 0x4e: "Stun Spore" 0x4f: "Sleep Powder" 0x50: "Petal Dance" 0x51: "String Shot" 0x52: "Dragon Rage" 0x53: "Fire Spin" 0x54: "ThunderShock" 0x55: "Thunderbolt" 0x56: "Thunder Wave" 0x57: "Thunder" 0x58: "Rock Throw" 0x59: "Earthquake" 0x5a: "Fissure" 0x5b: "Dig" 0x5c: "Toxic" 0x5d: "Confusion" 0x5e: "Psychic" 0x5f: "Hypnosis" 0x60: "Meditate" 0x61: "Agility" 0x62: "Quick Attack" 0x63: "Rage" 0x64: "Teleport" 0x65: "Night Shade" 0x66: "Mimic" 0x67: "Screech" 0x68: "Double Team" 0x69: "Recover" 0x6a: "Harden" 0x6b: "Minimize" 0x6c: "SmokeScreen" 0x6d: "Confuse Ray" 0x6e: "Withdraw" 0x6f: "Defense Curl" 0x70: "Barrier" 0x71: "Light Screen" 0x72: "Haze" 0x73: "Reflect" 0x74: "Focus Energy" 0x75: "Bide" 0x76: "Metronome" 0x77: "Mirror Move" 0x78: "SelfDestruct" 0x79: "Egg Bomb" 0x7a: "Lick" 0x7b: "Smog" 0x7c: "Sludge" 0x7d: "Bone Club" 0x7e: "Fire Blast" 0x7f: "Waterfall" 0x80: "Clamp" 0x81: "Swift" 0x82: "Skull Bash" 0x83: "Spike Cannon" 0x84: "Constrict" 0x85: "Amnesia" 0x86: "Kinesis" 0x87: "SoftBoiled" 0x88: "Hi Jump Kick" 0x89: "Glare" 0x8a: "Dream Eater" 0x8b: "Poison Gas" 0x8c: "Barrage" 0x8d: "Leech Life" 0x8e: "Lovely Kiss" 0x8f: "Sky Attack" 0x90: "Transform" 0x91: "Bubble" 0x92: "Dizzy Punch" 0x93: "Spore" 0x94: "Flash" 0x95: "Psywave" 0x96: "Splash" 0x97: "Acid Armor" 0x98: "Crabhammer" 0x99: "Explosion" 0x9a: "Fury Swipes" 0x9b: "Bonemerang" 0x9c: "Rest" 0x9d: "Rock Slide" 0x9e: "Hyper Fang" 0x9f: "Sharpen" 0xa0: "Conversion" 0xa1: "Tri Attack" 0xa2: "Super Fang" 0xa3: "Slash" 0xa4: "Substitute" 0xa5: "Faint Attack" 0xa6: "Sunny Day" 0xa7: "Rain Dance" 0xa8: "Rollout" 0xa9: "Struggle" items: 0x00: null 0x01: "MASTER BALL" 0x02: "ULTRA BALL" 0x03: "GREAT BALL" 0x04: "POKé BALL" 0x05: "TOWN MAP" 0x06: "BICYCLE" 0x07: "?????" 0x08: "SAFARI BALL" 0x09: "POKéDEX" 0x0A: "MOON STONE" 0x0B: "ANTIDOTE" 0x0C: "BURN HEAL" 0x0D: "ICE HEAL" 0x0E: "AWAKENING" 0x0F: "PARLYZ HEAL" 0x10: "FULL RESTORE" 0x11: "MAX POTION" 0x12: "HYPER POTION" 0x13: "SUPER POTION" 0x14: "POTION" 0x15: "BOULDERBADGE" 0x16: "CASCADEBADGE" 0x17: "THUNDERBADGE" 0x18: "RAINBOWBADGE" 0x19: "SOULBADGE" 0x1A: "MARSHBADGE" 0x1B: "VOLCANOBADGE" 0x1C: "EARTHBADGE" 0x1D: "ESCAPE ROPE" 0x1E: "REPEL" 0x1F: "OLD AMBER" 0x20: "FIRE STONE" 0x21: "THUNDERSTONE" 0x22: "WATER STONE" 0x23: "HP UP" 0x24: "PROTEIN" 0x25: "IRON" 0x26: "CARBOS" 0x27: "CALCIUM" 0x28: "RARE CANDY" 0x29: "DOME FOSSIL" 0x2A: "HELIX FOSSIL" 0x2B: "SECRET KEY" 0x2C: "?????" 0x2D: "BIKE VOUCHER" 0x2E: "X ACCURACY" 0x2F: "LEAF STONE" 0x30: "CARD KEY" 0x31: "NUGGET" 0x32: "PP UP" 0x33: "POKé DOLL" 0x34: "FULL HEAL" 0x35: "REVIVE" 0x36: "MAX REVIVE" 0x37: "GUARD SPEC." 0x38: "SUPER REPEL" 0x39: "MAX REPEL" 0x3A: "DIRE HIT" 0x3B: "COIN" 0x3C: "FRESH WATER" 0x3D: "SODA POP" 0x3E: "LEMONADE" 0x3F: "S.S.TICKET" 0x40: "GOLD TEETH" 0x41: "X ATTACK" 0x42: "X DEFEND" 0x43: "X SPEED" 0x44: "X SPECIAL" 0x45: "COIN CASE" 0x46: "OAK's PARCEL" 0x47: "ITEMFINDER" 0x48: "SILPH SCOPE" 0x49: "POKé FLUTE" 0x4A: "LIFT KEY" 0x4B: "EXP.ALL" 0x4C: "OLD ROD" 0x4D: "GOOD ROD" 0x4E: "SUPER ROD" 0x4F: "PP UP" 0x50: "ETHER" 0x51: "MAX ETHER" 0x52: "ELIXER" 0x53: "MAX ELIXER" 0xC4: "HM01: Cut" 0xC5: "HM02: Fly" 0xC6: "HM03: Surf" 0xC7: "HM04: Strength" 0xC8: "HM05: Flash" 0xC9: "TM01: Mega Punch" 0xCA: "TM02: Razor Wind" 0xCB: "TM03: Swords Dance" 0xCC: "TM04: Whirlwind" 0xCD: "TM05: Mega Kick" 0xCE: "TM06: Toxic" 0xCF: "TM07: Horn Drill" 0xD0: "TM08: Body Slam" 0xD1: "TM09: Take Down" 0xD2: "TM10: Double-Edge" 0xD3: "TM11: BubbleBeam" 0xD4: "TM12: Water Gun" 0xD5: "TM13: Ice Beam" 0xD6: "TM14: Blizzard" 0xD7: "TM15: Hyper Beam" 0xD8: "TM16: Pay Day" 0xD9: "TM17: Submission" 0xDA: "TM18: Counter" 0xDB: "TM19: Seismic Toss" 0xDC: "TM20: Rage" 0xDD: "TM21: Mega Drain" 0xDE: "TM22: SolarBeam" 0xDF: "TM23: Dragon Rage" 0xE0: "TM24: Thunderbolt" 0xE1: "TM25: Thunder" 0xE2: "TM26: Earthquake" 0xE3: "TM27: Fissure" 0xE4: "TM28: Dig" 0xE5: "TM29: Psychic" 0xE6: "TM30: Teleport" 0xE7: "TM31: Mimic" 0xE8: "TM32: Double Team" 0xE9: "TM33: Reflect" 0xEA: "TM34: Bide" 0xEB: "TM35: Metronome" 0xEC: "TM36: SelfDestruct" 0xED: "TM37: Egg Bomb" 0xEE: "TM38: Fire Blast" 0xEF: "TM39: Swift" 0xF0: "TM40: Skull Bash" 0xF1: "TM41: SoftBoiled" 0xF2: "TM42: Dream Eater" 0xF3: "TM43: Sky Attack" 0xF4: "TM44: Rest" 0xF5: "TM45: Thunder Wave" 0xF6: "TM46: Psywave" 0xF7: "TM47: Explosion" 0xF8: "TM48: Rock Slide" 0xF9: "TM49: Tri Attack" 0xFA: "TM50: Substitute" 0xFF: null pokemonPokedexNumbers: 0x00: null 0xFF: null 0x01: 112 0x02: 115 0x03: 32 0x04: 35 0x05: 21 0x06: 100 0x07: 34 0x08: 80 0x09: 2 0x0A: 103 0x0B: 108 0x0C: 102 0x0D: 88 0x0E: 94 0x0F: 29 0x10: 31 0x11: 104 0x12: 111 0x13: 131 0x14: 59 0x15: 151 0x16: 130 0x17: 90 0x18: 72 0x19: 92 0x1A: 123 0x1B: 120 0x1C: 9 0x1D: 127 0x1E: 114 0x1F: null 0x20: null 0x21: 58 0x22: 95 0x23: 22 0x24: 16 0x25: 79 0x26: 64 0x27: 75 0x28: 113 0x29: 67 0x2A: 122 0x2B: 106 0x2C: 107 0x2D: 24 0x2E: 47 0x2F: 54 0x30: 96 0x31: 76 0x32: null 0x33: 126 0x34: null 0x35: 125 0x36: 82 0x37: 109 0x38: null 0x39: 56 0x3A: 86 0x3B: 50 0x3C: 128 0x3D: null 0x3E: null 0x3F: null 0x40: 83 0x41: 48 0x42: 149 0x43: null 0x44: null 0x45: null 0x46: 84 0x47: 60 0x48: 124 0x49: 146 0x4A: 144 0x4B: 145 0x4C: 132 0x4D: 52 0x4E: 98 0x4F: null 0x50: null 0x51: null 0x52: 37 0x53: 38 0x54: 25 0x55: 26 0x56: null 0x57: null 0x58: 147 0x59: 148 0x5A: 140 0x5B: 141 0x5C: 116 0x5D: 117 0x5E: null 0x5F: null 0x60: 27 0x61: 28 0x62: 138 0x63: 139 0x64: 39 0x65: 40 0x66: 133 0x67: 136 0x68: 135 0x69: 134 0x6A: 66 0x6B: 41 0x6C: 23 0x6D: 46 0x6E: 61 0x6F: 62 0x70: 13 0x71: 14 0x72: 15 0x73: null 0x74: 85 0x75: 57 0x76: 51 0x77: 49 0x78: 87 0x79: null 0x7A: null 0x7B: 10 0x7C: 11 0x7D: 12 0x7E: 68 0x7F: null 0x80: 55 0x81: 97 0x82: 42 0x83: 150 0x84: 143 0x85: 129 0x86: null 0x87: null 0x88: 89 0x89: null 0x8A: 99 0x8B: 91 0x8C: null 0x8D: 101 0x8E: 36 0x8F: 110 0x90: 53 0x91: 105 0x92: null 0x93: 93 0x94: 63 0x95: 65 0x96: 17 0x97: 18 0x98: 121 0x99: 1 0x9A: 3 0x9B: 73 0x9C: null 0x9D: 118 0x9E: 119 0x9F: null 0xA0: null 0xA1: null 0xA2: null 0xA3: 77 0xA4: 78 0xA5: 19 0xA6: 20 0xA7: 33 0xA8: 30 0xA9: 74 0xAA: 137 0xAB: 142 0xAC: null 0xAD: 81 0xAE: null 0xAF: null 0xB0: 4 0xB1: 7 0xB2: 5 0xB3: 8 0xB4: 6 0xB5: null 0xB6: null 0xB7: null 0xB8: null 0xB9: 43 0xBA: 44 0xBB: 45 0xBC: 69 0xBD: 70 0xBE: 71 pokemonSpecies: 0x00: null 0xFF: null 0x00: null 0x01: "Bulbasaur" 0x02: "Ivysaur" 0x03: "Venusaur" 0x04: "Charmander" 0x05: "Charmeleon" 0x06: "Charizard" 0x07: "Squirtle" 0x08: "Wartortle" 0x09: "Blastoise" 0x0A: "Caterpie" 0x0B: "Metapod" 0x0C: "Butterfree" 0x0D: "Weedle" 0x0E: "Kakuna" 0x0F: "Beedrill" 0x10: "Pidgey" 0x11: "Pidgeotto" 0x12: "Pidgeot" 0x13: "Rattata" 0x14: "Raticate" 0x15: "Spearow" 0x16: "Fearow" 0x17: "Ekans" 0x18: "Arbok" 0x19: "Pikachu" 0x1A: "Raichu" 0x1B: "Sandshrew" 0x1C: "Sandslash" 0x1D: "NidoranF" 0x1E: "Nidorina" 0x1F: "Nidoqueen" 0x20: "NidoranM" 0x21: "Nidorino" 0x22: "Nidoking" 0x23: "Clefairy" 0x24: "Clefable" 0x25: "Vulpix" 0x26: "Ninetales" 0x27: "Jigglypuff" 0x28: "Wigglytuff" 0x29: "Zubat" 0x2A: "Golbat" 0x2B: "Oddish" 0x2C: "Gloom" 0x2D: "Vileplume" 0x2E: "Paras" 0x2F: "Parasect" 0x30: "Venonat" 0x31: "Venomoth" 0x32: "Diglett" 0x33: "Dugtrio" 0x34: "Meowth" 0x35: "Persian" 0x36: "Psyduck" 0x37: "Golduck" 0x38: "Mankey" 0x39: "Primeape" 0x3A: "Growlithe" 0x3B: "Arcanine" 0x3C: "Poliwag" 0x3D: "Poliwhirl" 0x3E: "Poliwrath" 0x3F: "Abra" 0x40: "Kadabra" 0x41: "Alakazam" 0x42: "Machop" 0x43: "Machoke" 0x44: "Machamp" 0x45: "Bellsprout" 0x46: "Weepinbell" 0x47: "Victreebel" 0x48: "Tentacool" 0x49: "Tentacruel" 0x4A: "Geodude" 0x4B: "Graveler" 0x4C: "Golem" 0x4D: "Ponyta" 0x4E: "Rapidash" 0x4F: "Slowpoke" 0x50: "Slowbro" 0x51: "Magnemite" 0x52: "Magneton" 0x53: "Farfetch'd" 0x54: "Doduo" 0x55: "Dodrio" 0x56: "Seel" 0x57: "Dewgong" 0x58: "Grimer" 0x59: "Muk" 0x5A: "Shellder" 0x5B: "Cloyster" 0x5C: "Gastly" 0x5D: "Haunter" 0x5E: "Gengar" 0x5F: "Onix" 0x60: "Drowzee" 0x61: "Hypno" 0x62: "Krabby" 0x63: "Kingler" 0x64: "Voltorb" 0x65: "Electrode" 0x66: "Exeggcute" 0x67: "Exeggutor" 0x68: "Cubone" 0x69: "Marowak" 0x6A: "Hitmonlee" 0x6B: "Hitmonchan" 0x6C: "Lickitung" 0x6D: "Koffing" 0x6E: "Weezing" 0x6F: "Rhyhorn" 0x70: "Rhydon" 0x71: "Chansey" 0x72: "Tangela" 0x73: "Kangaskhan" 0x74: "Horsea" 0x75: "Seadra" 0x76: "Goldeen" 0x77: "Seaking" 0x78: "Staryu" 0x79: "Starmie" 0x7A: "Mr. Mime" 0x7B: "Scyther" 0x7C: "Jynx" 0x7D: "Electabuzz" 0x7E: "Magmar" 0x7F: "Pinsir" 0x80: "Tauros" 0x81: "Magikarp" 0x82: "Gyarados" 0x83: "Lapras" 0x84: "Ditto" 0x85: "Eevee" 0x86: "Vaporeon" 0x87: "Jolteon" 0x88: "Flareon" 0x89: "Porygon" 0x8A: "Omanyte" 0x8B: "Omastar" 0x8C: "Kabuto" 0x8D: "Kabutops" 0x8E: "Aerodactyl" 0x8F: "Snorlax" 0x90: "Articuno" 0x91: "Zapdos" 0x92: "Moltres" 0x93: "Dratini" 0x94: "Dragonair" 0x95: "Dragonite" 0x96: "Mewtwo" 0x97: "Mew" 0x98: "Smeargle" 0x99: Null maps: 0x00: "Pallet Town" 0x01: "Viridian City" 0x02: "Pewter City" 0x03: "Cerulean City" 0x04: "Lavender Town" 0x05: "Vermilion City" 0x06: "Celadon City" 0x07: "Fuchsia City" 0x08: "Cinnabar Island" 0x09: "Indigo Plateau" 0x0A: "Saffron City" 0x0B: "UNUSED_MAP_0B" 0x0C: "Route 1" 0x0D: "Route 2" 0x0E: "Route 3" 0x0F: "Route 4" 0x10: "Route 5" 0x11: "Route 6" 0x12: "Route 7" 0x13: "Route 8" 0x14: "Route 9" 0x15: "Route 10" 0x16: "Route 11" 0x17: "Route 12" 0x18: "Route 13" 0x19: "Route 14" 0x1A: "Route 15" 0x1B: "Route 16" 0x1C: "Route 17" 0x1D: "Route 18" 0x1E: "Route 19" 0x1F: "Route 20" 0x20: "Route 21" 0x21: "Route 22" 0x22: "Route 23" 0x23: "Route 24" 0x24: "Route 25" 0x25: "Pallet Town - Red's House 1F" 0x26: "Pallet Town - Red's House 2F" 0x27: "Pallet Town - Blue's House" 0x28: "Pallet Town - Oak's Lab" 0x29: "Viridian City - Pokecenter" 0x2A: "Viridian City - Mart" 0x2B: "Viridian City - School" 0x2C: "Viridian City - House" 0x2D: "Viridian City - Gym" 0x2E: "Digglet's Cave - Exit" 0x2F: "Viridian Forest - Exit" 0x30: "Route 2 - House" 0x31: "Route 2 - Gate" 0x32: "Viridian Forest - Entrance" 0x33: "Viridian Forest" 0x34: "Pewter City - Museum 1F" 0x35: "Pewter City - Museum 2F" 0x36: "Pewter City - Gym" 0x37: "Pewter City - House 1" 0x38: "Pewter City - Mart" 0x39: "Pewter City - House 2" 0x3A: "Pewter City - Pokecenter" 0x3B: "Mt Moon - 1" 0x3C: "Mt Moon - 2" 0x3D: "Mt Moon - 3" 0x3E: "Cerulean City - Trashed House" 0x3F: "Cerulean City - House" 0x40: "Cerulean City - Pokecenter" 0x41: "Cerulean City - Gym" 0x42: "Cerulean City - Bike Shop" 0x43: "Cerulean City - Mart" 0x44: "Route 4 - Mt. Moon Pokecenter" 0x45: "Trashed House Copy" 0x46: "Route 5 - Gate" 0x47: "Route 5 - Path Entrance" 0x48: "Pokémon Day Care" 0x49: "Route 6 - Gate" 0x4A: "Route 6 - Path Entrance" 0x4B: "Route 7 - Path Entrance Copy" 0x4C: "Route 7 - Gate" 0x4D: "Route 7 - Path Entrance" 0x4E: "Route 7 - Path Entrance Copy" 0x4F: "Route 8 - Gate" 0x50: "Route 8 - Path Entrance" 0x51: "Rock Tunnel Pokecenter" 0x52: "Rock Tunnel - 1" 0x53: "Power Plant" 0x54: "Route 11 - Gate 1F" 0x55: "Digglet's Cave - Entrance" 0x56: "Route 11 - Gate 2F" 0x57: "Route 12 - Gate 1F" 0x58: "Bill's House" 0x59: "Vermilion City - Pokecenter" 0x5A: "Vermilion City - Pokemon Fan Club" 0x5B: "Vermilion City - Mart" 0x5C: "Vermilion City - Gym" 0x5D: "Vermilion City - House 1" 0x5E: "Vermilion Dock" 0x5F: "SS Anne" 0x60: "SS Anne" 0x61: "SS Anne" 0x62: "SS Anne" 0x63: "SS Anne" 0x64: "SS Anne" 0x65: "SS Anne" 0x66: "SS Anne" 0x67: "SS Anne" 0x68: "SS Anne" 0x69: "UNUSED_MAP_69" 0x6A: "UNUSED_MAP_6A" 0x6B: "UNUSED_MAP_6B" 0x6C: "Victory Road" 0x6D: "UNUSED_MAP_6D" 0x6E: "UNUSED_MAP_6E" 0x6F: "UNUSED_MAP_6F" 0x70: "UNUSED_MAP_70" 0x71: "Lance's Room" 0x72: "UNUSED_MAP_72" 0x73: "UNUSED_MAP_73" 0x74: "UNUSED_MAP_74" 0x75: "UNUSED_MAP_75" 0x76: "Hall of Fame" 0x77: "Underground Path" 0x78: "Champions Room" 0x79: "Underground Path" 0x7A: "Celadon City - Department Store - 1F" 0x7B: "Celadon City - Department Store - 2F" 0x7C: "Celadon City - Department Store - 3F" 0x7D: "Celadon City - Department Store - 4F" 0x7E: "Celadon City - Department Store - Roof" 0x7F: "Celadon City - Department Store - Elevator" 0x80: "Celadon City - Mansion - 1F" 0x81: "Celadon City - Mansion - 2F" 0x82: "Celadon City - Mansion - 3F" 0x83: "Celadon City - Mansion - 4F" 0x84: "Celadon City - Mansion - 5F" 0x85: "Celadon City - Pokecenter" 0x86: "Celadon City - Gym" 0x87: "Celadon City - Game Corner" 0x88: "Celadon City - Department Store - 5F" 0x89: "Celadon City - Prize House" 0x8A: "Celadon City - Diner" 0x8B: "Celadon City - House" 0x8C: "Celadon City - Hotel" 0x8D: "Lavender Town - Pokecenter" 0x8E: "Pokemon Tower - 1F" 0x8F: "Pokemon Tower - 2F" 0x90: "Pokemon Tower - 3F" 0x91: "Pokemon Tower - 4F" 0x92: "Pokemon Tower - 5F" 0x93: "Pokemon Tower - 6F" 0x94: "Pokemon Tower - 7F" 0x95: "Lavender Town - House 1" 0x96: "Lavender Town - Mart" 0x97: "Lavender Town - House 2" 0x98: "Fuchsia City - Mart" 0x99: "Fuchsia City - House 1" 0x9A: "Fuchsia City - Pokecenter" 0x9B: "Fuchsia City - House 2" 0x9C: "Safari Zone - Entrance" 0x9D: "Fuchsia City - Gym" 0x9E: "Fuchsia City - Meeting Room" 0x9F: "Seafoam Islands" 0xA0: "Seafoam Islands" 0xA1: "Seafoam Islands" 0xA2: "Seafoam Islands" 0xA3: "Vermilion City - House 2" 0xA4: "Fuchsia City - House 3" 0xA5: "Cinnabar Mansion" 0xA6: "Cinnabar Island - Gym" 0xA7: "Cinnabar Island - Lab" 0xA8: "Cinnabar Island - Lab" 0xA9: "Cinnabar Island - Lab" 0xAA: "Cinnabar Island - Lab" 0xAB: "Cinnabar Island - Pokecenter" 0xAC: "Cinnabar Island - Mart" 0xAD: "CINNABAR_MART_COPY" 0xAE: "Indigo Plateau - Lobby" 0xAF: "Saffron City - Copycat's House - 1F" 0xB0: "Saffron City - Copycat's House - 2F" 0xB1: "Saffron City - Fighting Dojo" 0xB2: "Saffron City - Gym" 0xB3: "Saffron City - House 1" 0xB4: "Saffron City - Mart" 0xB5: "Silph Co - 1F" 0xB6: "Saffron City - Pokecenter" 0xB7: "Saffron City - House 2" 0xB8: "Route 15 - Gate - 1F" 0xB9: "Route 15 - Gate -2F" 0xBA: "Route 16 - Gate - 1F" 0xBB: "Route 16 - Gate - 2F" 0xBC: "Route 16 - House" 0xBD: "Route 12 - House" 0xBE: "Route 18 - Gate - 1F" 0xBF: "Route 18 - Gate - 2F" 0xC0: "Seafoam Islands" 0xC1: "Route 22 - Gate" 0xC2: "Victory Road" 0xC3: "Route 12 - Gate - 2F" 0xC4: "Vermilion City - House 3" 0xC5: "Digglet's Cave" 0xC6: "Victory Road" 0xC7: "Rocket Hideout 1" 0xC8: "Rocket Hideout 2" 0xC9: "Rocket Hideout 3" 0xCA: "Rocket Hideout 4" 0xCB: "Rocket Hideout - Elevator" 0xCC: "UNUSED_MAP_CC" 0xCD: "UNUSED_MAP_CD" 0xCE: "UNUSED_MAP_CE" 0xCF: "Silph Co - 2F" 0xD0: "Silph Co - 3F" 0xD1: "Silph Co - 4F" 0xD2: "Silph Co - 5F" 0xD3: "Silph Co - 6F" 0xD4: "Silph Co - 7F" 0xD5: "Silph Co - 8F" 0xD6: "Cinnabar Mansion" 0xD7: "Cinnabar Mansion" 0xD8: "Cinnabar Mansion" 0xD9: "Safari Zone (East)" 0xDA: "Safari Zone (North)" 0xDB: "Safari Zone (West)" 0xDC: "Safari Zone (Center)" 0xDD: "Safari Zone - Rest House 1" 0xDE: "Safari Zone - Secret House" 0xDF: "Safari Zone - Rest House 2" 0xE0: "Safari Zone - Rest House 3" 0xE1: "Safari Zone - Rest House 4" 0xE2: "Unknown Dungeon" 0xE3: "Unknown Dungeon" 0xE4: "Unknown Dungeon" 0xE5: "Lavender Town - Name Rater's House" 0xE6: "Cerulean City - House 3" 0xE7: "UNUSED_MAP_E7" 0xE8: "Rock Tunnel" 0xE9: "Silph Co - 9F" 0xEA: "Silph Co - 10F" 0xEB: "Silph Co - 11F" 0xEC: "Silph Co - Elevator" 0xED: "UNUSED_MAP_ED" 0xEE: "UNUSED_MAP_EE" 0xEF: "Trade Center" 0xF0: "Colosseum" 0xF1: "UNUSED_MAP_F1" 0xF2: "UNUSED_MAP_F2" 0xF3: "UNUSED_MAP_F3" 0xF4: "UNUSED_MAP_F4" 0xF5: "Lorelei's Room" 0xF6: "Bruno's Room" 0xF7: "Agatha's Room" 0xFF: "UNKNOWN" audioTrack: #not working yet 0x00: null 0xB3: "Validate" 0xB4: "Bump" 0xB5: "Exit of a house" 0xB6: "Save Game" 0xB8: "Pokéflute" 0xB9: "Ding Dong" 0xBA: "PalletTown" 0xBD: "Pokecenter" 0xC0: "Gym" 0xC3: "Viridian City, Pewter City, Saffron City" 0xC7: "Cerulean City, Fuchsia City" 0xCA: "Celadon City" 0xCD: "Cinnabar City" 0xD0: "Vermilion City" 0xD4: "Lavender Town" 0xD8: "SS Anne" 0xDB: "Meet Oak" 0xDE: "Meet Blue" 0xE1: "Follow me" 0xE5: "Safari Zone / Evolution" 0xE8: "Pokémon Healding" 0xEB: "Road 1, 2" 0xEF: "Road 24, 25" 0xF3: "Road 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22" 0xF7: "Road 11, 12, 13, 14, 15" 0xFB: "Indigo Plateau" 0xB3: "Validate" 0xB4: "Bump" 0xB5: "Exit of a house" 0xB6: "Save Game" 0xB8: "Pokéflute" 0xB9: "Ding Dong" 0xBA: "PalletTown" 0xBD: "Pokecenter" 0xC0: "Gym" 0xC3: "Viridian City, Pewter City, Saffron City" 0xC7: "Cerulean City, Fuchsia City" 0xCA: "Celadon City" 0xCD: "Cinnabar City" 0xD0: "Vermilion City" 0xD4: "Lavender Town" 0xD8: "SS Anne" 0xDB: "Meet Oak" 0xDE: "Meet Blue" 0xE1: "Follow me" 0xE5: "Safari Zone / Evolution" 0xE8: "Pokémon Healding" 0xEB: "Road 1, 2" 0xEF: "Road 24, 25" 0xF3: "Road 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22" 0xF7: "Road 11, 12, 13, 14, 15" 0xFB: "Indigo Plateau" 0xB3: "Validate" 0xB4: "Bump" 0xB5: "Exit of a house" 0xB6: "Save Game" 0xB8: "Pokéflute" 0xB9: "Ding Dong" 0xBA: "PalletTown" 0xBD: "Pokecenter" 0xC0: "Gym" 0xC3: "Viridian City, Pewter City, Saffron City" 0xC7: "Cerulean City, Fuchsia City" 0xCA: "Celadon City" 0xCD: "Cinnabar City" 0xD0: "Vermilion City" 0xD4: "Lavender Town" 0xD8: "SS Anne" 0xDB: "Meet Oak" 0xDE: "Meet Blue" 0xE1: "Follow me" 0xE5: "Safari Zone / Evolution" 0xE8: "Pokémon Healding" 0xEB: "Road 1, 2" 0xEF: "Road 24, 25" 0xF3: "Road 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22" 0xF7: "Road 11, 12, 13, 14, 15" 0xFB: "Indigo Plateau" mapLocations: 0x2D: "GiovanniYellow" 0x36: "BrockYellow" 0x41: "MistyYellow" 0x5C: "SurgeYellow" 0x71: "LanceYellow" 0x86: "ErikaYellow" 0x9D: "KogaYellow" 0xA6: "BlaineYellow" 0xB2: "SabrinaYellow" 0xF5: "LoreliYellow" 0xF6: "BrunoYellow" 0xF7: "AgathaYellow"