Karnov (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(adding everything I have in my notes)
(formatting)
Line 1: Line 1:
$0C - Render Scroll X
$0C - Render Scroll X
$0D - Render Scroll Y
$0D - Render Scroll Y
$0E - Render Scroll Y high bit << 4 ($10 or $00)
$0E - Render Scroll Y high bit << 4 ($10 or $00)
$24 - Render palette (32 bytes)
$24 - Render palette (32 bytes)
$61 - Current stage 0-8
$61 - Current stage 0-8
$62 - Player State: Facing left (bit 7)
$62 - Player State: Facing left (bit 7)
$63 - Player X
$63 - Player X
$64 - Player Y
$64 - Player Y
$65 - Player Equipment: shield (bit 4), shot type (bits 3-0)
$65 - Player Equipment: shield (bit 4), shot type (bits 3-0)
$68 - Player Health: 0 red/healthy, $C0 blue, $80 dead
$68 - Player Health: 0 red/healthy, $C0 blue, $80 dead


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


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




Enemy structure 6 x 16 bytes:
Enemy structure 6 x 16 bytes:
$650 - Type (bits 6-0), Active (bit 7)
$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
$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
$652 - X
$653 - Y
$653 - Y
$655 - Damage
$655 - Damage


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


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


== See Also ==
== See Also ==
[[Karnov:ROM map]]
[[Karnov:ROM map]]

Revision as of 07:12, 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