Main Menu

Glitches

References/Resources

Affiliates

Technical

Search Wiki

Toolbox

Expanded bag item documentation (Generation I)
 Page | Discussion | View source | History

From Glitch City Laboratories

Jump to: navigation, search
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: addresses beyond the last one currently listed and clarifications on what certain ones affect.

This is a list of correspondences between RAM addresses and item slots when making use of the expanded item pack in Pokémon Red, Blue, and Yellow. Changing a given item index number or quantity will directly change the RAM address associated with it.

Bag item/quantity Disassembly label Red/Blue address Yellow address Details
Item 21 quantity wPlayerMoney D347 D346 Byte 1 of the player's current money (this value is read as BCD; see below.)
Item 22 wPlayerMoney D348 D347 Byte 2 of the player's current money (this value is read as BCD; see below.)
Item 22 quantity wPlayerMoney D349 D348 Byte 3 of the player's current money (this value is read as BCD; see below.)
Item 23 wRivalName D34A D349 The 1st letter of the rival's name.
Item 23 quantity wRivalName D34B D34A The 2nd letter of the rival's name.
Item 24 wRivalName D34C D34B The 3rd letter of the rival's name.
Item 24 quantity wRivalName D34D D34C The 4th letter of the rival's name.
Item 25 wRivalName D34E D34D The 5th letter of the rival's name.
Item 25 quantity wRivalName D34F D34E The 6th letter of the rival's name.
Item 26 wRivalName D350 D34F The 7th letter of the rival's name.
Item 26 quantity wRivalName D351 D350 The 8th letter of the rival's name. (This should be $50 if playing normally and the rival's name is the maximum length of 7 characters.)
Item 27 wRivalName D352 D351 The 9th letter of the rival's name.
Item 27 quantity wRivalName D353 D352 The 10th letter of the rival's name.
Item 28 wRivalName D354 D353 The 11th letter of the rival's name.
Item 28 quantity wOptions D355 D354 The options visible in the Options menu. Bits 0-3 correspond to text speed, with their value amounting to the amount of frames between each character printed to the screen; 5 corresponds to the "Slow" option, 3 to the "Medium" option, and 1 to the "Fast" option. Bit 6 corresponds to the Battle Style: it is 0 when the style is set to Shift, and 1 when set to Set. Bit 7 corresponds to Battle Animations; however, it is 0 when Battle Animations are on, and 1 when they are off.

(reword)

Item 29 wObtainedBadges D356 D355 The badges the player has obtained, in the form of a binary array. Each bit that is set corresponds to one badge being obtained (e.g. when set to FF, the player has all 8 badges.)
Item 29 quantity wObtainedBadges D357 D356 Unused
Item 30 wLetterPrintingDelayFlags D358 D357 If bit 0 of this address is 0, the delay between which text characters are printed to the screen is limited to one frame. The values of both bit 1 of this address and bit 6 of D730 take priority over this. If bit 1 of this address is 0, there is no delay after a text character is printed, allowing for instant text.
Item 30 quantity wPlayerID D359 D358 The upper byte of the player's trainer ID.
Item 31 wPlayerID D35A D359 The lower byte of the player's trainer ID.
Item 31 quantity wMapMusicSoundID D35B D35A The sound effect/track/cry ID for the current map. 0xFF is usually 'mute', and many other values correspond to town/city etc. themes. The selection of sounds/music depends on wMapMusicROMBank. The easiest method to play the music is by riding and dismounting the Bicycle or using the nameless 0x78 glitch item.
Item 32 wMapMusicROMBank D35C D35B The ROM bank of the music of the current map. Expected banks are 0x02 (overworld 1) and 0x1F (overworld 2). 0x08 (battle) and 0x20 (Pikachu's Beach EN Yellow). Glitch music banks are also possible. The easiest method to play the music is by riding and dismounting the Bicycle or using the nameless 0x78 glitch item.
Item 32 quantity wMapPalOffset D35D D35C The current color attribution of the map (D35D (D35C in Pokémon Yellow)) including 'cave darkness', which involves a D35D/D35C value of hex:06. See also play the Safari Zone in the dark glitch.
Item 33 wCurMap D35E D35D The currently loaded map (must be reloaded to apply). May also affect palette and map script bank.
Item 33 quantity wCurrentTileBlockMapViewPointer D35F D35E First little endian byte of the pointer to the upper left corner of the current view in the tile block map.
Item 34 wCurrentTileBlockMapViewPointer D360 D35F Second little endian byte of the pointer to the upper left corner of the current view in the tile block map.
Item 34 quantity wYCoord D361 D360 The player's Y coordinate on the current map.
Item 35 wXCoord D362 D361 The player's X coordinate on the current map.
Item 35 quantity wYBlockCoord D363 D362 Affects the alignment for blocks on the screen. Normally either 0 or 1. It alternates each time the player walks up/down.
Item 36 wXBlockCoord D364 D363 Affects the alignment for blocks on the screen. Normally either 0 or 1. It alternates each time the player walks left/right.
Item 36 quantity wLastMap D365 D364 The index of the last map the player was in.
Item 37 wUnusedD366 D366 D365 Unused
Item 37 quantity wCurMapTileset D367 D366 The tileset used by the current map.
Item 39 wCurMapHeight D368 D367 The height (in blocks) of the current map.
Item 39 quantity wCurMapWidth D369 D368 The width (in blocks) of the current map.
Item 40 wMapDataPtr D36A D369 The upper byte of the pointer of to the data for the current map.
Item 40 quantity wMapDataPtr D36B D36A The lower byte of the pointer to the data for the current map.
Item 41 wMapTextPtr D36C D36B The upper byte of the pointer to the text for the current map.
Item 41 quantity wMapTextPtr D36D D36C The lower byte of the pointer to the text for the current map.
Item 42 wMapScriptPtr D36E D36D The upper byte of the pointer to the script for the current map.
Item 42 quantity wMapScriptPtr D36F D36E The lower byte of the pointer to the script for the current map.
Item 43 wMapConnections D370 D36F Map connections (?)
Item 43 quantity wMapConn1Ptr D371 D370 Map connection 1 (?)
Item 44 wNorthConnectionStripSrc D372 D371 The upper byte of wNorthConnectionStripSrc (?)
Item 44 quantity wNorthConnectionStripSrc D373 D372 The lower byte of wNorthConnectionStripSrc (?)
Item 45 wNorthConnectionStripDest D374 D373 The upper byte of the pointer to the map to the north of the current one.
Item 45 quantity wNorthConnectionStripDest D375 D374 The lower byte of the pointer to the map to the north of the current one.
Item 46 wNorthConnectionStripWidth D376 D375 The width of the strip connecting to the map north of the current one. (?)
Item 46 quantity wNorthConnectedMapWidth D377 D376 The width of the map to the north of the current one.
Item 47 wNorthConnectedMapYAlignment D378 D377 The Y alignment of the map north of the current one.
Item 47 quantity wNorthConnectedMapXAlignment D379 D378 The X alignment of the map to the north of the current one.
Item 48 wNorthConnectedMapViewPointer D37A D379 The upper byte of the pointer to the view of the map north of the current one. (?)
Item 48 quantity wNorthConnectedMapViewPointer D37B D37A The lower byte of the pointer to the view of the map north of the current one. (?)
Item 49 wMapConn2Ptr D37C D37B Map connection 2 (?)
Item 49 quantity wSouthConnectionStripSrc D37D D37C The upper byte of wSouthConnectionStripSrc (?)
Item 50 wSouthConnectionStripSrc D37E D37D The lower byte of wSouthConnectionStripSrc (?)
Item 50 quantity wSouthConnectionStripDest D37F D37E The upper byte of the pointer to the map to the south of the current one.
Item 51 wSouthConnectionStripDest D380 D37F The lower byte of the pointer to the map to the south of the current one.
Item 51 quantity wSouthConnectionStripWidth D381 D380 The width of the strip connecting to the map south of the current one. (?)
Item 52 wSouthConnectedMapWidth D382 D381 The width of the map to the south of the current one.
Item 52 quantity wSouthConnectedMapYAlignment D383 D382 The Y alignment of the map south of the current one.
Item 53 wSouthConnectedMapXAlignment D384 D383 The X alignment of the map to the south of the current one.
Item 53 quantity wSouthConnectedMapViewPointer D385 D384 The upper byte of the pointer to the view of the map south of the current one. (?)
Item 54 wSouthConnectedMapViewPointer D386 D385 The lower byte of the pointer to the view of the map south of the current one. (?)
Item 54 quantity wMapConn3Ptr D387 D386 Map connection 3 (?)
Item 55 wWestConnectionStripSrc D388 D387 The upper byte of wWestConnectionStripSrc (?)
Item 55 quantity wWestConnectionStripSrc D389 D388 The lower byte of wWestConnectionStripSrc (?)
Item 56 wWestConnectionStripDest D38A D389 The upper byte of the pointer to the map to the west of the current one.
Item 56 quantity wWestConnectionStripDest D38B D38A The lower byte of the pointer to the map to the west of the current one.
Item 57 wWestConnectionStripHeight D38C D38B The height of the strip connecting to the map west of the current one. (?)
Item 58 quantity wWestConnectedMapWidth D38D D38C The width of the map to the west of the current one.
Item 59 wWestConnectedMapYAlignment D38E D38D The Y alignment of the map west of the current one.
Item 59 quantity wWestConnectedMapXAlignment D38F D38E The X alignment of the map to the west of the current one.
Item 60 wWestConnectedMapViewPointer D390 D38F The upper byte of the pointer to the view of the map west of the current one. (?)
Item 60 quantity wWestConnectedMapViewPointer D391 D390 The lower byte of the pointer to the view of the map west of the current one. (?)
Item 61 wMapConn4Ptr D392 D391 Map connection 4 (?)
Item 61 quantity wEastConnectionStripSrc D393 D392 The upper byte of wEastConnectionStripSrc (?)
Item 62 wEastConnectionStripSrc D394 D393 The lower byte of wEastConnectionStripSrc (?)
Item 62 quantity wEastConnectionStripDest D395 D394 The upper byte of the pointer to the map to the east of the current one.
Item 63 wEastConnectionStripDest D396 D395 The lower byte of the pointer to the map to the east of the current one.
Item 63 quantity wEastConnectionStripHeight D397 D396 The height of the strip connecting to the map east of the current one. (?)
Item 64 wEastConnectedMapWidth D398 D397 The width of the map to the east of the current one.
Item 64 quantity wEastConnectedMapYAlignment D399 D398 The Y alignment of the map east of the current one.
Item 65 wEastConnectedMapXAlignment D39A D399 The X alignment of the map to the east of the current one.
Item 65 quantity wEastConnectedMapViewPointer D39B D39A The upper byte of the pointer to the view of the map east of the current one. (?)
Item 66 wEastConnectedMapViewPointer D39C D39B The lower byte of the pointer to the view of the map east of the current one. (?)
Item 66 quantity wSpriteSet D39D D39C The 1st of eleven identifiers for the sprite set in the current map.
Item 67 wSpriteSet D39E D39D The 2nd of eleven identifiers for the sprite set in the current map.
Item 67 quantity wSpriteSet D39F D39E The 3rd of eleven identifiers for the sprite set in the current map.
Item 68 wSpriteSet D3A0 D39F The 4th of eleven identifiers for the sprite set in the current map.
Item 68 quantity wSpriteSet D3A1 D3A0 The 5th of eleven identifiers for the sprite set in the current map.
Item 69 wSpriteSet D3A2 D3A1 The 6th of eleven identifiers for the sprite set in the current map.
Item 69 quantity wSpriteSet D3A3 D3A2 The 7th of eleven identifiers for the sprite set in the current map.
Item 70 wSpriteSet D3A4 D3A3 The 8th of eleven identifiers for the sprite set in the current map.
Item 70 quantity wSpriteSet D3A5 D3A4 The 9th of eleven identifiers for the sprite set in the current map.
Item 71 wSpriteSet D3A6 D3A5 The 10th of eleven identifiers for the sprite set in the current map.
Item 71 quantity wSpriteSet D3A7 D3A6 The 11th of eleven identifiers for the sprite set in the current map.
Item 72 wSpriteSetID D3A8 D3A7 The sprite set ID for the current map.
Item 72 quantity wObjectDataPointerTemp D3A9 D3A8 ?
Item 73 wObjectDataPointerTemp D3AA D3A9 ?
Item 73 quantity wObjectDataPointerTemp D3AB D3AA ?
Item 74 wObjectDataPointerTemp D3AC D3AB ?
Item 74 quantity wMapBackgroundTile D3AD D3AC The tile shown outside the boundaries of the map
Item 75 wNumberOfWarps D3AE D3AD Number of warps in current map
Item 75 quantity-Item 128 quantity wWarpEntries D3AF-D41D D3AE-D41C Current map warp entries
Item 129-256 (copy of items 1-128) D31D-D41D D31D-D41C Aforementioned addresses


Binary-coded decimal (BCD)

Binary-coded decimal is a system for encoding numbers in which hexadecimal values are read as their visual counterpart in decimal. For instance, $64 in BCD would be interpreted as 64, not 100. It is used most notably for storing the player's money. This means that a value such as $000200 (item 21 has quantity 0, item 22 is an Ultra Ball with quantity 0) will give the player 200 money.

This article or section is a stub. You can help Glitch City Laboratories wiki by expanding it. RB 234 fs crop.png