Jump to content

Expanded bag item documentation (Generation I): Difference between revisions

m
Text replacement - "{| {| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"" to "{|"
>Torchickens
No edit summary
m (Text replacement - "{| {| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"" to "{|")
 
(18 intermediate revisions by 5 users not shown)
Line 1:
{{incomplete|addresses beyond the last one currently listed and clarifications on what certain ones affect}}
{{incomplete}}
This is a list of correspondences between RAM addresses and item slots when making use of the [[expanded item pack]] in {{RBY}}. Changing a given item index number or quantity will directly change the RAM address associated with it.
 
{|
{| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"
|-
|
{| class="wikitable sortable"
{| border=1 width="100%" align=left class="sortable" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|-style="background: silver;"
! 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 || D34DD349 || The 1st letter of the rival's name.
|-
| Item 23 quantity || wRivalName || D34B || D34A || The 2nd letter of the rival's name.
Line 49:
| 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 [[ItemDex/RB:120|the nameless 0x78 glitch item]].
| Item 31 quantity || wMapMusicSoundID || D35B || D35A || wMapMusicSoundID
|-
| Item 32 || wMapMusicROMBank || D35C || D35B || The ROM bank of the music of the current map. IfExpected somethingbanks causesare the0x02 music(overworld to1) changeand 0x1F (overworld 2). 0x08 (battle) and this0x20 value(Pikachu's disagreesBeach withEN Yellow). Glitch music banks are also possible. The easiest method to play the intendedmusic oneis forby riding and dismounting the currentBicycle map,or using [[ItemDex/RB:120|the gamenameless 0x78 canglitch crashitem]].
|-
| Item 32 quantity || wMapPalOffset || D35D || D35C || The current color attribution of the map (D35D (D35C in {{Yellow}})) including 'cave darkness', which involves a D35D/D35C value of hex:06. See also [[play the Safari Zone in the dark glitch]].
Line 57:
| 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 || TheFirst upperlittle endian byte of the pointer to the upper left corner of the current view in the tile block map.(?)
|-
| Item 34 || wCurrentTileBlockMapViewPointer || D360 || D35F || TheSecond lowerlittle 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.
Line 65:
| Item 35 || wXCoord || D362 || D361 || The player's X coordinate on the current map.
|-
| Item 35 quantity || wYBlockCoord || D363 || D362 || TheAffects player'sthe Yalignment coordinatefor blocks on the currentscreen. map,Normally either 0 or 1. It alternates each time the player bywalks blockup/down.(?)
|-
| Item 36 || wXBlockCoord || D364 || D363 || The player'sAffects Xthe coordinatealignment for blocks on the currentscreen. map,Normally either 0 or 1. It alternates each time the player bywalks blockleft/right.(?)
|-
| Item 36 quantity || wLastMap || D365 || D364 || The index of the last map the player was in.
|-
| Item 37 || wUnusedD366 || D366 || D365 || Set to the width (in blocks) of the current map (before warping) when taking a warp from an "outside" map (usually when entering a building or a cave). Normally unused.
|-
| Item 37 quantity || wCurMapTileset || D367 || D366 || The tileset used by the current map.
|-
| Item 38 || wCurMapHeight || D368 || D367 || The height (in blocks) of the current map.
|-
| Item 38 quantity || wCurMapWidth || D369 || D368 || The width (in blocks) of the current map.
|-
| Item 39 || wMapDataPtr || D36A || D369 || The upper byte of the pointer of to the data for the current map.
|-
| Item 39 quantity || wMapDataPtr || D36B || D36A || The lower byte of the pointer to the data for the current map.
|-
| Item 40 || wMapTextPtr || D36C || D36B || The upper byte of the pointer to the text for the current map.
|-
| Item 40 quantity || wMapTextPtr || D36D || D36C || The lower byte of the pointer to the text for the current map.
|-
| Item 41 || wMapScriptPtr || D36E || D36D || The upper byte of the pointer to the script for the current map.
|-
| Item 41 quantity || wMapScriptPtr || D36F || D36E || The lower byte of the pointer to the script for the current map.
|-
| Item 42 || wMapConnections || D370 || D36F || Map connections (?)
|-
| Item 42 quantity || wMapConn1Ptr || D371 || D370 || Map connection 1 (?)
|-
| Item 43 || wNorthConnectionStripSrc || D372 || D371 || The upper byte of wNorthConnectionStripSrc (?)
|-
| Item 43 quantity || wNorthConnectionStripSrc || D373 || D372 || The lower byte of wNorthConnectionStripSrc (?)
|-
| Item 44 || wNorthConnectionStripDest || D374 || D373 || The upper byte of the pointer to the map to the north of the current one.
|-
| Item 44 quantity || wNorthConnectionStripDest || D375 || D374 || The lower byte of the pointer to the map to the north of the current one.
|-
| Item 45 || wNorthConnectionStripWidth || D376 || D375 || The width of the strip connecting to the map north of the current one. (?)
|-
| Item 45 quantity || wNorthConnectedMapWidth || D377 || D376 || The width of the map to the north of the current one.
|-
| Item 46 || wNorthConnectedMapYAlignment || D378 || D377 || The Y alignment of the map north of the current one.
|-
| Item 46 quantity || wNorthConnectedMapXAlignment || D379 || D378 || The X alignment of the map to the north of the current one.
|-
| Item 47 || wNorthConnectedMapViewPointer || D37A || D379 || The upper byte of the pointer to the view of the map north of the current one. (?)
|-
| Item 47 quantity || wNorthConnectedMapViewPointer || D37B || D37A || The lower byte of the pointer to the view of the map north of the current one. (?)
|-
| Item 48 || wMapConn2Ptr || D37C || D37B || Map connection 2 (?)
|-
| Item 48 quantity || wSouthConnectionStripSrc || D37D || D37C || The upper byte of wSouthConnectionStripSrc (?)
|-
| Item 49 || wSouthConnectionStripSrc || D37E || D37D || The lower byte of wSouthConnectionStripSrc (?)
|-
| Item 49 quantity || wSouthConnectionStripDest || D37F || D37E || The upper byte of the pointer to the map to the south of the current one.
|-
| Item 50 || wSouthConnectionStripDest || D380 || D37F || The lower byte of the pointer to the map to the south of the current one.
|-
| Item 50 quantity || wSouthConnectionStripWidth || D381 || D380 || The width of the strip connecting to the map south of the current one. (?)
|-
| Item 51 || wSouthConnectedMapWidth || D382 || D381 || The width of the map to the south of the current one.
|-
| Item 51 quantity || wSouthConnectedMapYAlignment || D383 || D382 || The Y alignment of the map south of the current one.
|-
| Item 52 || wSouthConnectedMapXAlignment || D384 || D383 || The X alignment of the map to the south of the current one.
|-
| Item 52 quantity || wSouthConnectedMapViewPointer || D385 || D384 || The upper byte of the pointer to the view of the map south of the current one. (?)
|-
| Item 53 || wSouthConnectedMapViewPointer || D386 || D385 || The lower byte of the pointer to the view of the map south of the current one. (?)
|-
| Item 53 quantity || wMapConn3Ptr || D387 || D386 || Map connection 3 (?)
|-
| Item 54 || wWestConnectionStripSrc || D388 || D387 || The upper byte of wWestConnectionStripSrc (?)
|-
| Item 54 quantity || wWestConnectionStripSrc || D389 || D388 || The lower byte of wWestConnectionStripSrc (?)
|-
| Item 55 || wWestConnectionStripDest || D38A || D389 || The upper byte of the pointer to the map to the west of the current one.
|-
| Item 55 quantity || wWestConnectionStripDest || D38B || D38A || The lower byte of the pointer to the map to the west of the current one.
|-
| Item 56 || wWestConnectionStripHeight || D38C || D38B || The height of the strip connecting to the map west of the current one. (?)
|-
| Item 56 quantity || wWestConnectedMapWidth || D38D || D38C || The width of the map to the west of the current one.
|-
| Item 57 || wWestConnectedMapYAlignment || D38E || D38D || The Y alignment of the map west of the current one.
|-
| Item 57 quantity || wWestConnectedMapXAlignment || D38F || D38E || The X alignment of the map to the west of the current one.
|-
| Item 58 || wWestConnectedMapViewPointer || D390 || D38F || The upper byte of the pointer to the view of the map west of the current one. (?)
|-
| Item 58 quantity || wWestConnectedMapViewPointer || D391 || D390 || The lower byte of the pointer to the view of the map west of the current one. (?)
|-
| Item 59 || wMapConn4Ptr || D392 || D391 || Map connection 4 (?)
|-
| Item 59 quantity || wEastConnectionStripSrc || D393 || D392 || The upper byte of wEastConnectionStripSrc (?)
|-
| Item 60 || wEastConnectionStripSrc || D394 || D393 || The lower byte of wEastConnectionStripSrc (?)
|-
| Item 60 quantity || wEastConnectionStripDest || D395 || D394 || The upper byte of the pointer to the map to the east of the current one.
|-
| Item 61 || wEastConnectionStripDest || D396 || D395 || The lower byte of the pointer to the map to the east of the current one.
|-
| Item 61 quantity || wEastConnectionStripHeight || D397 || D396 || The height of the strip connecting to the map east of the current one. (?)
|-
| Item 62 || wEastConnectedMapWidth || D398 || D397 || The width of the map to the east of the current one.
|-
| Item 62 quantity || wEastConnectedMapYAlignment || D399 || D398 || The Y alignment of the map east of the current one.
|-
| Item 63 || wEastConnectedMapXAlignment || D39A || D399 || The X alignment of the map to the east of the current one.
|-
| Item 63 quantity || wEastConnectedMapViewPointer || D39B || D39A || The upper byte of the pointer to the view of the map east of the current one. (?)
|-
| Item 64 || wEastConnectedMapViewPointer || D39C || D39B || The lower byte of the pointer to the view of the map east of the current one. (?)
|-
| Item 64 quantity || wSpriteSet || D39D || D39C || The 1st of eleven identifiers for the sprite set in the current map.
|-
| Item 65 || wSpriteSet || D39E || D39D || The 2nd of eleven identifiers for the sprite set in the current map.
|-
| Item 65 quantity || wSpriteSet || D39F || D39E || The 3rd of eleven identifiers for the sprite set in the current map.
|-
| Item 66 || wSpriteSet || D3A0 || D39F || The 4th of eleven identifiers for the sprite set in the current map.
|-
| Item 66 quantity || wSpriteSet || D3A1 || D3A0 || The 5th of eleven identifiers for the sprite set in the current map.
|-
| Item 67 || wSpriteSet || D3A2 || D3A1 || The 6th of eleven identifiers for the sprite set in the current map.
|-
| Item 67 quantity || wSpriteSet || D3A3 || D3A2 || The 7th of eleven identifiers for the sprite set in the current map.
|-
| Item 68 || wSpriteSet || D3A4 || D3A3 || The 8th of eleven identifiers for the sprite set in the current map.
|-
| Item 68 quantity || wSpriteSet || D3A5 || D3A4 || The 9th of eleven identifiers for the sprite set in the current map.
|-
| Item 69 || wSpriteSet || D3A6 || D3A5 || The 10th of eleven identifiers for the sprite set in the current map.
|-
| Item 69 quantity || wSpriteSet || D3A7 || D3A6 || The 11th of eleven identifiers for the sprite set in the current map.
|-
| Item 70 || wSpriteSetID || D3A8 || D3A7 || The sprite set ID for the current map.
|-
| Item 70 quantity || wObjectDataPointerTemp || D3A9 || D3A8 || ?
|-
| Item 71 || wObjectDataPointerTemp || D3AA || D3A9 || ?
|-
| Item 71 quantity || wObjectDataPointerTemp || D3AB || D3AA || ?
|-
| Item 72 || wObjectDataPointerTemp || D3AC || D3AB || ?
|-
| Item 72 quantity || wMapBackgroundTile || D3AD || D3AC || The tile shown outside the boundaries of the map
|-
| Item 73 || wNumberOfWarps || D3AE || D3AD || Number of warps in current map
|-
| Item 73 quantity-Item 128 quantity || wWarpEntries || D3AF-D41D || D3AE-D41C || Current map warp entries
|-
| Item 129-256 || (copy of items 1-128) || D31E-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.
 
==Roaming items==
{{incomplete|roaming items for red}}
'''Roaming items''' are simply map-specific items found in the expanded item pack. Their corresponding memory addresses are set every time the player enters a map. Since many of those data correspond to pointers, the kinds and quantities of those items are seemingly random, may vary between even similar versions (e.g. English Red and English Blue), and cover a wide range of both normal and glitch items.
 
The "roaming item area" begins with the quantity of item 37, wCurMapTileset, and it technically extends all the way to the quantity of item 128. However, some memory addresses in this area are left unset if they are unused for a certain map (like the data for a nonexistent map connection). In particular, none of the maps have enough warps to actually fill the item pack up to item 128, so for a large number of items, both the item ID and the quantity remains at 0. The sprite set is also only reloaded if it changed.
 
Modification of those memory addresses usually has no long-term effect (or no effect at all). As such, swapping those items with unimportant items in the normal inventory is a powerful way of getting glitch items.
 
===External links===
* [http://pastebin.com/T5gHcAtb List of roaming items for Blue]
 
 
{{stub}}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.