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
(map and tileset ranges in main offset list) |
(→Tileset Data Format: link to tile attributes list) |
||
Line 34: | Line 34: | ||
* <tt>67EE - 6BED (0400)</tt> = tileset - sets of PPU tiles (4 bytes per full tile) | * <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>6BEE - 6C2D (0040)</tt> = tileset - palettes (2 bits per tile) | ||
* <tt>6C2E - 6D2D (0100)</tt> = tileset - | * <tt>6C2E - 6D2D (0100)</tt> = tileset - attributes | ||
Decoded format: | Decoded format: | ||
Line 42: | Line 42: | ||
* <tt>7D00 - 7DFF (0100)</tt> = tileset - bottom-right PPU tile | * <tt>7D00 - 7DFF (0100)</tt> = tileset - bottom-right PPU tile | ||
* <tt>7E00 - 7EFF (0100)</tt> = tileset - palette | * <tt>7E00 - 7EFF (0100)</tt> = tileset - palette | ||
* <tt>7F00 - 7FFF (0100)</tt> = tileset - | * <tt>7F00 - 7FFF (0100)</tt> = tileset - attribute (see [[Kirby's Adventure:Notes#Tile Attributes|Notes]]) | ||
== Map Data Format == | == Map Data Format == |
Revision as of 22:22, 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)
- 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 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