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 |
m (Xkeeper moved page Kirby's Adventure:RAM map to Kirby's Adventure/RAM map: normalize subpages and titles) |
||
(16 intermediate revisions by 6 users not shown) | |||
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>0521</tt> = Level 1 progress | |||
**Bit 0 = Stage 1-1 clear status | |||
**Bit 1 = Stage 1-2 clear status | |||
**Bit 2 = Stage 1-3 clear status | |||
**Bit 3 = Stage 1-4 clear status | |||
* <tt>0522</tt> = Level 2 progress | |||
**Bit 0 = Stage 2-1 clear status | |||
**Bit 1 = Stage 2-2 clear status | |||
**Bit 2 = Stage 2-3 clear status | |||
**Bit 3 = Stage 2-4 clear status | |||
**Bit 4 = Stage 2-5 clear status | |||
* <tt>0523</tt> = Level 3 main progress | |||
**Bit 0 = Stage 3-1 clear status | |||
**Bit 1 = Stage 3-2 clear status | |||
**Bit 2 = Stage 3-3 clear status | |||
**Bit 3 = Stage 3-4 clear status | |||
**Bit 4 = Stage 3-5 clear status | |||
**Bit 5 = Stage 3-6 clear status | |||
* <tt>0524</tt> = Level 4 main progress | |||
**Bit 0 = Stage 4-1 clear status | |||
**Bit 1 = Stage 4-2 clear status | |||
**Bit 2 = Stage 4-3 clear status | |||
**Bit 3 = Stage $-4 clear status | |||
**Bit 4 = Stage 4-5 clear status | |||
**Bit 5 = Stage 4-6 clear status | |||
* <tt>0525</tt> = Level 5 main progress | |||
**Bit 0 = Stage 5-1 clear status | |||
**Bit 1 = Stage 5-2 clear status | |||
**Bit 2 = Stage 5-3 clear status | |||
**Bit 3 = Stage 5-4 clear status | |||
**Bit 4 = Stage 5-5 clear status | |||
**Bit 5 = Stage 5-6 clear status | |||
* <tt>0526</tt> = Level 6 main progress | |||
**Bit 0 = Stage 6-1 clear status | |||
**Bit 1 = Stage 6-2 clear status | |||
**Bit 2 = Stage 6-3 clear status | |||
**Bit 3 = Stage 6-4 clear status | |||
**Bit 4 = Stage 6-5 clear status | |||
**Bit 5 = Stage 6-6 clear status | |||
* <tt>0527</tt> = Level 7 main progress | |||
**Bit 0 = Stage 7-1 clear status | |||
**Bit 1 = Stage 7-2 clear status | |||
**Bit 2 = Stage 7-3 clear status | |||
**Bit 3 = Stage 7-4 clear status | |||
**Bit 4 = Stage 7-5 clear status | |||
**Bit 5 = Stage 7-6 clear status | |||
* <tt>0528</tt> = Game progress state | |||
**<tt>00</tt> = Level 1 in progress | |||
**<tt>01</tt> = Level 2 in progress | |||
**<tt>02</tt> = Level 3 in progress | |||
**<tt>03</tt> = Level 4 in progress | |||
**<tt>04</tt> = Level 5 in progress | |||
**<tt>05</tt> = Level 6 in progress | |||
**<tt>06</tt> = Level 7 in progress | |||
**<tt>08</tt> = Game cleared | |||
**<tt>09</tt> = Extra Game cleared | |||
* <tt>052B</tt> = Level 3 switch progress | |||
**Bit 0 = Stage 3-1 switch status | |||
**Bit 5 = Stage 3-6 switch status | |||
* <tt>052C</tt> = Level 4 switch progress | |||
**Bit 0 = Stage 4-1 switch status | |||
**Bit 2 = Stage 4-3 switch status | |||
**Bit 5 = Stage 4-6 switch status | |||
* <tt>052D</tt> = Level 5 switch progress | |||
**Bit 0 = Stage 5-1 switch status | |||
**Bit 3 = Stage 5-4 switch status | |||
**Bit 4 = Stage 5-5 switch status | |||
**Bit 5 = Stage 5-6 switch status | |||
* <tt>052E</tt> = Level 6 switch progress | |||
**Bit 0 = Stage 6-1 switch status | |||
**Bit 1 = Stage 6-2 switch status | |||
**Bit 2 = Stage 6-3 switch status | |||
**Bit 3 = Stage 6-4 switch status | |||
**Bit 4 = Stage 6-5 switch status | |||
**Bit 5 = Stage 6-6 switch status | |||
* <tt>052F</tt> = Level 7 switch progress | |||
**Bit 0 = Stage 7-1 clear status | |||
**Bit 5 = Stage 7-6 clear status | |||
* <tt>0531</tt> = Level 1 boss status (set bit 7 for defeated state) | |||
* <tt>0532</tt> = Level 2 boss status (set bit 7 for defeated state) | |||
* <tt>0533</tt> = Level 3 boss status (set bit 7 for defeated state) | |||
* <tt>0534</tt> = Level 4 boss status (set bit 7 for defeated state) | |||
* <tt>0535</tt> = Level 5 boss status (set bit 7 for defeated state) | |||
* <tt>0536</tt> = Level 6 boss status (set bit 7 for defeated state) | |||
* <tt>0593 - 0595 (0003)</tt> = score (1 per 10 points) | * <tt>0593 - 0595 (0003)</tt> = score (1 per 10 points) | ||
Line 12: | Line 117: | ||
**<tt>00</tt> = lives only | **<tt>00</tt> = lives only | ||
**<tt>01</tt> = power & lives | **<tt>01</tt> = power & lives | ||
**<tt>02-FF</tt> = | **<tt>02-FF</tt> = lives only when in overworld room | ||
* <tt>05E2</tt> = power of eaten enemy | * <tt>05E2</tt> = power of eaten enemy | ||
* <tt>05E3</tt> = current power (see [[Kirby's Adventure:Notes#Powers|Notes]]) | * <tt>05E3</tt> = current power (see [[Kirby's Adventure:Notes#Powers|Notes]]) | ||
**NOTE: | **NOTE: bytes for actually being able to use power are VERY COMPLICATED (<tt>627F 6291 62A3 / 62D9 62EB 62FD</tt>) | ||
* <tt>058C</tt> = background graphics cycle - current | * <tt>058C</tt> = background graphics cycle - current | ||
Line 25: | Line 129: | ||
* <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]]) | ||
* <tt>67EE - 74C7 (0CDA)</tt> = current map data (see [[Kirby's Adventure:RAM map#Map Data Format|Map Data Format]]) | |||
* <tt>7A00 - 7FFF (0600)</tt> = current tileset data (see [[Kirby's Adventure:RAM map#Tileset Data Format|Tileset Data Format]]) | |||
* <tt>67EE - 74C7 (0CDA)</tt> = | == Tileset Data Format == | ||
Tileset data is decompressed to <tt>67EE - 6D2D (0540)</tt>, then decoded to <tt>7A00 - 7FFF (0600)</tt> | |||
* <tt>7A00 - 7AFF (0100)</tt> = tileset - top-left | Original format: | ||
* <tt>7B00 - 7BFF (0100)</tt> = tileset - top-right | * <tt>67EE - 6BED (0400)</tt> = tileset - sets of PPU tiles (4 bytes per full tile) | ||
* <tt>7C00 - 7CFF (0100)</tt> = tileset - bottom-left | * <tt>6BEE - 6C2D (0040)</tt> = tileset - palettes (2 bits per tile) | ||
* <tt>7D00 - 7DFF (0100)</tt> = tileset - bottom-right | * <tt>6C2E - 6D2D (0100)</tt> = tileset - attributes | ||
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>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 == | |||
After the tileset data is decoded, the map data is decompressed to <tt>67EE - 74C7 (0CDA)</tt> (no decoding necessary) | |||
NOTE: Maps can have 1-16 different screens, and screens can be duplicated in the map screen order | |||
* <tt>67EE - 68C7 (00DA)</tt> = header | |||
** <tt>67EE</tt> = map width | |||
** <tt>67EF</tt> = map height | |||
** <tt>67F0</tt> = PPU background banks (see [[Kirby's Adventure:ROM map#Map.2FEnemy.2FTileset Data|ROM 0x0B428]]) | |||
** <tt>67F1</tt> = PPU background palettes (see [[Kirby's Adventure:ROM map#Background Palettes|Background Palettes]]) | |||
** <tt>67F2</tt> = PPU sprite banks | |||
** <tt>67F3</tt> = PPU sprite palettes (see [[Kirby's Adventure:ROM map#Misc|ROM 0x24E65]]) | |||
** <tt>67F4</tt> = music | |||
** <tt>67F5</tt> = background animation delay (00 = off) | |||
** <tt>67F6 - 68C7 (0010)</tt> = map screen order (from top, by rows) | |||
* <tt>68C8 - 6987 (00C0)</tt> = map screen 1 | |||
* <tt>6988 - 6A47 (00C0)</tt> = map screen 2 | |||
* <tt>6A48 - 6B07 (00C0)</tt> = map screen 3 | |||
* <tt>6B08 - 6BC7 (00C0)</tt> = map screen 4 | |||
* <tt>6BC8 - 6C87 (00C0)</tt> = map screen 5 | |||
* <tt>6C88 - 6D47 (00C0)</tt> = map screen 6 | |||
* <tt>6D48 - 6E07 (00C0)</tt> = map screen 7 | |||
* <tt>6E08 - 6EC7 (00C0)</tt> = map screen 8 | |||
* <tt>6EC8 - 6F87 (00C0)</tt> = map screen 9 | |||
* <tt>6F88 - 7047 (00C0)</tt> = map screen 10 | |||
* <tt>7048 - 7107 (00C0)</tt> = map screen 11 | |||
* <tt>7108 - 71C7 (00C0)</tt> = map screen 12 | |||
* <tt>71C8 - 7287 (00C0)</tt> = map screen 13 | |||
* <tt>7288 - 7347 (00C0)</tt> = map screen 14 | |||
* <tt>7348 - 7407 (00C0)</tt> = map screen 15 | |||
* <tt>7408 - 74C7 (00C0)</tt> = map screen 16 | |||
{{Internal Data|game=Kirby's Adventure}} |
Latest revision as of 02:41, 24 January 2024
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
- 0521 = Level 1 progress
- Bit 0 = Stage 1-1 clear status
- Bit 1 = Stage 1-2 clear status
- Bit 2 = Stage 1-3 clear status
- Bit 3 = Stage 1-4 clear status
- 0522 = Level 2 progress
- Bit 0 = Stage 2-1 clear status
- Bit 1 = Stage 2-2 clear status
- Bit 2 = Stage 2-3 clear status
- Bit 3 = Stage 2-4 clear status
- Bit 4 = Stage 2-5 clear status
- 0523 = Level 3 main progress
- Bit 0 = Stage 3-1 clear status
- Bit 1 = Stage 3-2 clear status
- Bit 2 = Stage 3-3 clear status
- Bit 3 = Stage 3-4 clear status
- Bit 4 = Stage 3-5 clear status
- Bit 5 = Stage 3-6 clear status
- 0524 = Level 4 main progress
- Bit 0 = Stage 4-1 clear status
- Bit 1 = Stage 4-2 clear status
- Bit 2 = Stage 4-3 clear status
- Bit 3 = Stage $-4 clear status
- Bit 4 = Stage 4-5 clear status
- Bit 5 = Stage 4-6 clear status
- 0525 = Level 5 main progress
- Bit 0 = Stage 5-1 clear status
- Bit 1 = Stage 5-2 clear status
- Bit 2 = Stage 5-3 clear status
- Bit 3 = Stage 5-4 clear status
- Bit 4 = Stage 5-5 clear status
- Bit 5 = Stage 5-6 clear status
- 0526 = Level 6 main progress
- Bit 0 = Stage 6-1 clear status
- Bit 1 = Stage 6-2 clear status
- Bit 2 = Stage 6-3 clear status
- Bit 3 = Stage 6-4 clear status
- Bit 4 = Stage 6-5 clear status
- Bit 5 = Stage 6-6 clear status
- 0527 = Level 7 main progress
- Bit 0 = Stage 7-1 clear status
- Bit 1 = Stage 7-2 clear status
- Bit 2 = Stage 7-3 clear status
- Bit 3 = Stage 7-4 clear status
- Bit 4 = Stage 7-5 clear status
- Bit 5 = Stage 7-6 clear status
- 0528 = Game progress state
- 00 = Level 1 in progress
- 01 = Level 2 in progress
- 02 = Level 3 in progress
- 03 = Level 4 in progress
- 04 = Level 5 in progress
- 05 = Level 6 in progress
- 06 = Level 7 in progress
- 08 = Game cleared
- 09 = Extra Game cleared
- 052B = Level 3 switch progress
- Bit 0 = Stage 3-1 switch status
- Bit 5 = Stage 3-6 switch status
- 052C = Level 4 switch progress
- Bit 0 = Stage 4-1 switch status
- Bit 2 = Stage 4-3 switch status
- Bit 5 = Stage 4-6 switch status
- 052D = Level 5 switch progress
- Bit 0 = Stage 5-1 switch status
- Bit 3 = Stage 5-4 switch status
- Bit 4 = Stage 5-5 switch status
- Bit 5 = Stage 5-6 switch status
- 052E = Level 6 switch progress
- Bit 0 = Stage 6-1 switch status
- Bit 1 = Stage 6-2 switch status
- Bit 2 = Stage 6-3 switch status
- Bit 3 = Stage 6-4 switch status
- Bit 4 = Stage 6-5 switch status
- Bit 5 = Stage 6-6 switch status
- 052F = Level 7 switch progress
- Bit 0 = Stage 7-1 clear status
- Bit 5 = Stage 7-6 clear status
- 0531 = Level 1 boss status (set bit 7 for defeated state)
- 0532 = Level 2 boss status (set bit 7 for defeated state)
- 0533 = Level 3 boss status (set bit 7 for defeated state)
- 0534 = Level 4 boss status (set bit 7 for defeated state)
- 0535 = Level 5 boss status (set bit 7 for defeated state)
- 0536 = Level 6 boss status (set bit 7 for defeated state)
- 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 = lives only when in overworld room
- 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 to 67EE - 74C7 (0CDA) (no decoding necessary)
NOTE: Maps can have 1-16 different screens, and screens can be duplicated in the map screen order
- 67EE - 68C7 (00DA) = header
- 67EE = map width
- 67EF = map height
- 67F0 = PPU background banks (see ROM 0x0B428)
- 67F1 = PPU background palettes (see Background Palettes)
- 67F2 = PPU sprite banks
- 67F3 = PPU sprite palettes (see ROM 0x24E65)
- 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
Internal Data for Kirby's Adventure
| |
---|---|