If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
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
| |
---|---|