Karnov (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (link to main article, spacing)
m (Hawk moved page Karnov/RAM map to Karnov (NES)/RAM map)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{rammap|game=Karnov}}
{{rammap|game=Karnov}}


 
$04 - Game Mode function pointer (2 bytes): based on index from $10, see below
  $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)
$10 - Game Mode: $0B active play, $10 final boss fadeout, $11 congratulations music begins
  $24 - Render palette (32 bytes)
  $24 - Render palette (32 bytes)
  $61 - Current stage 0-8
  $61 - Current stage 0-8
Line 13: Line 14:
  $68 - Player Health: 0 red/healthy, $C0 blue, $80 dead
  $68 - Player Health: 0 red/healthy, $C0 blue, $80 dead


 
Player shot structure 9 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
Line 39: Line 38:
  $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:
Line 47: Line 45:
  $653 - Y
  $653 - Y
  $655 - Damage
  $655 - Damage


  $6CF - Dragon state: Active (bit 7)
  $6CF - Dragon state: Active (bit 7)
Line 55: Line 52:
  $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
$6D2 - Boss damage (3 bytes)
  $6DA - Boss Head X
  $6DA - Boss Head X
  $6DB - Boss Head Y
  $6DB - Boss Head Y
Line 66: Line 63:
  $708 - Fireball Y
  $708 - Fireball Y


== See also ==
*[[Karnov:ROM map]]


== See Also ==
{{Internal Data}}
*[[Karnov:ROM map]]

Latest revision as of 20:56, 28 January 2024

Chip tiny.png The following article is a RAM map for Karnov (NES).

$04 - Game Mode function pointer (2 bytes): based on index from $10, see below
$0C - Render Scroll X
$0D - Render Scroll Y
$0E - Render Scroll Y high bit << 4 ($10 or $00)
$10 - Game Mode: $0B active play, $10 final boss fadeout, $11 congratulations music begins
$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 9 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
$6D2 - Boss damage (3 bytes)
$6DA - Boss Head X
$6DB - Boss Head Y
$706 - Fireball State: Active (bit 7)
$707 - Fireball X
$708 - Fireball Y

See also