Kirby's Adventure:RAM map: Difference between revisions
Jump to navigation
Jump to search
(→Map Data Format: Note about screen amount) |
m (059D:02 is not a glitch, it is the setting used for the overworld rooms, it only appears to be a glitch if set to 02 in a level room) |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 7: | Line 7: | ||
* <tt>0046</tt> = PPU background bank 2 | * <tt>0046</tt> = PPU background bank 2 | ||
* <tt>0047</tt> = PPU background bank 3 | * <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 19: | 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 | ||
Line 82: | Line 180: | ||
* <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 | ||
{{Internal Data|game=Kirby's Adventure}} |
Latest revision as of 20:03, 2 March 2021
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 |
---|
ROM Map • RAM Map • Text Table • Notes • Tutorials |