Expanded party/RGBYJP: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
This is a sub-page of [[expanded party]], covering the start of memory address structures for Pokémon beyond slot 6 in the Japanese versions of {{RGBY}} and uses for practical glitches.
{{incomplete|1=Returning to this shortly.}}

Pokémon 1-256's (species byte 1) data:
Pokémon 1-256's (species byte 1) data:


Line 1,039: Line 1,040:
A [[closed menu Select glitch]] involving pressing Select on an item, closing the menu and pressing A on a Pokémon can actually be understood as swapping Pokémon in the expanded party. The cursor position while on the items menu represents one Pokémon to swap (e.g. if on item 2, Pokémon 2 is going to be swapped) and the player's actual selection on the party menu as another (e.g. pressing A on the first party Pokémon would swap it, as expected). In order to predict how a Select glitch will work the player can analyse the data above or use a [[debugger]]).
A [[closed menu Select glitch]] involving pressing Select on an item, closing the menu and pressing A on a Pokémon can actually be understood as swapping Pokémon in the expanded party. The cursor position while on the items menu represents one Pokémon to swap (e.g. if on item 2, Pokémon 2 is going to be swapped) and the player's actual selection on the party menu as another (e.g. pressing A on the first party Pokémon would swap it, as expected). In order to predict how a Select glitch will work the player can analyse the data above or use a [[debugger]]).
==In dokokashira door glitch==
==In dokokashira door glitch==
It may be useful to analyse the expanded party to identify a Pokémon beyond slot 6 with the following criteria:
It may be useful to analyse the expanded party (such as by referring to the starting addresses of a slot beyond slot 6 above) to identify a Pokémon beyond slot 6 with the following criteria:

*The Pokémon's status address defines it as poisoned; so the memory corruption can occur every four steps (typically D335).
*The Pokémon's status address defines it as poisoned; so the memory corruption can occur every four steps (typically D335).
**The status address is located +4 from the start of any slot Pokémon's main structure data (including beyond slot 6).

Normal contents:

<tt>
Poisoned - bit 0x3 (0x08)
Burned - bit 0x4 (0x10)
Sleeping - bits 0x1, 0x2, 0x04 (0x16)
Frozen - bit 0x5 (0x20)
Paralyzed - bit 0x6 (0x40)
</tt>
*The Pokémon's current HP address is greater than 0.
*The Pokémon's current HP address is greater than 0.
**The current HP addresses are located +1 and +2 (because current HP is stored in two bytes, from 0-65535) from the start of any slot Pokémon's main structure data.
*There should be no 0xFF bytes before the target Pokémon (for the typical 'from a new game' method, an exception is the initial misplaced 0xFF terminator in slot 1).
*There should be no 0xFF bytes before the target Pokémon (for the typical 'from a new game' method, an exception is the initial misplaced 0xFF terminator in slot 1).