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.
Kirby's Adventure/RAM map: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(bytes for selecting bank/palette) |
||
Line 1: | Line 1: | ||
{{rammap|game=Kirby's Adventure}} | {{rammap|game=Kirby's Adventure}} | ||
* <tt>0042</tt> = PPU sprite banks 0-1 | |||
* <tt>0043</tt> = PPU sprite banks 2-3 | |||
* <tt>0044</tt> = PPU background bank 0 | |||
* <tt>0045</tt> = PPU background bank 1 | |||
* <tt>0046</tt> = PPU background bank 2 | |||
* <tt>0047</tt> = PPU background bank 3 | |||
* <tt>0593 - 0595 (0003)</tt> = score (1 per 10 points) | * <tt>0593 - 0595 (0003)</tt> = score (1 per 10 points) | ||
Line 51: | Line 59: | ||
*** <tt>67EE</tt> = map width | *** <tt>67EE</tt> = map width | ||
*** <tt>67EF</tt> = map height | *** <tt>67EF</tt> = map height | ||
*** <tt>67F0</tt> = | *** <tt>67F0</tt> = PPU background banks | ||
*** <tt>67F1</tt> = | *** <tt>67F1</tt> = PPU background palettes | ||
*** <tt>67F2</tt> = | *** <tt>67F2</tt> = PPU sprite banks | ||
*** <tt>67F3</tt> = | *** <tt>67F3</tt> = PPU sprite palettes | ||
*** <tt>67F4</tt> = music | *** <tt>67F4</tt> = music | ||
*** <tt>67F5</tt> = background animation delay (00 = off) | *** <tt>67F5</tt> = background animation delay (00 = off) |
Revision as of 14:12, 8 May 2007
The following article is a RAM map for Kirby's Adventure.
- 0042 = PPU sprite banks 0-1
- 0043 = PPU sprite banks 2-3
- 0044 = PPU background bank 0
- 0045 = PPU background bank 1
- 0046 = PPU background bank 2
- 0047 = PPU background bank 3
- 0593 - 0595 (0003) = score (1 per 10 points)
- 0596 = health (max) (count by 8)
- 0597 = health (current) (count by 8)
- 0598 = power (for mike, crash, light)
- only used for display, except mike
- 0599 = lives
- max of 63 (99 decimal)
- 059D = lives display
- 00 = lives only
- 01 = power & lives
- 02-FF = [GLITCH]
- 05E2 = power of eaten enemy
- 05E3 = current power (see Notes)
- NOTE: bytes for actually being able to use power are VERY COMPLICATED (627F 6291 62A3 / 62D9 62EB 62FD)
- 058C = background graphics cycle - current
- 058D = background graphics cycle - countdown
- 058E = background graphics cycle - type
- 62C7 = kirby state (see Notes)
- 67EE - 74C7 (0CDA) = current map data (see Map Data Format)
- 7A00 - 7FFF (0600) = current tileset data (see Tileset Data Format)
Tileset Data Format
Tileset data is decompressed to 67EE - 6D2D (0540), then decoded to 7A00 - 7FFF (0600)
Original format:
- 67EE - 6BED (0400) = tileset - sets of PPU tiles (4 bytes per full tile)
- 6BEE - 6C2D (0040) = tileset - palettes (2 bits per tile)
- 6C2E - 6D2D (0100) = tileset - attributes
Decoded format:
- 7A00 - 7AFF (0100) = tileset - top-left PPU tile
- 7B00 - 7BFF (0100) = tileset - top-right PPU tile
- 7C00 - 7CFF (0100) = tileset - bottom-left PPU tile
- 7D00 - 7DFF (0100) = tileset - bottom-right PPU tile
- 7E00 - 7EFF (0100) = tileset - palette
- 7F00 - 7FFF (0100) = tileset - attribute (see Notes)
Map Data Format
After the tileset data is decoded, the map data is decompressed (no decoding necessary)
- 67EE - 74C7 (0CDA) = decompressed map output
- 67EE - 68C7 (00DA) = header
- 67EE = map width
- 67EF = map height
- 67F0 = PPU background banks
- 67F1 = PPU background palettes
- 67F2 = PPU sprite banks
- 67F3 = PPU sprite palettes
- 67F4 = music
- 67F5 = background animation delay (00 = off)
- 67F6 - 68C7 (0010) = map screen order (from top, by rows)
- 68C8 - 6987 (00C0) = map screen 1
- 6988 - 6A47 (00C0) = map screen 2
- 6A48 - 6B07 (00C0) = map screen 3
- 6B08 - 6BC7 (00C0) = map screen 4
- 6BC8 - 6C87 (00C0) = map screen 5
- 6C88 - 6D47 (00C0) = map screen 6
- 6D48 - 6E07 (00C0) = map screen 7
- 6E08 - 6EC7 (00C0) = map screen 8
- 6EC8 - 6F87 (00C0) = map screen 9
- 6F88 - 7047 (00C0) = map screen 10
- 7048 - 7107 (00C0) = map screen 11
- 7108 - 71C7 (00C0) = map screen 12
- 71C8 - 7287 (00C0) = map screen 13
- 7288 - 7347 (00C0) = map screen 14
- 7348 - 7407 (00C0) = map screen 15
- 7408 - 74C7 (00C0) = map screen 16
- 67EE - 68C7 (00DA) = header