Item underflow: Difference between revisions

m
no edit summary
mNo edit summary
Line 9: Line 9:
As the game now believes that the player has 255 item slots to scroll through, the player is able to access several important regions of memory that happen to be stored just beyond the Bag's items in RAM, and manipulate these memory areas as if they were items (by swapping, tossing, etc.). This effectively gives the player arbitrary read and write access to these regions of memory. This perhaps most notably includes the player's current map data and coordinates, and so for example it is possible to instantly complete the game by warping to the [[Hall of Fame]]. Manipulating coordinates is also a relatively easy way to access glitch items such as [[List of unobtainable items#8F|8F]], by standing on a particular tile (such that the player's coordinates are interpreted as the item 8F) and then swapping that item to a normal Bag slot. Other values that can be arbitrarily modified include the player's [[money]] (3 bytes) and [[Badge]]s (1 byte), the [[Rival]]'s name (11 bytes including the terminator), the game's text speed (1 byte)<!-- mention "Fastest" text speed here? -->, and the player's Trainer ID number (2 bytes); a total of 470 bytes can be accessed in this way (corresponding to 235 extra 'item' slots and two bytes (identity and quantity) per slot).
As the game now believes that the player has 255 item slots to scroll through, the player is able to access several important regions of memory that happen to be stored just beyond the Bag's items in RAM, and manipulate these memory areas as if they were items (by swapping, tossing, etc.). This effectively gives the player arbitrary read and write access to these regions of memory. This perhaps most notably includes the player's current map data and coordinates, and so for example it is possible to instantly complete the game by warping to the [[Hall of Fame]]. Manipulating coordinates is also a relatively easy way to access glitch items such as [[List of unobtainable items#8F|8F]], by standing on a particular tile (such that the player's coordinates are interpreted as the item 8F) and then swapping that item to a normal Bag slot. Other values that can be arbitrarily modified include the player's [[money]] (3 bytes) and [[Badge]]s (1 byte), the [[Rival]]'s name (11 bytes including the terminator), the game's text speed (1 byte)<!-- mention "Fastest" text speed here? -->, and the player's Trainer ID number (2 bytes); a total of 470 bytes can be accessed in this way (corresponding to 235 extra 'item' slots and two bytes (identity and quantity) per slot).


This item underflow method can also be performed in a nearly identical manner using a [[Fossil]] and the scientist in the [[Pokémon Lab]] on [[Cinnabar Island]] who revives it and thus removes it from the inventory.
This item underflow method can also be performed in a nearly identical manner using a [[Fossil]] and the scientist in the [[Cinnabar Lab|Pokémon Lab]] on [[Cinnabar Island]] who revives it and thus removes it from the inventory.


Restoring the player's Bag to normal can be easily performed by simply obtaining or purchasing an item(s) that the player does not have; this will increase the number of item stacks in the Bag back up to 0 or usual positive numbers.
Restoring the player's Bag to normal can be easily performed by simply obtaining or purchasing an item(s) that the player does not have; this will increase the number of item stacks in the Bag back up to 0 or usual positive numbers.
120,931

edits