Difference between revisions of "Karnov:RAM map"

From Data Crystal
Jump to: navigation, search
m (formatting)
(adding everything I have in my notes)
Line 1: Line 1:
0x0BB  Bombs Count
+
$0C - Render Scroll X
 +
$0D - Render Scroll Y
 +
$0E - Render Scroll Y high bit << 4 ($10 or $00)
 +
$24 - Render palette (32 bytes)
 +
$61 - Current stage 0-8
 +
$62 - Player State: Facing left (bit 7)
 +
$63 - Player X
 +
$64 - Player Y
 +
$65 - Player Equipment: shield (bit 4), shot type (bits 3-0)
 +
$68 - Player Health: 0 red/healthy, $C0 blue, $80 dead
  
0x040B Lives Count
+
Player shot structure 8 x 3 bytes:
 +
$6E - Shot Status
 +
$6F - Shot X
 +
$70 - Shot Y
  
008F - Items Mask
+
$8F - Items: mask (bit 5), bombs (bit 1), boots (bit 0
* 1 boots
+
$92 - Map X scroll target
* 2 bombs
+
$93 - Map Y scroll target
* 4
+
$9F - Map X scroll
* 8
+
$A0 - Map Y scroll
* 16
+
$BB - Bombs Count
* 32 mask
+
$C0 - Bomb Visible
* 64
+
$C1 - Bomb X
 +
$C2 - Bomb Y
 +
$C4 - Scrolling state
 +
$CA - PPU Update Buffer (14 bytes: address x 2, data x 2, address x 2, data x 2, address x 2, data, address x 2, data)
 +
$D8 - Fireball Orb State: Active (bit 7)
 +
$D9 - Fireball Orb X
 +
$DA - Fireball Orb Y
 +
$0200 - OAM Buffer (256 bytes)
 +
$040B - Lives Count
 +
$040C - 16 x 12 map tile type buffer (collision, spawn triggers, pickups)
 +
$04CC - Attribute Cache
 +
$054C - Row list for level background data (13 bytes)
 +
 
 +
 
 +
Enemy structure 6 x 16 bytes:
 +
$650 - Type (bits 6-0), Active (bit 7)
 +
$651 - Status: Facing left (bit 7), Falling from jump (bit 6), State (bits 5-0) = 0-3 walk, 5 fire, 6 duck, 8 jump, $A-$B climb, $17 falling straight down, $19 dying, $1A dead
 +
$652 - X
 +
$653 - Y
 +
$655 - Damage
 +
 
 +
$6CF - Dragon state: Active (bit 7)
 +
$6D0 - Dragon damage
 +
$6DB - Dragon X
 +
$6DC - Dragon Y
 +
$6DD - Dragon X high byte
 +
$6DE - Dragon Y high byte
 +
 
 +
During final boss:
 +
$6CF - Boss Head State
 +
$6D0 - Boss Sequence: 0-7 (starts at 1), looks up order from $C:$ACB3
 +
$6DA - Boss Head X
 +
$6DB - Boss Head Y
 +
$706 - Fireball State: Active (bit 7)
 +
$707 - Fireball X
 +
$708 - Fireball Y
 +
 
 +
== See Also ==
 +
[[Karnov:ROM map]]

Revision as of 03:11, 10 November 2018

$0C - Render Scroll X $0D - Render Scroll Y $0E - Render Scroll Y high bit << 4 ($10 or $00) $24 - Render palette (32 bytes) $61 - Current stage 0-8 $62 - Player State: Facing left (bit 7) $63 - Player X $64 - Player Y $65 - Player Equipment: shield (bit 4), shot type (bits 3-0) $68 - Player Health: 0 red/healthy, $C0 blue, $80 dead

Player shot structure 8 x 3 bytes: $6E - Shot Status $6F - Shot X $70 - Shot Y

$8F - Items: mask (bit 5), bombs (bit 1), boots (bit 0 $92 - Map X scroll target $93 - Map Y scroll target $9F - Map X scroll $A0 - Map Y scroll $BB - Bombs Count $C0 - Bomb Visible $C1 - Bomb X $C2 - Bomb Y $C4 - Scrolling state $CA - PPU Update Buffer (14 bytes: address x 2, data x 2, address x 2, data x 2, address x 2, data, address x 2, data) $D8 - Fireball Orb State: Active (bit 7) $D9 - Fireball Orb X $DA - Fireball Orb Y $0200 - OAM Buffer (256 bytes) $040B - Lives Count $040C - 16 x 12 map tile type buffer (collision, spawn triggers, pickups) $04CC - Attribute Cache $054C - Row list for level background data (13 bytes)


Enemy structure 6 x 16 bytes: $650 - Type (bits 6-0), Active (bit 7) $651 - Status: Facing left (bit 7), Falling from jump (bit 6), State (bits 5-0) = 0-3 walk, 5 fire, 6 duck, 8 jump, $A-$B climb, $17 falling straight down, $19 dying, $1A dead $652 - X $653 - Y $655 - Damage

$6CF - Dragon state: Active (bit 7) $6D0 - Dragon damage $6DB - Dragon X $6DC - Dragon Y $6DD - Dragon X high byte $6DE - Dragon Y high byte

During final boss: $6CF - Boss Head State $6D0 - Boss Sequence: 0-7 (starts at 1), looks up order from $C:$ACB3 $6DA - Boss Head X $6DB - Boss Head Y $706 - Fireball State: Active (bit 7) $707 - Fireball X $708 - Fireball Y

See Also

Karnov:ROM map