Castlevania II: Simon's Quest/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Castlevania II: Simon's Quest.


RAM Function Detail
0x0005 Pause Menu Displayed 12h (hexadecimal) = no, 00h = yes
0x0018 Game Mode 00h = reset, 01h = title screen, 02h = something title?, 03h = title starts game, 04h = lives display, 05h = game, 06h = trigger life loss, 07h = game over, 08h = title menu, 09h = trigger ending (load mode), 0ah = ending, 0bh = trigger ???, 0ch = trigger load ending graphics and then trigger 09h?, 0dh = trigger 0ch?, 0eh = ending complete? back to title screen, 0fh = GAME START fade-out
0x0019 Game Sub-Mode
0x0022 Black Screen Timer 0 = no black screen, not 0 = black screen and counts down to 0
0x0023 Title Menu Option 0 = GAME START, 1 = PASSWORD
0x0026 Pause 0 = not paused, 1 = start pause, 2 = select pause
0x002A Game Mode Timer
0x002c Transition Type 00h = trigger lives display, 01h = lives display, 02h = loading, 03h = no transition, 04h = day/night change dialog, 05h = fade out, 06h = black screen, 07h = fade back in, 08h = horizontal room transition, 09h = vertical room transition, 0ah = horizontal region transition, 0bh = vertical region transition
0x0030 Region 00h = town, 01h = mansion, 02h = woods, 03h = graveyard, 04h = mountains, 05h = castlevania's ruins
0x0031 Lives
0x0034 Is Dead Flag 0 = no, not 0 = yes
0x0035 Death Timer
0x0046 Experience 00xx Two digits 0-9
0x0047 Experience xx00 Two digits 0-9
0x0048 Hearts 00xx Two digits 0-9
0x0049 Hearts xx00 Two digits 0-9
0x004a Acquired Sub-Weapons Each sub-weapon one bit (01h = dagger, 02h = silver knife, 04h = gold knife, 08h = holy water, 10h = diamond, 20h = sacred flame, 40h = oak stake, 80h = nothing)
0x004c Laurels Count Two digits 0-9
0x004d Garlic Count Two digits 0-9
0x004f Equipped Item
0x0053-54 Simon X position in room (pixels)
0x006c-6d Simon X speed (sub-pixels and pixels)
0x0077 Dialog Box Letter Y Tile (in nametable)
0x0078 Dialog Box Letter X Tile
0x007b Dialog Box Letter Timer
0x007c Dialog Box Letter ID
0x007d Dialog Box Line Starting X Tile & Merchant Dialog Box Refuse Timer
0x007e Dialog Box Choice 0 = "NO", 1 = "YES"
0x0080 Energy Starts at 30h
0x0081 Max Energy
0x0082 Day or Night Flag 0 = Day, 1 = Night
0x0083 Time xx:00:00.00 Days
0x0084 Time 00:00:00.xx Frames (not displayed in-game, 15 frames per minute (0x00 to 0x0e inclusive))
0x0085 Time 00:00:xx.00 Minutes
0x0086 Time 00:xx:00.00 Hours
0x008B Level
0x0090 Equipped Sub-Weapon (0 for nothing and 1 to 7 in the same order as in the in-game menu)
0x0091 Acquired Items Each item one bit (01h = rib, 02h = heart, 04h = eye, 08h = nail, 10h = ring, 20h = white gem, 40h = blue gem, 20h+40h = red gem, 80h = nothing)
0x0092 More Acquired Items Each item one bit (01h = silk bag, 02h = magic cross, 04h = laurels, 08h = garlic)
0x00a1-a2 Noise/DPCM Note Pointer
0x00ab Pulse 1 Note Time Left
0x00ac Pulse 2 Note Time Left
0x00ad Triangle Note Time Left
0x00af Noise active 0 = no, 1 = yes
0x00bb Noise Period and Volume probably pointer to a table
0x00bc Noise/DPCM Note Pointer (copy of 0x00a1?)
0x00f1 Controller Held
0x00f3 Controller Tapped
0x00fc Y Screen Scroll (pixels)
0x00fd X Screen Scroll (pixels)
0x0124 Pulse 1 Volume
0x0125 Pulse 2 Volume
0x0150 Pulse 1 Frame Of Volume Envelope
0x0151 Pulse 2 Frame Of Volume Envelope
0x0300-509? Objects Table let i be the index of an object and j be a property of that object, that property is at address (0x300 + j*18 + i).

List of Objects

i (in decimal) Object
0 Simon
1 Simon whip
2 Simon whip tip
3-5 Simon sub-weapons
6-14 at least NPCs/Enemies/Collectibles

List of Properties

j (in decimal) Property
0 Absolute Animation Frame
2 Y position in camera (pixels)
3 Y position in camera (sub-pixels)
4 X position in camera (pixels)
5 X position in camera (sub-pixels)
6 Y speed (signed pixels)
7 Y speed (sub-pixels)
8 X speed (signed pixels)
9 X speed (sub-pixels)
10 AI
11 Disappear during pause (0 = no, 4 = yes)
12 State (possible values for Simon: 00h = standing, 01h = walking, 02h = jumping, 03h = crouching, 04h = attacking, 05h = fall from ledge, 06h = hurt, 07h = auto-align with stairs, 08h = start stairs, 09h = stand on stairs, 0ah = walk on stairs, 80h = start death, 81h = death hurt, 82h = dead on the floor, ffh = dead to lives display)
13 Timer until next Animation Frame
14 Animation Frame of Current Animation
16 Direction faced (0 = left, 1 = right)
18 Sub-State
25 Health
28 I-Frames
0x0434 Current Whip 00h = leather, 01h = thorn, 02h = chain, 03h = morning star, 04h = flame
0x0446 Simon jump is rising 0 = no, 1 = yes
0x050a?-6ff? Block Clipdata?