Castlevania: The Adventure/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Address        Description
{{rammap}}
 
Address        Description
  ----------------------------
  ----------------------------
0xC00C        Input held (1: right. 2: left. 4: up. 8: down. 10: a [jump]. 20: b [whip]. 40: select. 80: start.) Copied to C41A.
0xC00D        Input pressed this frame. (As above.) Copied to C41D.
0xC02A        Current sublevel transition tracker
0xC02B        Current stage
  0xC030-C032    Hi-Score (C030 = ones and tens, C031 = hundreds and thousands, C032 = tens of thousands)
  0xC030-C032    Hi-Score (C030 = ones and tens, C031 = hundreds and thousands, C032 = tens of thousands)
  0xC034-C036    Current Score
  0xC034-C036    Current Score
   
  0xC040        Current lives
 
  0xC171-C172    Channel 1 music note pointer?
  0xC171-C172    Channel 1 music note pointer?
  0xC173        Channel 1 music note timer
  0xC173        Channel 1 music note timer
Line 12: Line 19:
  0xC183        Channel 1 music note length before silence?
  0xC183        Channel 1 music note length before silence?
  0xC196-C197    Channel 2 music note pointer?
  0xC196-C197    Channel 2 music note pointer?
 
0xC00C        Input held (1: right. 2: left. 4: up. 8: down. 10: a. 20: b. 40: select. 80: start.) Copied to C81A.
0xC00D        Input pressed this frame. (As above.) Copied to C81D.
  0xC300-C39F    Copied to OAM (0xFE00-FE9F)
  0xC300-C39F    Copied to OAM (0xFE00-FE9F)
  0xC3C8-C3C9    Copy of C00C,C00D; used only during input polling routine for robustness to entropy.
  0xC3C8-C3C9    Copy of C00C,C00D; used only during input polling routine for robustness to entropy
0xC3CB        Tracks if player's Xpos is in the bounding zone for a sublevel transition (set at 0x1EDA)
 
0xC402        Current sublevel X position in metatiles (4 tiles)
0xC412        Current sublevel
0xC41A        Copy of 0xC00C. Code prefers to read this address instead of 0xC00C for some reason. 0xC00C seems to be exclusively read/written during the input polling routine.
0xC41D        as above, for input pressed this frame.
  0xC436        Level Timer's seconds
  0xC436        Level Timer's seconds
  0xC437        Level Timer's minutes
  0xC437        Level Timer's minutes
  0xC50D         Christopher's state? ($00 = standing/walking, $01 = jumping, $02 = crouching, $03 = rope, $04 = whipping...)
 
  0xC502         Christopher's action state ($00 = standing/walking$01 = jumping. $02 = crouching. $03 = rope. $04 = whipping/whip-jumping/whip-crouching. )
  0xC505        Timer related to Christopher whipping
  0xC505        Timer related to Christopher whipping
  0xC50A-C50C    Christopher's current X position (pixels and sub-pixels)
  0xC50A-C50C    Christopher's current X position (pixels and sub-pixels)
  0xC50D        Christopher's jump state? ($00 = grounded, $01 = jumpsquat, $0F = rising, $0A = falling)
  0xC50D        Christopher's jump state ($00 = grounded, $01 = jumpsquat, $0F = rising, $0A = falling)
  0xC50E        Christopher's gravity (sub-pixels, normally $60)
  0xC50E        Christopher's gravity (sub-pixels, normally $60)
  0xC50F-C510    Christopher's current Y velocity (pixels and sub-pixels)
  0xC50F-C510    Christopher's current Y velocity (pixels and sub-pixels)
  0xC511-C512    Christopher's current Y position in camera? (pixels and sub-pixels)
  0xC511-C512    Christopher's current Y position in camera? (pixels and sub-pixels)
  0xC513        Christopher's current X position in camera
  0xC513        Christopher's current X position in camera
  0xC514        Christopher's general pose ($01 = standing/walking, $02 = crouching/jumping, $04 = whipping, $09 = climbing rope...)
  0xC514        Christopher's pose ($01 = standing/walking, $02 = crouching/jumping, $03 = whipping, $05 = crouch-whipping, $07 = knockback, $09 = climbing rope...)
0xC515        Bit 5 of this is facing ($20 = right; 0 = left)
  0xC519        Christopher's current health
  0xC519        Christopher's current health
  0xC51B        Christopher's current whip attack type ($00 = grounded, $01 = jumping, $02 = crouching)
  0xC51B        Christopher's current whip attack type ($00 = grounded, $01 = jumping, $02 = crouching)
  0xC81A         Copy of 0xC00C. Code prefers to read this address instead of 0xC00C for some reason. 0xC00C seems to be exclusively read/written during the input polling routine.
  0xC51C         Christopher's whip status ($00 = regular / $01 = chain whip / $02 = fireball whip)
  0xC81D         as above, for input pressed this frame.
 
  0xC6xx        Enemy slot (20 bytes)
  0xC600        Is slot taken? x80 if slot taken
  0xC601        EnemyID or AI
  0xC602         Enemy status (for eyeball, 01 = midair / 02 = rolling)
  0xC606        Related to enemy movement (for eyeball, set at 1A; if change, it spins in place)
  0xC607        Enemy Xpos
  0xC60C        Respawn? 0 = yes / 1 = no
  0xC612        Enemy Ypos
  0xC615        Sprite information
  0xC616        Animation counter
  0xC617        Current animation frame ID
  0xC618        More sprite information
 
{{Internal Data}}

Latest revision as of 14:30, 24 January 2024

Chip tiny.png The following article is a RAM map for Castlevania: The Adventure.

Address Description

----------------------------
0xC00C         Input held (1: right. 2: left. 4: up. 8: down. 10: a [jump]. 20: b [whip]. 40: select. 80: start.) Copied to C41A.
0xC00D         Input pressed this frame. (As above.) Copied to C41D.
0xC02A         Current sublevel transition tracker
0xC02B         Current stage
0xC030-C032    Hi-Score (C030 = ones and tens, C031 = hundreds and thousands, C032 = tens of thousands)
0xC034-C036    Current Score
0xC040         Current lives
0xC171-C172    Channel 1 music note pointer?
0xC173         Channel 1 music note timer
0xC178         Channel 1 music note cuts/releases/echo?
0xC17C         Channel 1 music octave
0xC17D-C17E    Channel 1 music pitch
0xC181         Channel 1 music volume envelope
0xC183         Channel 1 music note length before silence?
0xC196-C197    Channel 2 music note pointer?
0xC300-C39F    Copied to OAM (0xFE00-FE9F)
0xC3C8-C3C9    Copy of C00C,C00D; used only during input polling routine for robustness to entropy
0xC3CB         Tracks if player's Xpos is in the bounding zone for a sublevel transition (set at 0x1EDA)
0xC402         Current sublevel X position in metatiles (4 tiles)
0xC412         Current sublevel
0xC41A         Copy of 0xC00C. Code prefers to read this address instead of 0xC00C for some reason. 0xC00C seems to be exclusively read/written during the input polling routine.
0xC41D         as above, for input pressed this frame.
0xC436         Level Timer's seconds
0xC437         Level Timer's minutes
0xC502         Christopher's action state ($00 = standing/walking.  $01 = jumping. $02 = crouching. $03 = rope. $04 = whipping/whip-jumping/whip-crouching. )
0xC505         Timer related to Christopher whipping
0xC50A-C50C    Christopher's current X position (pixels and sub-pixels)
0xC50D         Christopher's jump state ($00 = grounded, $01 = jumpsquat, $0F = rising, $0A = falling)
0xC50E         Christopher's gravity (sub-pixels, normally $60)
0xC50F-C510    Christopher's current Y velocity (pixels and sub-pixels)
0xC511-C512    Christopher's current Y position in camera? (pixels and sub-pixels)
0xC513         Christopher's current X position in camera
0xC514         Christopher's pose ($01 = standing/walking, $02 = crouching/jumping, $03 = whipping, $05 = crouch-whipping, $07 = knockback, $09 = climbing rope...)
0xC515         Bit 5 of this is facing ($20 = right; 0 = left)
0xC519         Christopher's current health
0xC51B         Christopher's current whip attack type ($00 = grounded, $01 = jumping, $02 = crouching)
0xC51C         Christopher's whip status ($00 = regular / $01 = chain whip / $02 = fireball whip)
0xC6xx         Enemy slot (20 bytes)
 0xC600         Is slot taken? x80 if slot taken
 0xC601         EnemyID or AI
 0xC602         Enemy status (for eyeball, 01 = midair / 02 = rolling)
 0xC606         Related to enemy movement (for eyeball, set at 1A; if change, it spins in place)
 0xC607         Enemy Xpos
 0xC60C         Respawn? 0 = yes / 1 = no
 0xC612         Enemy Ypos
 0xC615         Sprite information
 0xC616         Animation counter
 0xC617         Current animation frame ID
 0xC618         More sprite information