Castlevania Chronicles/RAM map

From Data Crystal
< Castlevania Chronicles
Revision as of 21:51, 1 July 2024 by Rexius55 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Note for template.png
Note:
  • Pieces of data may be partially incorrect or have missing information.
  • Any (!!)s indicate there are likely unknown properties/information on addresses.


$80010...

Address   Function             Details
-------   ------------------   ----------------------------
3A8-C7    Top row of the HUD   Contains score, timer and stage counts
3C8-D3    "PRESS START"        Flashes over enemy health meter during idle demos

$8005...

Address    Function                    Details
--------   ------------------          ----------------------------
90CB-D1    "NOMIS" (!!)                "SIMON" backwards, unknown purpose
90F0-12A   Names & health meters       "PLAYER", "ENEMY", pointers for both meters' tile graphics
911B-12A   Heart and life counts       Heart icon, "P-", pointers for both counts tile graphics
9248-9     Camera sector coords (!!)   See $800592D4-5, unknown why information is duplicated in RAM
9270       Input detection 1           Left nybble for face buttons, right for back triggers
9271       Input detection 2           Left nybble for directional inputs, right for start and select
9274       "PRESS START" demo flag     The "PRESS START" that flashes over the enemy healthbar/name in the HUD during idle demos, 00 is off, any
                                       other value is on, can flash even during normal gameplay
9290-1     Timer value (!!)            First byte is calculated in usual hex (e.g. FF = 255) and is subtracted from by one, second seems to be
                                       multiplied by 256, both are somehow used together to calculate the timer's value (00 02 = 512, FF 00 = 255)
9292       Life count
92C4       Block number                Acts like an instant level select, goes up to 07 (Dracula's block), does not change the stage value
92D0       Stage number (!!)           Each block's separated rooms have numbers dedicated to them, exiting a room adds one to this value, game
                                       crashes if the block has no room dedicated to an incremented value of the byte, tiles are corrupted when the
                                       room byte doesn't match up to the loaded room's given byte
92D4       Camera x-position (!!)      Based on 255-units long sectors of stages which are pieced together to create levels, not much more is known
                                       on sectors
92D5       Room sector number (!!)     Self-explanatory, coupled with byte above
92DC-F     Score value
92E8       Entity y-axis floor (!!)    Value for entities' floor collision
930D       Camera movement type (!!)   00 results in an instant death, 01 and 02 lock vertical scrolling (any open drops are death pits), 03+ moves
                                       with Simon aside from level edges
A822       Player health value         Byte starts at 10 (visually full)
A823       Unknown (!!)                Changing this value to anything other than 00 changes Simon's palette to be gray
A834       Simon airtime in frames     Byte adding stops at 28, where Simon begins dropping like a brick (if dropping without jumping, very quickly
                                       incremented to 28)
A835       State of Simon whipping     00 if not whipping, 01 if whipping forward, 02 if whipping directly downward in air, 03 if whipping diagonally
                                       downward in air
A836       Whip level/sprites          00 for leather whip, 01 for chain whip, 02 for Morning Star, beyond results in glitched sprites
A837       Whip state counter          When the whip button is pressed, counts up to 14, returns to 00 during the last couple frames of the whipping
                                       action, can be interrupted, where it will stay at the value it was up to before being interrupted, but will
                                       return to 01 and count up to 14 again when a whip button is pressed
A838       Hearts value                Maximum is FF (255), overflows back to 00 when added to at max
A839       Stairs flag (!!)            Byte is set to 01 if Simon is on stairs, if set to 01 when not on stairs, Simon slides forward facing one
                                       direction involuntarily until the jump button is pressed

$8010...

Address    Function                           Details
--------   ------------------                 ----------------------------
02D0-2F0   Sound test menu display (!!)       Does not include song names or song visualization* (*visualization might be in/near the range but
                                              requires further investigation)
0318-39F   Save select menu display
03A0-3D6   Time attack menu display
03D7-3DE   Somewhat unknown (!!)              Says "L1" and "R1" both separated by bytes of 00 (likely connected to the secret sound module menu)
03DF-412   Ranking menu display (!!)          (Address range might be off)
04A7-4CB   Game over display
068F-69C   Unknown (!!)                       Arranged to make "PRESS BUTTON"
06CF-724   Secret "Extra Mode" menu display
0877-8E0   Options menu display
08F7-93E   Arrange option menu display (!!)   Strangely, "ON" and "OFF" are not found in the RAM for the Time Limit option
093F-96A   Adjust display menu display
F5D7-794   Sound test menu song names