Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Pokémon Pinball/ROM map: Difference between revisions
Jump to navigation
Jump to search
Mantidactyle (talk | contribs) No edit summary |
m (Xkeeper moved page Pokémon Pinball:ROM map to Pokémon Pinball/ROM map: normalize subpages and titles) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
* <tt>0x154B3-0x154B8</tt> - Ball IDs (downgrade) | * <tt>0x154B3-0x154B8</tt> - Ball IDs (downgrade) | ||
* <tt>0x15530-0x1554E</tt> - Subroutine that downgrades the current Ball | * <tt>0x15530-0x1554E</tt> - Subroutine that downgrades the current Ball | ||
ld a,(D47E) // Loads the old Ball ID in register a | ld a,(D47E) // Loads the old Ball ID in register a | ||
ld c,a | ld c,a | ||
ld b,00 | ld b,00 | ||
ld hl,54B3 | ld hl,54B3 | ||
add hl,bc | add hl,bc | ||
ld a,(hl) // Loads the new Ball ID at ROM '''0x154B3''' + old Ball ID | ld a,(hl) // Loads the new Ball ID at ROM '''0x154B3''' + old Ball ID | ||
ld (D47E),a // Updates the Ball ID in RAM '''0xD47E''' | ld (D47E),a // Updates the Ball ID in RAM '''0xD47E''' | ||
* <tt>0x180AC-0x180C0</tt> - Initializes values when entering a Bonus Stage | * <tt>0x180AC-0x180C0</tt> - Initializes values when entering a Bonus Stage | ||
ld a,01 | ld a,01 | ||
ld (D7AC),a | ld (D7AC),a | ||
ld a,(D47E) // Loads the current Ball ID in register a | ld a,(D47E) // Loads the current Ball ID in register a | ||
ld (D481),a // Stores the Ball ID in RAM '''0xD481''' for the duration of the Bonus Stage | ld (D481),a // Stores the Ball ID in RAM '''0xD481''' for the duration of the Bonus Stage | ||
xor a | xor a | ||
ld (D4C8),a | ld (D4C8),a | ||
ld (D47E),a // Set Ball ID to Poké Ball for the duration of the Bonus Stage | ld (D47E),a // Set Ball ID to Poké Ball for the duration of the Bonus Stage | ||
ld (D49A),a | ld (D49A),a | ||
* <tt>0x1C129-0x1C158</tt> - Restores values when exiting a Bonus Stage | |||
ld a,00 | |||
ld (D4B3),a | |||
ld a,50 | |||
ld (D4B4),a | |||
ld a,00 | |||
ld (D4B5),a | |||
ld a,16 | |||
ld (D4B6),a | |||
xor a | |||
ld (D4BD),a | |||
ld (D4BE),a | |||
ld (D4BB),a | |||
ld (D4BC),a | |||
ld (D496),a | |||
ld (D7AB),a | |||
ld (D7BE),a | |||
ld a,(D481) // Loads the previously stored Ball ID | |||
ld (D47E),a // Restores previous Ball ID | |||
* <tt>0x300BB-0x30112</tt> - Initializes values after losing a Ball | * <tt>0x300BB-0x30112</tt> - Initializes values after losing a Ball | ||
Line 43: | Line 63: | ||
ldi (hl),a | ldi (hl),a | ||
ldi (hl),a | ldi (hl),a | ||
ld (D47E),a // Set Ball ID to Poké Ball | ld (D47E),a // Set Ball ID to Poké Ball | ||
ld (D611),a | ld (D611),a | ||
ld (D612),a | ld (D612),a | ||
Line 61: | Line 81: | ||
ld (D610),a | ld (D610),a | ||
ld (ff00+8A),a | ld (ff00+8A),a | ||
{{Internal Data|game=Pokémon Pinball}} |
Latest revision as of 02:42, 24 January 2024
The following article is a ROM map for Pokémon Pinball.
Ball
- 0x154AD-0x154B2 - Ball IDs (upgrade)
- 0x154B3-0x154B8 - Ball IDs (downgrade)
- 0x15530-0x1554E - Subroutine that downgrades the current Ball
ld a,(D47E) // Loads the old Ball ID in register a ld c,a ld b,00 ld hl,54B3 add hl,bc ld a,(hl) // Loads the new Ball ID at ROM 0x154B3 + old Ball ID ld (D47E),a // Updates the Ball ID in RAM 0xD47E
- 0x180AC-0x180C0 - Initializes values when entering a Bonus Stage
ld a,01 ld (D7AC),a ld a,(D47E) // Loads the current Ball ID in register a ld (D481),a // Stores the Ball ID in RAM 0xD481 for the duration of the Bonus Stage xor a ld (D4C8),a ld (D47E),a // Set Ball ID to Poké Ball for the duration of the Bonus Stage ld (D49A),a
- 0x1C129-0x1C158 - Restores values when exiting a Bonus Stage
ld a,00 ld (D4B3),a ld a,50 ld (D4B4),a ld a,00 ld (D4B5),a ld a,16 ld (D4B6),a xor a ld (D4BD),a ld (D4BE),a ld (D4BB),a ld (D4BC),a ld (D496),a ld (D7AB),a ld (D7BE),a ld a,(D481) // Loads the previously stored Ball ID ld (D47E),a // Restores previous Ball ID
- 0x300BB-0x30112 - Initializes values after losing a Ball
xor a ld (D4C9),a xor a ld (D50B),a ld (D50C),a ld (D51D),a ld (D517),a ld (D51E),a ld hl,D50F ldi (hl),a ldi (hl),a ldi (hl),a ldi (hl),a ld (D4F0),a ld (D4F2),a ld hl,D5F9 ldi (hl),a ldi (hl),a ldi (hl),a ld (D47E),a // Set Ball ID to Poké Ball ld (D611),a ld (D612),a ld (D628),a ld (D629),a ld (D62A),a ld (D62B),a ld (D62C),a ld (D62D),a ld (D62E),a ld (D613),a inc a ld (D482),a ld (D4EF),a ld (D4F1),a ld a,03 ld (D610),a ld (ff00+8A),a
Internal Data for Pokémon Pinball
| |
---|---|