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
No edit summary |
(map/tileset data formats) |
||
Line 24: | Line 24: | ||
* <tt>62C7</tt> = kirby state (see [[Kirby's Adventure:Notes#Kirby State|Notes]]) | * <tt>62C7</tt> = kirby state (see [[Kirby's Adventure:Notes#Kirby State|Notes]]) | ||
== Tileset Data Format == | |||
Tileset data is decompressed to <tt>67EE - 6D2D (0540)</tt>, then decoded to <tt>7A00 - 7FFF (0600)</tt> | |||
** <tt> | |||
** <tt> | Original format: | ||
* <tt>67EE - 6BED (0400)</tt> = tileset - sets of PPU tiles (4 bytes per full tile) | |||
* <tt>6BEE - 6C2D (0040)</tt> = tileset - palettes (2 bits per tile) | |||
* <tt>6C2E - 6D2D (0100)</tt> = tileset - type | |||
Decoded format: | |||
* <tt>7A00 - 7AFF (0100)</tt> = tileset - top-left PPU tile | |||
* <tt>7B00 - 7BFF (0100)</tt> = tileset - top-right PPU tile | |||
* <tt>7C00 - 7CFF (0100)</tt> = tileset - bottom-left PPU tile | |||
* <tt>7D00 - 7DFF (0100)</tt> = tileset - bottom-right PPU tile | |||
* <tt>7E00 - 7EFF (0100)</tt> = tileset - palette | |||
* <tt>7F00 - 7FFF (0100)</tt> = tileset - type | |||
== Map Data Format == | |||
After the tileset data is decoded, the map data is decompressed (no decoding necessary) | |||
* <tt>67EE - 74C7 (0CDA)</tt> = decompressed map output | * <tt>67EE - 74C7 (0CDA)</tt> = decompressed map output | ||
** <tt>67EE - 68C7 (00DA)</tt> = header | ** <tt>67EE - 68C7 (00DA)</tt> = header | ||
Line 55: | Line 70: | ||
** <tt>7348 - 7407 (00C0)</tt> = map screen 15 | ** <tt>7348 - 7407 (00C0)</tt> = map screen 15 | ||
** <tt>7408 - 74C7 (00C0)</tt> = map screen 16 | ** <tt>7408 - 74C7 (00C0)</tt> = map screen 16 | ||
Revision as of 21:27, 28 April 2007
The following article is a RAM map for Kirby's Adventure.
- 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)
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 - type
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 - type
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 0 banks]
- 67F1 = [PPU 0 palettes]
- 67F2 = [affects PPU 1 banks]
- 67F3 = [PPU 1 palettes 2-3]
- 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