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) (→Ball) |
Mantidactyle (talk | contribs) m (→Ball) |
||
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 | ||
Line 40: | Line 40: | ||
ld (D7AB),a | ld (D7AB),a | ||
ld (D7BE),a | ld (D7BE),a | ||
ld a,(D481) // Loads the previously stored Ball ID | ld a,(D481) // Loads the previously stored Ball ID | ||
ld (D47E),a // Restores previous 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 63: | 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 |
Revision as of 08:14, 5 April 2015
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