Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Castlevania III: Dracula's Curse/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Radio Mode!! ...Couldn't think of anything else to call it)
 
(11 intermediate revisions by one other user not shown)
Line 86: Line 86:
  $0069      #02    Stair Map Address
  $0069      #02    Stair Map Address
  $006B              Menu selections
  $006B              Menu selections
  $006B            Door State
                    Door State
                             ''00 = unopened; 01 = load next room; 02 = scroll in next room;
                             ''00 = unopened; 01 = load next room; 02 = scroll in next room;
                             ''03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
                             ''03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
Line 106: Line 106:
  $007A              Vertical Spawner Previous (?)
  $007A              Vertical Spawner Previous (?)
  $007B              Spawner Count
  $007B              Spawner Count
$007C              Vertical Partner Y-Coordinate ''(used for partner swap in vertical rooms)
  $007D              Room Type
  $007D              Room Type
                             ''10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
                             ''10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
Line 155: Line 156:
  $00A4              Map Transition Checkpoint
  $00A4              Map Transition Checkpoint
  $00A5              Check Right Tile
  $00A5              Check Right Tile
$00A6              Default Drawing State Backup ''(used during partner swap)
$00A7      #02    IRQ Latch Backup ''(used during partner swap)
$00A9              IRQ Control Backup ''(used during partner swap)
  $00AA              Partner Swap Previous Game State
  $00AA              Partner Swap Previous Game State
  $00AB              Stopwatch Active
  $00AB              Stopwatch Active
Line 169: Line 173:
  $00B8              Current Platform ''(ID of elevator or frozen enemy)
  $00B8              Current Platform ''(ID of elevator or frozen enemy)
  $00B9              Crash Timer ''(stuns Player after falling too far)
  $00B9              Crash Timer ''(stuns Player after falling too far)
  $00BA              Boss Fight
  $00BA              Boss Special Hitbox ''(bitmasked)
$00BB              Boss Melee Hitbox
                            ''01-03 = Doppelganger whip; 04 = Doppelganger staff;
                            ''05 = Death's Skull; 06 = Moat Dragon head;
$00BC              Boss Hitbox Phase ''(redundant with Doppelganger)
$00BD              Bone Dragon King HP
$00BE              Bone Dragon King Misc. Ticker
  $00BF              Faint Pause ''(pauses game when killed or time runs out)
  $00BF              Faint Pause ''(pauses game when killed or time runs out)
  $00C0              Flood Halted
  $00C0              Flood Halted
Line 175: Line 185:
  $00C2              Boss Second Phase
  $00C2              Boss Second Phase
  $00C3              Boss Spawner
  $00C3              Boss Spawner
  $00C4      #02    Character Disabled ''(cleared in every transition)
  $00C4      #02    Boss Frozen Bitmask ''(used in conjunction with $0790, also prevents ally swap)
$00C6              Autowalk Data Pointer ''(ref. $00:9140 for autowalk behavior)
                            ''00 = Clocktower/Default; 04 = Forest; 08 = Alucard Caves;
                            ''0C = Ghost Ship; 10 = Mountain Pass; 14 = Castle Keep
  $00C7              Thaw Timer ''(for frozen water)''
  $00C7              Thaw Timer ''(for frozen water)''
  $00C8              Horizontal Scroll Lock ''(used by crumbling bridge)
  $00C8              Horizontal Scroll Lock ''(used by crumbling bridge)
  $00CA              Flood Height
  $00CA              Flood Height
$00CB              Flood Height Subpixel
$00CC      #02    Boss Stunned Bitmask ''(similar to $00C4, but stops animation and allows ally swap)
  $00CE              Weapon Kill Count ''(affects item drops)
  $00CE              Weapon Kill Count ''(affects item drops)
  $00CF              Previous Conveyance ''(backup of $0088)
  $00CF              Previous Conveyance ''(backup of $0088)
  $00D0              Vertical Ceiling ''(lowest y-coordinate in vertical room)
  $00D0              Vertical Ceiling ''(lowest y-coordinate in vertical room)
  $00D2              Cogwheel ID Copy
  $00D2              Cogwheel ID Copy
$00D3              Grant Corner Y-Coordinate
  $00D4              Cogwheel ID
  $00D4              Cogwheel ID
  $00E0      #02    Audio Current Note Address
  $00E0      #02    Audio Current Note Address
  $00E2      #02    Audio Redirect Address
  $00E2      #02    Audio Redirect Address
  $00E2            Audio Data Temporary Variable
                    Audio Data Temporary Variable
  $00E4      #02    Audio Data 16-bit Variable
  $00E4      #02    Audio Data 16-bit Variable
  $00E6      #02    Audio Track Base Address
  $00E6      #02    Audio Track Base Address
Line 221: Line 237:
  $0146      #07    Audio Channel Coda Address High Byte
  $0146      #07    Audio Channel Coda Address High Byte
  $014D      #07    Audio Channel Previous Period High Byte
  $014D      #07    Audio Channel Previous Period High Byte
  $0152              Audio Global Dampening ''(lowers volume for all channels)''
$0152              Audio Global Dampening ''(lowers volume for all channels)''
  $0154      #07    Audio Channel Volume
  $0154      #07    Audio Channel Volume
  $0159              Audio Global Fade Timer ''(decreases $017C after 2b steps)''
$0159              Audio Global Fade Timer ''(decreases $017C after 2b steps)''
  $015B      #07    Audio Channel Next Control Value / Channel Dampening Placeholder
  $015B      #07    Audio Channel Next Control Value / Channel Dampening Placeholder
  $0160              Audio Global Fade Delay
$0160              Audio Global Fade Delay
  $0162      #07    Audio Channel Default Duty Cycle
  $0162      #07    Audio Channel Default Duty Cycle
  $0167              Audio Global Mute for Pause
$0167              Audio Global Mute for Pause
  $0169      #05    Audio Channel Dampening ''(lowers volume for specific channel)''
  $0169      #05    Audio Channel Dampening ''(lowers volume for specific channel)''
  $016E      #05    Audio Channel Attributes
  $016E      #05    Audio Channel Attributes
Line 278: Line 294:
  $04DB      #17    Y-Coordinate Subpixel
  $04DB      #17    Y-Coordinate Subpixel
  $04F2      #17    Horizontal Speed
  $04F2      #17    Horizontal Speed
  $0505            Partner Swap Ghosting Amount
  $0509      #17    Horizontal Speed Subpixel
  $0509      #17    Horizontal Speed Subpixel
  $051C            Partner Swap Ghosting Amount Fractional
  $0520      #17    Vertical Speed
  $0520      #17    Vertical Speed
  $0537      #17    Vertical Speed Subpixel
  $0537      #17    Vertical Speed Subpixel
Line 292: Line 310:
  $05C2      #12    NPC State
  $05C2      #12    NPC State
  $05D4              Player Stunned State
  $05D4              Player Stunned State
                    Partner Swap X-coordinate
  $05D5      #03    Subweapon Throw Delay
  $05D5      #03    Subweapon Throw Delay
  $05D8              Player Jump State
  $05D8              Player Jump State
Line 303: Line 322:
                             '' 9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers
                             '' 9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers
  $05EB              Stair Stun Timer
  $05EB              Stair Stun Timer
                    Partner Swap Ghosting Speed Fractional
  $05EF              Stair Direction
  $05EF              Stair Direction
                     Grant Jump State Fraction ''(functions like speed variables)
                     Grant Jump State Fraction ''(functions like speed variables)
  $05F0      #12    AI Class ''(determines behavior)
  $05F0      #12    AI Class ''(determines behavior)
  $0602              Stair Stun ''(decreases $05EB)
  $0602              Stair Stun ''(decreases $05EB)
                    Freezing Rivers
                    Turning Into Bat
                    Partner Swap Ghosting Speed
  $0606              Grant Gravity Subpixel ''(increases $05EF for Grant)
  $0606              Grant Gravity Subpixel ''(increases $05EF for Grant)
  $0607      #12    State Timer ''(time between state changes for most NPCs)
  $0607      #12    State Timer ''(time between state changes for most NPCs)
                     Sinusoid Center Axis
                     Sinusoid Center Axis
  $0619              Ally Swap Y-Coordinate
  $0619              Partner Swap Y-Coordinate
  $061A      #03    Subweapon Damage and Multikill Count
  $061A      #03    Subweapon Damage and Multikill Count
  $061D              Stair Timer ''(time to climb one step)
  $061D              Stair Timer ''(time to climb one step)
Line 347: Line 370:
  $0778      #08    CHR6 Solid Definitions  
  $0778      #08    CHR6 Solid Definitions  
  $0780              Background Animation Frame
  $0780              Background Animation Frame
  $0780            Entry Selector Column
                    Entry Selector Column
  $0780            Map Clipping
                    Map Clipping
                               ''00 = To Grant; 01 = To Syfa; 02 = From Alucard
                               ''00 = To Grant; 01 = To Syfa; 02 = From Alucard
  $0781              Background Animation Timer
  $0781              Background Animation Timer
  $0781            Entry Selector Row
                    Entry Selector Row
  $0781            Map Fade-out Value
                    Map Fade-out Value
  $0782      #40    Fog Parallax Positions
  $0782      #40    Fog Parallax Positions
                               ''32 rows of parallax with 2 bytes per row:''
                               ''32 rows of parallax with 2 bytes per row:''
                               ''Byte 0 = subpixel offset; Byte 1 = pixel offset''
                               ''Byte 0 = subpixel offset; Byte 1 = pixel offset''
  $0782            Previous Selector Column
                    Previous Selector Column
  $0782            Map Timer
                    Map Timer
  $0782            Epilogue Ally
                    Epilogue Partner
  $0782            Sypha's Frozen Tile Column
                    Sypha's Frozen Tile Column
  $0783              Previous Selector Row
  $0783              Previous Selector Row
  $0783            Map Horizontal Speed Subpixel
                    Map Horizontal Speed Subpixel
  $0783            Epilogue State
                    Epilogue State
  $0783            Sypha's Frozen Tile Row
                    Sypha's Frozen Tile Row
  $0784              Name Cursor Position
  $0784              Name Cursor Position
  $0784            Map Horizontal Speed
                    Map Horizontal Speed
  $0784            Castle Shake Direction
                    Castle Shake Direction
  $0784            Leftmost Frozen Tile Column
                    Leftmost Frozen Tile Column
  $0785              Map Vertical Speed Subpixel
  $0785              Map Vertical Speed Subpixel
  $0785            Epilogue Text Page
                    Epilogue Text Page
  $0785            Leftmost Frozen Tile Row
                    Leftmost Frozen Tile Row
  $0786              Password Icon
  $0786              Password Icon
  $0786            Map Vertical Speed
                    Map Vertical Speed
  $0786            Rightmost Frozen Tile Column
                    Rightmost Frozen Tile Column
  $0787              Previous Password Icon
  $0787              Previous Password Icon
  $0787            Map Scroll Timer
                    Map Scroll Timer
  $0787            Rightmost Frozen Tile Row
                    Rightmost Frozen Tile Row
  $0788      #02    Password Decryption Dump
  $0788      #02    Password Decryption Dump
  $0788            Map X-coordinate Subpixel
                    Map X-coordinate Subpixel
  $0788            Epilogue Scroll Timer
                    Epilogue Scroll Timer
  $0788            Water Freeze Counter
                    Water Freeze Counter
  $0789              Map Y-coordinate Subpixel
  $0789              Map Y-coordinate Subpixel
  $0789            Frozen Water Room Type
                    Frozen Water Room Type
  $078A              Epilogue Timer
  $078A              Epilogue Timer
$078A              Map Path PPU Scroll
                    Map Path PPU Scroll
  $078B              Map Path PPU Control
  $078B              Map Path PPU Control
  $078B            Password Errors ''(used for debugging)
                    Password Errors ''(used for debugging)
  $078C      #02    Map Path PPU Address
  $078C      #02    Map Path PPU Address
$078C              Update Selector
                    Update Selector
  $0790      #10    Entered Password
  $0790      #10    Entered Password
                               ''00 = empty; 01 = whip; 02 = cross; 03 = heart
                               ''00 = empty; 01 = whip; 02 = cross; 03 = heart
  $0790    #10    Boss Stun Timer
            #10    Boss Delay Timer ''(maintains current behavior while decreasing)
  $0790            Map Screen Platform
                    Map Screen Platform
                               ''00 = full; 01 = short west; 02 = bottom east;
                               ''00 = full; 01 = short west; 02 = bottom east;
                               ''03 = top west; 04 = middle west; 05 = bottom west
                               ''03 = top west; 04 = middle west; 05 = bottom west
Line 408: Line 431:
  $07E6      #06    Spawner NPC Object
  $07E6      #06    Spawner NPC Object
  $07EC      #06    Bone Dragon King Frames ''(two ribs per byte)
  $07EC      #06    Bone Dragon King Frames ''(two ribs per byte)
$07EC              Cyclops Lightning State
                    Cyclops Lightning State
                     Bone Dragon Cycle
                     Bone Dragon Cycle
                     Giant Bat Leader
                     Giant Bat Leader
                     Dracula Phase
                     Dracula Phase
                               ''00 = Dracula; 01 = demon; 02 = Pazuzu
                               ''00 = Dracula; 01 = demon; 02 = Pazuzu
  $07ED              Victory State
  $07ED              Stage Clear State
                     Bone Dragon Mirrored
                     Bone Dragon Mirrored
                     Collapsing Bridge Length
                     Collapsing Bridge Length
Line 420: Line 443:
                     Death Scythe Count
                     Death Scythe Count
  $07EF              Bone Dragon Attacking
  $07EF              Bone Dragon Attacking
  $07F3              Boss Phase
  $07F3              Boss Battle State
                               ''00 = boss fight; 01 = boss defeat; 02 = crystal drop;
                               ''00 = boss fight; 01 = boss defeat; 02 = crystal drop;
                               ''03 = battle over; 80 = boss waiting
                               ''03 = battle over; 80 = boss waiting
Line 432: Line 455:
  --------  ----    -----------
  --------  ----    -----------
  $0017            Repeat Counter
  $0017            Repeat Counter
  $0017              Story Reel Border State
                  Story Reel Border State
                             ''00 = no border; 01 = draw border; 03 = write to $0303
                             ''00 = no border; 01 = draw border; 03 = write to $0303
  $0018              System State
  $0018              System State
Line 513: Line 536:
  $0066      #02    Stair Map Address
  $0066      #02    Stair Map Address
  $0068              Menu selections
  $0068              Menu selections
  $0068            Door State
                    Door State
                             ''00 = unopened; 01 = load next room; 02 = scroll in next room;
                             ''00 = unopened; 01 = load next room; 02 = scroll in next room;
                             ''03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
                             ''03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
Line 533: Line 556:
  $0077              Vertical Spawner Previous (?)
  $0077              Vertical Spawner Previous (?)
  $0078              Spawner Count
  $0078              Spawner Count
$0079              Vertical Partner Y-Coordinate ''(used for partner swap in vertical rooms)
  $007A              Room Type
  $007A              Room Type
                             ''10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;''
                             ''10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;''
Line 581: Line 605:
  $00A1              Map Transition Checkpoint
  $00A1              Map Transition Checkpoint
  $00A2              Check Right Tile
  $00A2              Check Right Tile
$00A3              Default Drawing State Backup ''(used during partner swap)
$00A4      #02    IRQ Latch Backup ''(used during partner swap)
$00A6              IRQ Control Backup ''(used during partner swap)
  $00A7              Partner Swap Previous Game State
  $00A7              Partner Swap Previous Game State
  $00A8              Stopwatch Active
  $00A8              Stopwatch Active
Line 595: Line 622:
  $00B5              Current Platform ''(ID of elevator or frozen enemy)
  $00B5              Current Platform ''(ID of elevator or frozen enemy)
  $00B6              Crash Timer ''(stuns Player after falling too far)
  $00B6              Crash Timer ''(stuns Player after falling too far)
  $00B7              Boss Fight
  $00B7              Boss Special Hitbox ''(bitmasked)
$00B8              Boss Melee Hitbox
                            ''01-03 = Doppelganger whip; 04 = Doppelganger staff;
                            ''05 = Death's Skull; 06 = Moat Dragon head;
$00B9              Boss Hitbox Phase ''(redundant with Doppelganger)
$00BA              Bone Dragon King HP
$00BB              Bone Dragon King Misc. Ticker
  $00BC              Faint Pause ''(pauses game when killed or time runs out)
  $00BC              Faint Pause ''(pauses game when killed or time runs out)
  $00BD              Flood Paused ''(only set when Bone Dragon flees?)
  $00BD              Flood Paused ''(only set when Bone Dragon flees?)
Line 601: Line 634:
  $00BF              Boss Second Phase ''(for Death, set then cleared for Bone Dragon)
  $00BF              Boss Second Phase ''(for Death, set then cleared for Bone Dragon)
  $00C0              Boss Spawner ID
  $00C0              Boss Spawner ID
  $00C1      #02    Character Disabled ''(cleared in every transition)
  $00C1      #02    Boss Appearance Bitmask ''(used in conjunction with $0790, prevents ally swap)
$00C3              Autowalk Data Pointer ''(ref. $00:9140 for autowalk behavior)
                            ''00 = Clocktower/Default; 04 = Forest; 08 = Alucard Caves;
                            ''0C = Ghost Ship; 10 = Mountain Pass; 14 = Castle Keep
  $00C4              Thaw Timer ''(for frozen waters)''
  $00C4              Thaw Timer ''(for frozen waters)''
  $00C5              Horizontal Scroll Lock ''(used by crumbling bridge)
  $00C5              Horizontal Scroll Lock ''(used by crumbling bridge)
  $00C7              Flood Height
  $00C7              Flood Height
  $00C8              Flood Height Subpixel
  $00C8              Flood Height Subpixel
  $00C9      #02    Boss Stun Bitmask  
  $00C9      #02    Boss Stun Bitmask ''(similar to $00C1, stops animation, allows ally swap)
  $00CB              Weapon Kill Count ''(affects item drops)
  $00CB              Weapon Kill Count ''(affects item drops)
  $00CC              Previous Conveyance ''(backup of $0088)
  $00CC              Previous Conveyance ''(backup of $0088)
  $00CD              Vertical Ceiling ''(lowest y-coordinate in vertical room)
  $00CD              Vertical Ceiling ''(lowest y-coordinate in vertical room)
  $00CF              Cogwheel ID Copy
  $00CF              Cogwheel ID Copy
$00D0              Grant Corner Y-Coordinate
  $00D1              Cogwheel ID
  $00D1              Cogwheel ID
  $00E0      #02    Audio Current Note Address
  $00E0      #02    Audio Current Note Address
  $00E2      #02    Audio Redirect Address
  $00E2      #02    Audio Redirect Address
  $00E2              Audio Data Temporary Variable
                    Audio Data Temporary Variable
  $00E4      #02    Audio Data 16-bit Variable
  $00E4      #02    Audio Data 16-bit Variable
  $00E6      #02    Audio Track Base Address
  $00E6      #02    Audio Track Base Address
Line 649: Line 686:
  $015A      #09    Audio Channel Coda Address High Byte
  $015A      #09    Audio Channel Coda Address High Byte
  $0163      #09    Audio Channel Previous Period High Byte
  $0163      #09    Audio Channel Previous Period High Byte
  $016A              Audio Global Dampening ''(lowers volume for all channels)''
$016A              Audio Global Dampening ''(lowers volume for all channels)''
  $016C      #09    Audio Channel Volume
  $016C      #09    Audio Channel Volume
  $0173              Audio Global Fade Timer ''(decreases $017C after 2b steps)''
$0173              Audio Global Fade Timer ''(decreases $017C after 2b steps)''
  $0175      #09    Audio Channel Next Control Value / Channel Dampening Placeholder
  $0175      #09    Audio Channel Next Control Value / Channel Dampening Placeholder
  $017C              Audio Global Fade Delay
$017C              Audio Global Fade Delay
  $017E      #09    Audio Channel Default Duty Cycle
  $017E      #09    Audio Channel Default Duty Cycle
  $0185              Audio Global Mute for Pause
$0185              Audio Global Mute for Pause
  $0187      #07    Audio Channel Dampening ''(lowers volume for specific channel)''
  $0187      #07    Audio Channel Dampening ''(lowers volume for specific channel)''
  $018E      #07    Audio Channel Attributes
  $018E      #07    Audio Channel Attributes
Line 702: Line 739:
  $04DB      #17    Y-Coordinate Subpixel
  $04DB      #17    Y-Coordinate Subpixel
  $04F2      #17    Horizontal Speed
  $04F2      #17    Horizontal Speed
  $0505            Partner Swap Ghosting Amount
  $0509      #17    Horizontal Speed Subpixel
  $0509      #17    Horizontal Speed Subpixel
  $051C            Partner Swap Ghosting Amount Fractional
  $0520      #17    Vertical Speed
  $0520      #17    Vertical Speed
  $0537      #17    Vertical Speed Subpixel
  $0537      #17    Vertical Speed Subpixel
Line 716: Line 755:
  $05C2      #12    NPC State
  $05C2      #12    NPC State
  $05D4              Player Stunned State
  $05D4              Player Stunned State
                    Partner Swap X-Coordinate
  $05D5      #03    Subweapon Throw Delay
  $05D5      #03    Subweapon Throw Delay
  $05D8              Player Jump State
  $05D8              Player Jump State
Line 727: Line 767:
                               ''9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers''
                               ''9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers''
  $05EB              Stair Stun Timer
  $05EB              Stair Stun Timer
                    Partner Swap Ghosting Speed Fractional
  $05EF              Stair Direction
  $05EF              Stair Direction
                     Grant Jump State Fraction ''(functions like speed variables)
                     Grant Jump State Fraction ''(functions like speed variables)
Line 733: Line 774:
                     Freezing Rivers
                     Freezing Rivers
                     Turning Into Bat
                     Turning Into Bat
                    Partner Swap Ghosting Speed
  $0606              Grant Gravity Subpixel ''(increases $05EF for Grant)
  $0606              Grant Gravity Subpixel ''(increases $05EF for Grant)
  $0607      #12    State Timer ''(time between state changes for most NPCs)
  $0607      #12    State Timer ''(time between state changes for most NPCs)
                     Sinusoid Center Axis
                     Sinusoid Center Axis
  $0619              Ally Swap Y-Coordinate
  $0619              Partner Swap Y-Coordinate
  $061A      #03    Subweapon Damage and Multikill Count
  $061A      #03    Subweapon Damage and Multikill Count
  $061D              Stair Timer ''(time to climb one step)
  $061D              Stair Timer ''(time to climb one step)
Line 774: Line 816:
  $0778      #08    CHR6 Solid Definitions
  $0778      #08    CHR6 Solid Definitions
  $0780              Entry Selector Column
  $0780              Entry Selector Column
  $0780            Background Animation Frame
                    Background Animation Frame
  $0780            Map Clipping
                    Map Clipping
                               ''00 = To Grant; 01 = To Syfa; 02 = From Alucard''
                               ''00 = To Grant; 01 = To Syfa; 02 = From Alucard''
  $0781              Background Animation Timer
  $0781              Background Animation Timer
  $0781            Entry Selector Row
                    Entry Selector Row
  $0781            Map Fade-out Value
                    Map Fade-out Value
  $0782      #40    Fog Parallax Positions
  $0782      #40    Fog Parallax Positions
                               ''32 rows of parallax with 2 bytes per row:''
                               ''32 rows of parallax with 2 bytes per row:''
                               ''Byte 0 = subpixel offset; Byte 1 = pixel offset''
                               ''Byte 0 = subpixel offset; Byte 1 = pixel offset''
  $0782            Previous Selector Column
                    Previous Selector Column
  $0782            Map Timer
                    Map Timer
  $0782            Epilogue Ally
                    Epilogue Partner
  $0782            Sypha's Frozen Tile Column
                    Sypha's Frozen Tile Column
  $0783              Previous Selector Row
  $0783              Previous Selector Row
  $0783            Map Horizontal Speed Subpixel
                    Map Horizontal Speed Subpixel
  $0783            Epilogue State
                    Epilogue State
  $0783            Sypha's Frozen Tile Row
                    Sypha's Frozen Tile Row
                    Death Skull IRQ Latch
  $0784              Name Cursor Position
  $0784              Name Cursor Position
  $0784            Map Horizontal Speed
                    Map Horizontal Speed
  $0784            Castle Shake Direction
                    Castle Shake Direction
  $0784            Leftmost Frozen Tile Column
                    Leftmost Frozen Tile Column
  $0785             Map Vertical Speed Subpixel
                    Death Skull Floor IRQ Latch ''(always 86)
  $0785            Epilogue Text Page
  $0785       #02    Death Skull PPU Address
  $0785            Leftmost Frozen Tile Row
                    Map Vertical Speed Subpixel
                    Epilogue Text Page
                    Leftmost Frozen Tile Row
  $0786              Password Icon
  $0786              Password Icon
  $0786            Map Vertical Speed
                    Map Vertical Speed
  $0786            Rightmost Frozen Tile Column
                    Rightmost Frozen Tile Column
  $0787              Previous Password Icon
  $0787              Previous Password Icon
  $0787            Map Scroll Timer
                    Map Scroll Timer
  $0787            Rightmost Frozen Tile Row
                    Rightmost Frozen Tile Row
                    Death Skull Background Position
  $0788      #02    Password Decryption Dump
  $0788      #02    Password Decryption Dump
  $0788            Map X-coordinate Subpixel
                    Map X-coordinate Subpixel
  $0788            Epilogue Scroll Timer
                    Epilogue Scroll Timer
  $0788            Water Freeze Counter
                    Water Freeze Counter
  $0789              Map Y-coordinate Subpixel
  $0789              Map Y-coordinate Subpixel
  $0789            Frozen Water Room Type
                    Frozen Water Room Type
  $078A              Epilogue Timer
  $078A              Epilogue Timer
  $078A            Map Path PPU Scroll
                    Map Path PPU Scroll
                    Death Skull IRQ Latch Copy
  $078B              Map Path PPU Control
  $078B              Map Path PPU Control
  $078B            Password Errors ''(used for debugging)
                    Password Errors ''(used for debugging)
                    Death Skull Floor IRQ Latch
  $078C      #02    Map Path PPU Address
  $078C      #02    Map Path PPU Address
  $078C             Update Selector
            #02    Death Skull PPU Address
                    Update Selector
  $078E             Death Skull Background Position
$078F      #02    Death Skull Copy of $0788 and $0789 ''(unused)
  $0790      #10    Entered Password
  $0790      #10    Entered Password
                               ''00 = empty; 01 = whip; 02 = cross; 03 = heart''
                               ''00 = empty; 01 = whip; 02 = cross; 03 = heart''
  $0790    #10    Boss Stun Timer
            #10    Boss Delay Timer ''(delays primary boss logic)
  $0790            Map Screen Platform
                    Map Screen Platform
                               ''00 = full; 01 = short west; 02 = bottom east;''
                               ''00 = full; 01 = short west; 02 = bottom east;''
                               ''03 = top west; 04 = middle west; 05 = bottom west''
                               ''03 = top west; 04 = middle west; 05 = bottom west''
Line 835: Line 886:
  $07E6      #06    Spawner NPC Object
  $07E6      #06    Spawner NPC Object
  $07EC      #06    Bone Dragon King Frames ''(two ribs per byte)
  $07EC      #06    Bone Dragon King Frames ''(two ribs per byte)
$07EC             Cyclops Lightning State
                    Various Boss Uses
                    Bone Dragon Cycle
                        ''specific uses by address:
                    Giant Bat Leader
                        $07EC   Cyclops Lightning State
                    Dracula Phase
                                Giant Bat Leader
                              ''00 = Dracula; 01 = demon; 02 = Pazuzu''
                                Alucard Bat Leader
  $07ED             Victory State
                                Medusa Leader
                     Bone Dragon Mirrored
                                Death Aggro
                                    ''bit 3 = goto next phase; bit 6 = skull form; bit 7 = attacking
                                Doppelganger Character ''(same as $0634, for subweapons only)
                                Dracula Phase
                                    ''00 = Dracula; 01 = demon; 02 = Pazuzu''
                        $07ED    Giant Bat State
                                Alucard Bat State
                                Medusa Snakes Merged (bitmasked)
                                Death Movement
                                    ''bit 1-2 = horizontal speed; bit 3-4 = vertical speed; left if bit 3 set
                                Creature Shake Amount
                                Moat Dragon #1 Withdraw Speed ''(ff = normal; fe = slain)
                                Doppelganger Keypress ''(only 01 or 02 used for jumping)
                                    ''01 = right; 02 = left; 03 = down; 04 = up; 05 = B; 06 = Up
                        $07EE    Giant Bat Swarm State
                                Alucard Bat Swarm State
                                Death Scythe Limit
                                Wisp Defeats ''(00 = none; 01 = Mummy; 02 = Cyclops; 03 = Baphomet)
                                Moat Dragon #1 Height
                                Doppelganger Status When Hit
                        $07EF    Moat Dragon #2 Withdraw Speed
                                    ''ff = normal; fe = slain
                                Alucard Form
                                    ''00 = humanoid; 01 = wisp; 02 = bat swarm;
                                    ''03 = bat gathering; 04 = smoke
                                Death Scythe Count ''(for spawn positioning)
                                Doppelganger Recovered ''(impedes AI for one frame)
                        $07F0    Moat Dragon #2 Height
                                Alucard Transform Delay
                        $07F1    Mummy Boss Tally
                                Giant Bat Stunned
                                Alucard Bat Converge ''(arguably useless)
                                Death Transitioning
  $07EC             Bone Dragon Cycle
                     Map Effects Timer
$07ED              Bone Dragon Mirrored
                    Stage Clear State ''(XORed by #80 if new partner declined)
                     Collapsing Bridge Length
                     Collapsing Bridge Length
                    Giant Bat State
  $07EE              Bone Dragon Fireball Timer
  $07EE              Bone Dragon Fireball Timer
                    Death Scythe Count
  $07EF              Bone Dragon Attacking
  $07EF              Bone Dragon Attacking
  $07EF            Intro Story Text Line
                    Story Text
  $07F0              Intro Story Scanline
  $07F0              Story Line
  $07F1      #02    Intro Story Text Address
  $07F1      #02    Story Text Address
  $07F3              Boss Phase
                    Meeting Dialogue Timer
  $07F3              Boss Battle State
                               ''00 = boss fight; 01 = boss defeat; 02 = crystal drop;''
                               ''00 = boss fight; 01 = boss defeat; 02 = crystal drop;''
                               ''03 = battle over; 80 = boss waiting''
                               ''03 = battle over; 80 = boss waiting''
                     Victory Delay (timer after battle over)
                     Stage Clear Delay ''(timer after battle over)
  $07F6              Hard Mode
  $07F6              Hard Mode
  $07F8      #08    Player Name
  $07F8      #08    Player Name


{{Internal Data|game=Castlevania III}}
{{Internal Data|game=Castlevania III}}

Latest revision as of 01:20, 24 January 2024

Chip tiny.png The following article is a RAM map for Castlevania III: Dracula's Curse.

Address    Size    Description
--------   ----    -----------
$0017              Repeat Counter
$0018              System State
                            00 = Title; 02 = New Game; 03 = In-game Transition; 04 = In-Game;
                            05 = Game Over Transition; 06 = Game Over; 07 = Stage Select Debug;
                            08 = Map Screen; 09 = Prayer Scene; 0a = Name Entry; 0b = Password Entry;
                            0c = Epilogue; 0d = Credit Roll; 0e = Respawn; 0f = Sound Test Debug
$0019              System Substate
$001A              System Step Counter
$001B              Radio Mode (halts most code except music)
$001C              Blackout Delay
$001D              X Register Backup
$001E              Pausing Disabled (always 00?)
$001F              Randomizer
$0020              OAM Batch
$0021              Current PROM Bank 
$0022              Previous PROM Bank
$0023              PROM Bank Backup (used by some functions)
$0024              Bank Changed (for debugging probably)
$0025              Nametable Mapping
$0026       #02    Controller Buttons Pressed
                            01 = right; 02 = left; 04 = down; 08 = up;
                            10 = start; 20 = select; 40 = B; 80 = A
$0028       #02    Controller Buttons Held
$002A              Game State (set $006B to 00 before changing)
                            00 = initialize room; 01 = initialize nametables; 02 = load horizontal room;
                            03 = horizontal gameplay; 04 = load vertical room; 05 = vertical gameplay;
                            06 = stair transition start; 07 = stair transition fade; 08 = door transition;
                            09 = initialize fog; 0a = fog parallax; 0b = horizontal partner swap;
                            0c = vertical partner swap; 0d/0e = <CUT CONTENT>; 0f = detect automatic stairs;
                            10 = automatic stair transition; 11 = tally score; 12 = <UNUSED>;
                            13 = flee Aquarius; 14 = initialize flooding; 15 = load flood room;
                            16 = flood room gameplay; 17 = map transition; 18 = autowalk to door;
                            19 = powering up; 1a = freeze water; 1b = thaw ice; 1c = Bone King escape;
                            1d = Aquarius ruptured; 1e = initialize map transition; 1f = map transition exit
$002B              User Paused (toggled by Start button)
$002C              Boss Defeated
$002D              Entry End (valid in Name screen, garbage in Pass screen)
$002E              Checkpoint
$002F              Grant Defeated
$0030       #02    System Effect Timer
$0032              Stage
$0033              Block
$0034              Room
$0035              Lives   
$0036       #03    Score  
$0039              Main Character (change this to not always be Trevor)
$003A              Partner   
                            00 = Trevor; 01 = Syfa; 02 = Grant; 03 = Alucard; ff = None
$003B              Partner Active 
$003C              Player's Health
                            40 = full
$003D              Boss Health 
$003E              Score Target (for extra life)
$003F              Default Drawing State (write to $006D)
$0040              Scanline IRQ
$0041              Scanline Target
$0042              Default Vertical Scanline Target (write to $0089)
$0043              Scanline Next Target
$0044       #02    Draw State Address
$0046       #08    CHR Banks
$004E              Hard Mode CHR Bank (overwrites $0049)
$0050       #02    Tile Assembly Starting Address
$0052       #02    Tile Assembly Left Address
$0054       #02    Tile Assembly Right Address
$0056       #02    View Position (little endian) 
$0058              View Subpixel Position
$0059              Left Spawn Area
$005A              Right Spawn Area
$005B              Tile Assembly Count Left
$005C              Tile Assembly Count Right
$005D       #02    Tile Assembly Pointer
$005F       #02    Pallet Map Pointer
$0061       #02    Nametable Write Address
$0063              Tile Assembly ID
$0064              Transition Timer
$0065              Scroll Direction
                            00 = left; 01 = right; 02 = unchanged
$0066              View Refreshed Position
$0067              Update View
$0068              Room Orientation
                            00 = horizontal; 80 or 81 = vertical; 82 = scroll up;
                            83 = scroll down; 84 = collapse up; 85 = collapse down
$0069       #02    Stair Map Address
$006B              Menu selections
                   Door State
                            00 = unopened; 01 = load next room; 02 = scroll in next room;
                            03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
                            07 = latch door; 08 = scroll out old room; 09 = end transition
$006C              Current Instance (saves X register)
$006D              Drawing State
$006E              View Speed
$006F       #02    PPU Scroll 
$0071              Room Size
$0072              CHR Write Mode
                            00 or 03 = all CHR banks; 01 = status bar banks;  02 = clear NPC banks
$0073              Previous Room Orientation
$0074              Music Loaded
$0075              Transition Nametable (nametable to use after door closes)
$0076              Horizontal Spawner Block
$0077              First Spawner Block
$0078              Boss Scroll Lock
$0079              Vertical Spawner Block
$007A              Vertical Spawner Previous (?)
$007B              Spawner Count
$007C              Vertical Partner Y-Coordinate (used for partner swap in vertical rooms)
$007D              Room Type
                            10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
                            50 and 60 = Watery Grave; 70 = Flood Zone; 80 = Collapsing Bridge
                            Note: lower 4 bits alter behavior
$007E       #02    Time
$0080              Wounded Timer (invincibility frames)
$0081              Damage Received/Effect on Player
$0082              PC Height
                            00 = Trevor standing; 01 = Syfa standing; 02 = Grant standing; 03 = Alucard standing;
                            04 = Trevor duck; 05 = Syfa duck; 06 = Grant duck; 07 = Alucard duck; 08 = Bat
$0084              Hearts
$0085              Trevor Subweapon
                            00 = none; 01 = axe; 02 = boomerang; 03 = knife/book; 04 = holy water; 05 = fireball; 
                            06 = freeze; 07 = orb; 08 = axe; 09 = boomerang; 0a = knife/book ;0b = clock
$0086              Partner Subweapon
$0087              Trevor Subweapon Multiplier   
                            00 = none; 01 = [II]; 02 = [III]
$0088              Partner Subweapon Multiplier
$0089              Vertical Scanline Target (HUD bottom in vertical rooms)
$008B              Conveyance
                            01 = Elevator/Frozen enemy; 02 = Scroll-locked right; 05 = Teeter-totter;
                            06 = Cogwheel; 07 = Mud; 08 = Waterfall; 09 = Waterfall w/current;
                            0a = Conveyor left; 0b = Conveyor right; 0d = Petrified; 0e = Auto-walk
$008C              Whip Spark Timer
$008D              Room Initialized
$008E              Trevor Weapon Level   
                            00 = short; 01 = medium; 02 = long
$008F              Partner Weapon Level
                            00 = one orb; 01 = two orbs; 03 = three orbs
$0090              Knockback Direction
                            00 = left; 01 = right
$0091              Conveyor (see $008B)
$0093              Cog Proximity
                            00 = none; 01 = right OR below; 02 = right AND below
$0094              Cog ID
$0095              Cogwheel Size
                            00 = small; 01 = large
$0096              Terrain Present
$0098       #02    Spawner Data Address
$009a       #02    Terrain Data Address
$009C              Subweapon Kill Count (affects multiplier drops)
$009D              Variable Jump (for Grant)
$009E              Subweapon Iterator
$009F              Upgrade Previous Game State
$00A0              Recent Player Direction (copy of $009E)
$00A1              Previous Player Direction (copy of $0062)
$00A3              Game Step Counter (only increments while game not paused)
$00A4              Map Transition Checkpoint
$00A5              Check Right Tile
$00A6              Default Drawing State Backup (used during partner swap)
$00A7       #02    IRQ Latch Backup (used during partner swap)
$00A9              IRQ Control Backup (used during partner swap)
$00AA              Partner Swap Previous Game State
$00AB              Stopwatch Active
$00AC              Stopwatch Timer
$00AD              Invincibility Potion Timer
$00AE              Alucard Bat Timer (drains 1 heart when decreased to 0)
$00AF              Landing Delay (prevents walking between elevators)
$00B0              Load Doppelganger Sprites (forces CHR updates)
$00B1              Current Instance (backup for X register)
$00B2              Rosary Flash Timer
$00B3              Bridge Out
$00B6              Tile Assembly Count Vertical (only for vertical rooms)
$00B7              Power Up (used for weapon upgrade)
$00B8              Current Platform (ID of elevator or frozen enemy)
$00B9              Crash Timer (stuns Player after falling too far)
$00BA              Boss Special Hitbox (bitmasked)
$00BB              Boss Melee Hitbox
                            01-03 = Doppelganger whip; 04 = Doppelganger staff;
                            05 = Death's Skull; 06 = Moat Dragon head; 
$00BC              Boss Hitbox Phase (redundant with Doppelganger)
$00BD              Bone Dragon King HP
$00BE              Bone Dragon King Misc. Ticker
$00BF              Faint Pause (pauses game when killed or time runs out)
$00C0              Flood Halted
$00C1              Boss Object
$00C2              Boss Second Phase
$00C3              Boss Spawner
$00C4       #02    Boss Frozen Bitmask (used in conjunction with $0790, also prevents ally swap)
$00C6              Autowalk Data Pointer (ref. $00:9140 for autowalk behavior)
                            00 = Clocktower/Default; 04 = Forest; 08 = Alucard Caves;
                            0C = Ghost Ship; 10 = Mountain Pass; 14 = Castle Keep
$00C7              Thaw Timer (for frozen water)
$00C8              Horizontal Scroll Lock (used by crumbling bridge)
$00CA              Flood Height
$00CB              Flood Height Subpixel
$00CC       #02    Boss Stunned Bitmask (similar to $00C4, but stops animation and allows ally swap)
$00CE              Weapon Kill Count (affects item drops)
$00CF              Previous Conveyance (backup of $0088)
$00D0              Vertical Ceiling (lowest y-coordinate in vertical room)
$00D2              Cogwheel ID Copy
$00D3              Grant Corner Y-Coordinate
$00D4              Cogwheel ID
$00E0       #02    Audio Current Note Address
$00E2       #02    Audio Redirect Address
                   Audio Data Temporary Variable
$00E4       #02    Audio Data 16-bit Variable
$00E6       #02    Audio Track Base Address
$00E8       #02    Audio Track Address
$00EA              Audio Channels to Load
$00EB              Audio Routine PROM Bank
$00EC       #02    Audio Current Period (i.e., pitch)
$00EE              Audio Current Channel
$00EF              Audio Track ID
$00F0       #04    Candle Status (32-bit mask)
$00F4       #04    Breakable Wall Status
                            00 = unused/unbroken; ff = broken
$00F8       #02    Previous Controller Buttons Pressed
$00FA       #02    Previous Controller Buttons Held
$00FC       #02    PPU Scroll
$00FE              PPU Mask (for hue shifts and greyscale)
$00FF              PPU Control 
       Audio channels: (grouped by 3, 5, or 7)
           00 = BGM Square 1; 021 = BGM Square 2; 02 = BGM Triangle;
           03 = SFX Square 1; 04 = SFX Square 2;
           05 = Drums (DCM & Noise); 06 = Noise
$0100       #07    Audio Channel Note Duration
$0107       #07    Audio Channel Song ID
$010E       #07    Audio Channel Next Note Duration
$0115       #07    Audio Channel Behavior
                             bit 0 = SFX (ignore ritenuto); bits 1-2 = init/decay/sustain/release; 
                             bit 3 = Al segno loop; bit 5 = coda loop; bit 6 = ignore envelope;
$011C       #07    Audio Channel Loop Count
$0123       #07    Audio Channel Note Address Low Byte
$012A       #07    Audio Channel Note Address High Byte
$0131       #07    Audio Channel Al Segno Address Low Byte
$0138       #07    Audio Channel Al Segno Address High Byte
$013F       #07    Audio Channel Coda Address Low Byte
$0146       #07    Audio Channel Coda Address High Byte
$014D       #07    Audio Channel Previous Period High Byte
$0152              Audio Global Dampening (lowers volume for all channels)
$0154       #07    Audio Channel Volume
$0159              Audio Global Fade Timer (decreases $017C after 2b steps)
$015B       #07    Audio Channel Next Control Value / Channel Dampening Placeholder
$0160              Audio Global Fade Delay
$0162       #07    Audio Channel Default Duty Cycle
$0167              Audio Global Mute for Pause
$0169       #05    Audio Channel Dampening (lowers volume for specific channel)
$016E       #05    Audio Channel Attributes
                             bit 4 = use waveform; bit 5 = alternate duty; bit 7 = disabled needs more info
$0173       #05    Audio Channel Pitch Bend Amount
$0178       #05    Audio Channel Period Low Byte Backup (useless?)
$017D       #03    Audio Channel Octave (raises octave by 5-n)
$0180       #03    Audio Channel Note Offset
                             (adds signed value to note ID to look up period)
$0183       #03    Audio Channel Period Low 
$0186       #03    Audio Channel Period High 
$0189       #03    Audio Channel Volume Envelope
                             (if bit 7 set, fade out instead based on bits 0-3)
$018C              Audio SFX Register Offset
$018D              Audio Global Ritenuto Delay (counts up to $018E)
$018E              Audio Global Ritenuto Cutoff (frames until $018F set)
$018F              Audio Global Ritenuto (prolongs BGM note duration when set)
$0190       #02    Audio SFX Square Sweep
$0192              Audio Current DPCM
$0193              Audio Triangle Staccato Timer
$0194              Audio Triangle Linear Counter (only used with $193)
$0195       #07    Audio Channel PROM Bank
$019C              Audio SFX Square 1 Sweep (write to $4001)
$0200      #100    OAM Data
$0300       #a0    Tile Data
$03C0       #03    Audio Channel Volume Envelope Duration
$03C3       #03    Audio Channel Volume Envelope Position
$03C6       #03    Audio Channel Volume Envelope Loop Count
$03C9       #03    Audio Channel Volume Envelope Loop Point
$03CC       #03    Audio Channel Fadeout Point (fades out when equal to $100,X)
$03CF       #03    Audio Channel Volume Envelope 
                             (bits 0-3 = value; $03CC = duration*value >> 4)
$03D2       #03    Audio Channel Next Fade Duration
$03D5       #03    Audio Channel Fade Duration
$03D8       #03    Audio Channel Alternate Duty Cycle
$03DB       #03    Audio Channel Next Pitchbend Duration
$03DE       #03    Audio Channel Pitchbend Duration
$03E1       #03    Audio Channel Sweep Rate
$0400       #1c    Sprite Frame Index
$041C       #1c    Y-Coordinate
$0438       #1c    X-Coordinate 
$0454       #1c    Sprite Attributes (palette & background priority)
$0470       #1c    Attributes
                            01 = destroyed; 02 = frozen; 04 = unknown; 08 = flicker;
                            10 = illusory; 20 = inanimate; 40 = moving; 80 = invisible
$048C       #1c    Animation Batch (even numbers)
                            00-06 = Player; 08-12 = NPCs; 14 = Epilogue; 16-1C = Doppelganger
$04A8       #1C    Sprite Mirrored
$04C4       #17    X-Coordinate Subpixel
$04DB       #17    Y-Coordinate Subpixel
$04F2       #17    Horizontal Speed
  $0505            Partner Swap Ghosting Amount
$0509       #17    Horizontal Speed Subpixel
  $051C            Partner Swap Ghosting Amount Fractional
$0520       #17    Vertical Speed
$0537       #17    Vertical Speed Subpixel
$054E       #17    Object Index
$0565              Player State
$0566       #11    Stun Timer
$0578              Weapon State
$0579       #03    Subweapon State
$057C       #17    Animation Timer
$0593       #17    Sprite Frame (used to calculate $0400,X)
$05AA       #17    Sprite Index
$05C1              Moving Down
$05C2       #12    NPC State
$05D4              Player Stunned State
                   Partner Swap X-coordinate
$05D5       #03    Subweapon Throw Delay
$05D8              Player Jump State
                             00-1D = Trevor/Syfa/Alucard; 1E-39 = Grant
$05D9       #0c    Boss Use
$05E5       #06    Candle Drop
                             83 = Axe; 84 = Cross; 85 = Dagger; 86 = Holy Water; 87 = Stopwatch;
                             88 = Syfa Fire; 89 = Syfa Ice; 8a = Syfa Water; 8b = Grant Dagger;
                             8c Grant Axe; 8d-8f = Upgrades (8f removed); 90 = Wall Meat; 
                             91 = Invincibility Potion; 92 = Rosary; 93-9b = Coins; 9c = 1UP; 
                             9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers
$05EB              Stair Stun Timer
                   Partner Swap Ghosting Speed Fractional
$05EF              Stair Direction
                   Grant Jump State Fraction (functions like speed variables)
$05F0       #12    AI Class (determines behavior)
$0602              Stair Stun (decreases $05EB)
                   Freezing Rivers
                   Turning Into Bat
                   Partner Swap Ghosting Speed 
$0606              Grant Gravity Subpixel (increases $05EF for Grant)
$0607       #12    State Timer (time between state changes for most NPCs)
                   Sinusoid Center Axis
$0619              Partner Swap Y-Coordinate
$061A       #03    Subweapon Damage and Multikill Count
$061D              Stair Timer (time to climb one step)
                   Grant Gravity (increases $05D8 for Grant)
$061E       #12    Miscellaneous Ticker (usually timer or counter for NPCs)
$0630              Weapon Damage
$0631       #03    Subweapon Deflection (copy of $0658,X on Cross hit)
$0634       #17    Miscellaneous Use (used by a couple NPCs)
$0646       #12    Spawner Index
$0658       #0d    NPC Damage
$0664       #06    Candle Active
$066A       #12    Applied Effect (copy of $061A,X on subweapon hit)
$067B       #12    NPC Hitpoints
$068E       #12    Weapons Impact
                             01 = weapon; 02 = subweapon 1; 04 = subweapon 2; 08 = subweapon 3
$06A0       #03    Audio Channel Pitch Envelope Loop Start
$06A3       #03    Audio Channel Pitch Envelope ID
$06A6       #03    Audio Channel Pitch Envelope Position
$06A9       #03    Audio Channel Pitch Envelope Loop Count
$06AC       #03    Audio Channel Sustain State (80 = disabled)
$06AF       #03    Audio Channel Sustain Position (from 0 to 3)
$06B2       #03    Audio Channel Sustain Dampen
$06B5       #04    Audio BGM Square 1 Sustain Period Low Bytes
$06B9       #04    Audio BGM Square 2 Sustain Period Low Bytes
$06BD       #04    Audio BGM Square 1 Sustain Period High Bytes
$06C1       #04    Audio BGM Square 2 Sustain Period High Bytes
$06C8              Boss Scream Time (stops DPCM at f0)
$06C9              Music Paused
$06E0       #90    Collision Map
                             00 = empty; 01 = mud; 02 = convey right; 03 = convey left;
                             04 = fragile; 05 = ceiling spike; 06 = solid; 07 = floor spike;
                             08 = ice; 0c-0f = cracking
$0770       #08    CHR5 Solid Definitions
                             Byte 0 = empty; Byte 1 = mud; Byte 2 = convey right; Byte 3 = convey left;
                             Byte 4 = fragile; Byte 5 = ceiling spike; Byte 6 = solid; Byte 7 = floor spike
$0778       #08    CHR6 Solid Definitions 
$0780              Background Animation Frame
                   Entry Selector Column
                   Map Clipping
                             00 = To Grant; 01 = To Syfa; 02 = From Alucard
$0781              Background Animation Timer
                   Entry Selector Row
                   Map Fade-out Value
$0782       #40    Fog Parallax Positions
                             32 rows of parallax with 2 bytes per row:
                             Byte 0 = subpixel offset; Byte 1 = pixel offset
                   Previous Selector Column
                   Map Timer
                   Epilogue Partner
                   Sypha's Frozen Tile Column
$0783              Previous Selector Row
                   Map Horizontal Speed Subpixel
                   Epilogue State
                   Sypha's Frozen Tile Row
$0784              Name Cursor Position
                   Map Horizontal Speed
                   Castle Shake Direction
                   Leftmost Frozen Tile Column
$0785              Map Vertical Speed Subpixel
                   Epilogue Text Page
                   Leftmost Frozen Tile Row
$0786              Password Icon
                   Map Vertical Speed
                   Rightmost Frozen Tile Column
$0787              Previous Password Icon
                   Map Scroll Timer
                   Rightmost Frozen Tile Row
$0788       #02    Password Decryption Dump
                   Map X-coordinate Subpixel
                   Epilogue Scroll Timer
                   Water Freeze Counter
$0789              Map Y-coordinate Subpixel
                   Frozen Water Room Type
$078A              Epilogue Timer
                   Map Path PPU Scroll
$078B              Map Path PPU Control
                   Password Errors (used for debugging)
$078C       #02    Map Path PPU Address
                   Update Selector
$0790       #10    Entered Password
                             00 = empty; 01 = whip; 02 = cross; 03 = heart
            #10    Boss Delay Timer (maintains current behavior while decreasing)
                   Map Screen Platform
                             00 = full; 01 = short west; 02 = bottom east;
                             03 = top west; 04 = middle west; 05 = bottom west
$07A0       #0a    Generated Password
$07B1       #02    Stacked Breakable Wall
$07B3       #02    Lower Block Broken
$07B5       #02    Upper Block Broken
$07B7       #02    Wall ID (points to $00F4,X)
$07C2       #06    Spawner Type
$07C8       #06    Spawner State
$07CE       #06    Spawner Timer
$07D4       #06    Spawner Y-Coordinate
$07DA       #06    Spawner x-Coordinate
$07E0       #06    Spawner Offscreen
$07E6       #06    Spawner NPC Object
$07EC       #06    Bone Dragon King Frames (two ribs per byte)
                   Cyclops Lightning State
                   Bone Dragon Cycle
                   Giant Bat Leader
                   Dracula Phase
                             00 = Dracula; 01 = demon; 02 = Pazuzu
$07ED              Stage Clear State
                   Bone Dragon Mirrored
                   Collapsing Bridge Length
                   Giant Bat State
$07EE              Bone Dragon Fireball Timer
                   Death Scythe Count
$07EF              Bone Dragon Attacking
$07F3              Boss Battle State
                             00 = boss fight; 01 = boss defeat; 02 = crystal drop;
                             03 = battle over; 80 = boss waiting
                   Victory Delay (timer after battle over)
$07F6              Hard Mode
$07F8       #08    Player Name


Chip tiny.png The following article is a RAM map for Castlevania III: Dracula's Curse.

Address    Size    Description
--------   ----    -----------
$0017            Repeat Counter
                 Story Reel Border State
                            00 = no border; 01 = draw border; 03 = write to $0303
$0018              System State
                            00 = Title; 02 = New Game; 03 = In-game Transition; 04 = In-Game;
                            05 = Game Over Transition; 06 = Game Over; 07 = Stage Select Debug;
                            08 = Map Screen; 09 = Prayer Scene; 0a = Name Entry; 0b = Password Entry;
                            0c = Epilogue; 0d = Credit Roll; 0e = Respawn; 0f = Sound Test Debug
$0019              System Substate
$001B              System Step Counter
$001C              Radio Mode (halts most code except music)
$001D              Blackout Delay
$001E              X Register Backup
$001F              Pausing Disabled (always 00?)
$0020              Randomizer
$0021              PPU Bank (write to $B003)
$0022              OAM Batch
$0023              Current PROM Bank
$0024              Previous PROM Bank
$0025              PROM Bank Backup (used by some functions)
$0026              Bank Changed (for debugging probably)
$0028       #02    Controller Buttons Pressed
                            01 = right; 02 = left; 04 = down; 08 = up;
                            10 = start; 20 = select; 40 = B; 80 = A
$002A       #02    Controller Buttons Held
$002C              Game State (set $0068 to 00 before changing)
                            00 = initialize room; 01 = initialize nametables; 02 = load horizontal room;
                            03 = horizontal gameplay; 04 = load vertical room; 05 = vertical gameplay;
                            06 = stair transition start; 07 = stair transition fade; 08 = door transition;
                            09 = initialize fog; 0a = fog parallax; 0b = horizontal partner swap;
                            0c = vertical partner swap; 0d/0e = <CUT CONTENT>; 0f = detect automatic stairs;
                            10 = automatic stair transition; 11 = tally score; 12 = <UNUSED>;
                            13 = flee Aquarius; 14 = initialize flooding; 15 = load flood room;
                            16 = flood room gameplay; 17 = map transition; 18 = autowalk to door;
                            19 = powering up; 1a = freeze water; 1b = thaw ice; 1c = Bone King escape;
                            1d = Aquarius ruptured; 1e = initialize map transition; 1f = map transition exit
$002D              User Paused (toggled by Start button)
$002E              Boss Defeated 
$002F              Entry End (valid in Name screen, garbage in Pass screen)
$0030              Checkpoint (used for Password Entry)
$0031              Grant Defeated 
$0032       #02    System Effect Timer
$0034              Stage
$0035              Block
$0036              Room
$0037              Lives
$0038       #08    CHR Banks
$0040              IRQ Control
$0041       #02    IRQ Latch
$0043              Default Drawing State (write to $006A)
$0044       #03    Score
$0047              Player Object (change this to not always be Trevor)
$0048              Partner   
                            00 = Trevor; 01 = Syfa; 02 = Grant; 03 = Alucard; ff = None
$0049              Partner Active
$004A              Player's Health
                            40 = full
$004B              Boss Health 
$004C              Score Target (for extra life)
$004D       #02    Tile Assembly Room Address
$004F       #02    Tile Assembly Left Address
$0051       #02    Tile Assembly Right Address
$0053       #02    View Position 
$0055              View Subpixel Position
$0056              Left Spawn Area
$0057              Right Spawn Area
$0058              Tile Assembly Count Left
$0059              Tile Assembly Count Right
$005A       #02    Tile Assembly Pointer
$005C       #02    Pallet Map Pointer
$005E       #02    Nametable Write Address
$0060              Tile Assembly ID
$0061              Transition Timer
$0062              Scroll Direction
                            00 = left; 01 = right; 02 = unchanged
$0063              View Refreshed Position
$0064              Update View
$0065              Room Orientation
                            00 = horizontal; 80 or 81 = vertical; 82 = scroll up;
                            83 = scroll down; 84 = collapse up; 85 = collapse down
$0066       #02    Stair Map Address
$0068              Menu selections
                   Door State
                            00 = unopened; 01 = load next room; 02 = scroll in next room;
                            03 = unlatch door; 04 = open door; 05 = walk in; 06 = close door;
                            07 = latch door; 08 = scroll out old room; 09 = end transition
$0069              Current Instance (saves X register)
$006A              Drawing State
$006B              View Speed
$006C       #02    PPU Write Position
$006E              Room Size
$006F              CHR Write Mode
                            00 or 03 = all CHR banks; 01 = status bar banks;  02 = clear NPC banks
$0070              Previous Room Orientation
$0071              Music Loaded
$0072              Transition Nametable (nametable to use after door closes)
$0073              Horizontal Spawner Block
$0074              First Spawner Block
$0075              Boss Scroll Lock
$0076              Vertical Spawner Block
$0077              Vertical Spawner Previous (?)
$0078              Spawner Count
$0079              Vertical Partner Y-Coordinate (used for partner swap in vertical rooms)
$007A              Room Type
                            10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
                            50 and 60 = Watery Grave; 70 = Flood Zone; 80 = Collapsing Bridge
                            Note: lower 4 bits alter behavior
$007B       #02    Time 
$007D              Wounded Timer (invincibility frames)
$007E              Damage Received/Effect On Player
$007F              PC Height
                            00 = Trevor standing; 01 = Syfa standing; 02 = Grant standing; 03 = Alucard standing;
                            04 = Trevor duck; 05 = Syfa duck; 06 = Grant duck; 07 = Alucard duck; 08 = Bat
$0081              Hearts
$0082              Trevor Subweapon
                            00 = none; 01 = axe; 02 = boomerang; 03 = knife/book; 04 = holy water; 05 = fireball; 
                            06 = freeze; 07 = orb; 08 = axe; 09 = boomerang; 0a = knife/book ;0b = clock
$0083              Partner Subweapon
$0084              Trevor Subweapon Multiplier   
                            00 = none; 01 = [II]; 02 = [III]
$0085              Partner Subweapon Multiplier
$0088              Conveyance
                            01 = Elevator/Frozen enemy; 02 = Scroll-locked right; 05 = Teeter-totter;
                            06 = Cogwheel; 07 = Mud; 08 = Waterfall; 09 = Waterfall w/current;
                            0a = Conveyor left; 0b = Conveyor right; 0d = Petrified; 0e = Auto-walk
$0089              Whip Spark Timer
$008A              Room Initialized
$008B              Trevor Weapon Level   
                            00 = short; 01 = medium; 02 = long
$008C              Partner Weapon Level
                            00 = one orb; 01 = two orbs; 03 = three orbs
$008D              Knockback Direction
                            00 = left; 01 = right
$008E              Conveyor (see $0088)
$0090              Cog Proximity
                            00 = none; 01 = right OR below; 02 = right AND below
$0091              Cog ID
$0092              Cogwheel Size
                            00 = small; 01 = large
$0093              Terrain Present
$0095       #02    Spawner Data Address
$0097       #02    Terrain Data Address
$0099              Subweapon Kill Count (affects multiplier drops)
$009A              Variable Jump (for Grant)
$009B              Subweapon Iterator
$009C              Upgrade Previous Game State
$009D              Recent Player Direction (copy of $009E)
$009E              Previous Player Direction (copy of $0062)
$00A0              Game Step Counter (only increments while game not paused)
$00A1              Map Transition Checkpoint
$00A2              Check Right Tile
$00A3              Default Drawing State Backup (used during partner swap)
$00A4       #02    IRQ Latch Backup (used during partner swap)
$00A6              IRQ Control Backup (used during partner swap)
$00A7              Partner Swap Previous Game State
$00A8              Stopwatch Active
$00A9              Stopwatch Timer
$00AA              Invincibility Potion Timer
$00AB              Alucard Bat Timer (drains 1 heart when decreased to 0)
$00AC              Landing Delay (prevents walking between elevators)
$00AD              Load Doppelganger Sprites (forces CHR updates)
$00AE              Current Instance (backup for X register)
$00AF              Rosary Flash Timer
$00B0              Bridge Out
$00B3              Tile Assembly Count Vertical (only for vertical rooms)
$00B4              Power Up (used for weapon upgrade)
$00B5              Current Platform (ID of elevator or frozen enemy)
$00B6              Crash Timer (stuns Player after falling too far)
$00B7              Boss Special Hitbox (bitmasked)
$00B8              Boss Melee Hitbox
                            01-03 = Doppelganger whip; 04 = Doppelganger staff;
                            05 = Death's Skull; 06 = Moat Dragon head; 
$00B9              Boss Hitbox Phase (redundant with Doppelganger)
$00BA              Bone Dragon King HP
$00BB              Bone Dragon King Misc. Ticker
$00BC              Faint Pause (pauses game when killed or time runs out)
$00BD              Flood Paused (only set when Bone Dragon flees?)
$00BE              Boss Object
$00BF              Boss Second Phase (for Death, set then cleared for Bone Dragon)
$00C0              Boss Spawner ID
$00C1       #02    Boss Appearance Bitmask (used in conjunction with $0790, prevents ally swap)
$00C3              Autowalk Data Pointer (ref. $00:9140 for autowalk behavior)
                            00 = Clocktower/Default; 04 = Forest; 08 = Alucard Caves;
                            0C = Ghost Ship; 10 = Mountain Pass; 14 = Castle Keep
$00C4              Thaw Timer (for frozen waters)
$00C5              Horizontal Scroll Lock (used by crumbling bridge)
$00C7              Flood Height
$00C8              Flood Height Subpixel
$00C9       #02    Boss Stun Bitmask (similar to $00C1, stops animation, allows ally swap)
$00CB              Weapon Kill Count (affects item drops)
$00CC              Previous Conveyance (backup of $0088)
$00CD              Vertical Ceiling (lowest y-coordinate in vertical room)
$00CF              Cogwheel ID Copy
$00D0              Grant Corner Y-Coordinate
$00D1              Cogwheel ID
$00E0       #02    Audio Current Note Address
$00E2       #02    Audio Redirect Address
                   Audio Data Temporary Variable
$00E4       #02    Audio Data 16-bit Variable
$00E6       #02    Audio Track Base Address
$00E8       #02    Audio Track Address
$00EA              Audio Channels to Load
$00EB              Audio Routine PROM Bank
$00EC       #02    Audio Current Period (i.e., pitch)
$00EE              Audio Current Channel
$00EF              Audio Track ID
$00F0       #04    Candle Status (32-bit mask)
$00F4       #04    Breakable Wall Status
                            00 = unused/unbroken; ff = broken
$00F8       #02    Previous Controller Buttons Pressed
$00FA       #02    Previous Controller Buttons Held
$00FC       #02    PPU Scroll
$00FE              PPU Mask (for hue shifts and greyscale)
$00FF              PPU Control
       Audio channels: (grouped by 5, 7, or 9)
           00 = Pulse 1; 01 = Pulse 2; 02 = Sawtooth; 03 = BGM Square 1; 04 = BGM Square 2
           05 = SFX Square 1; 06 = SFX Square 2;
           07 = Drums (DCM & Noise); 08 = Noise
$0100       #09    Audio Channel Note Duration
$0109       #09    Audio Channel Song ID
$0112       #09    Audio Channel Next Note Duration
$011B       #09    Audio Channel Behavior
                             bit 0 = SFX (ignore ritenuto); bits 1-2 = init/decay/sustain/release; 
                             bit 3 = Al segno loop; bit 5 = coda loop; bit 6 = ignore envelope;
$0124       #09    Audio Channel Loop Count
$012D       #09    Audio Channel Note Address Low Byte
$0136       #09    Audio Channel Note Address High Byte
$013F       #09    Audio Channel Al Segno Address Low Byte
$0148       #09    Audio Channel Al Segno Address High Byte
$0151       #09    Audio Channel Coda Address Low Byte
$015A       #09    Audio Channel Coda Address High Byte
$0163       #09    Audio Channel Previous Period High Byte
$016A              Audio Global Dampening (lowers volume for all channels)
$016C       #09    Audio Channel Volume
$0173              Audio Global Fade Timer (decreases $017C after 2b steps)
$0175       #09    Audio Channel Next Control Value / Channel Dampening Placeholder
$017C              Audio Global Fade Delay
$017E       #09    Audio Channel Default Duty Cycle
$0185              Audio Global Mute for Pause
$0187       #07    Audio Channel Dampening (lowers volume for specific channel)
$018E       #07    Audio Channel Attributes
                             bit 4 = use waveform; bit 5 = alternate duty; bit 7 = disabled needs more info
$0195       #07    Audio Channel Pitch Bend Amount
$019C       #02    Audio SFX Square Sweep
$019E              Audio DPCM ID
$019F       #02    Audio Square Period Low Byte (write to $4002/$4006)
$01A3       #05    Audio Channel Octave (raises octave by 5-n)
$01A8       #05    Audio Channel Note Offset
                             (adds signed value to note ID to look up period)
$01AD       #05    Audio Channel Period Low 
$01B2       #05    Audio Channel Period High 
$01B7       #05    Audio Channel Volume Envelope
                             (if bit 7 set, fade out instead based on bits 0-3)
$01BC              Audio SFX Square Register Offset
$01BD              Audio Global Ritenuto Delay (counts up to $01BE)
$01BE              Audio Global Ritenuto Cutoff (frames until $01BF set)
$01BF              Audio Global Ritenuto (prolongs BGM note duration when set)
$0200      #100    OAM Data
$0300       #a0    Tile Data
$03C0       #05    Audio Channel Volume Envelope Duration
$03C5       #05    Audio Channel Volume Envelope Position
$03CA       #05    Audio Channel Volume Envelope Loop Count
$03CF       #05    Audio Channel Volume Envelope Loop Point
$03D4       #05    Audio Channel Fadeout Point (fades out when equal to $100,X)
$03D9       #05    Audio Channel Volume Envelope 
                             (bits 0-3 = value; $03D4 = duration*value >> 4)
$03DE       #05    Audio Channel Next Fade Duration
$03E3       #05    Audio Channel Fade Duration
$03E8       #05    Audio Channel Alternate Duty Cycle
$03ED       #05    Audio Channel Next Pitchbend Duration
$03F2       #05    Audio Channel Pitchbend Duration
$03F7       #05    Audio Channel Sweep Rate
$0400       #1c    Sprite Frame Index
$041C       #1c    Y-Coordinate
$0438       #1c    X-Coordinate 
$0454       #1c    Sprite Attributes (palette & background priority)
$0470       #1c    Attributes
                             01 = destroyed; 02 = frozen; 04 = unknown; 08 = flicker;
                             10 = illusory; 20 = inanimate; 40 = moving; 80 = invisible
$048C       #1c    Animation Batch (even numbers)
                             00-06 = Player; 08-12 = NPCs; 14 = Epilogue; 16-1C = Doppelganger
$04A8       #1C    Sprite Mirrored
$04C4       #17    X-Coordinate Subpixel
$04DB       #17    Y-Coordinate Subpixel
$04F2       #17    Horizontal Speed
  $0505            Partner Swap Ghosting Amount
$0509       #17    Horizontal Speed Subpixel
  $051C            Partner Swap Ghosting Amount Fractional
$0520       #17    Vertical Speed
$0537       #17    Vertical Speed Subpixel
$054E       #17    Object Index
$0565              Player State
$0566       #11    Stun Timer
$0578              Weapon State
$0579       #03    Subweapon State
$057C       #17    Animation Timer
$0593       #17    Sprite Frame (used to calculate $0400,X)
$05AA       #17    Sprite Index
$05C1              Moving Down
$05C2       #12    NPC State
$05D4              Player Stunned State
                   Partner Swap X-Coordinate
$05D5       #03    Subweapon Throw Delay
$05D8              Player Jump State
                             00-1D = Trevor/Syfa/Alucard; 1E-39 = Grant
$05D9       #0c    Boss Use
$05E5       #06    Candle Drop
                             83 = Axe; 84 = Cross; 85 = Dagger; 86 = Holy Water; 87 = Stopwatch;
                             88 = Syfa Fire; 89 = Syfa Ice; 8a = Syfa Water; 8b = Grant Dagger;
                             8c Grant Axe; 8d-8f = Upgrades (8f removed); 90 = Wall Meat; 
                             91 = Invincibility Potion; 92 = Rosary; 93-9b = Coins; 9c = 1UP; 
                             9d = Big Heart; 9e = Small Heart; 9f-a0 = Multipliers
$05EB              Stair Stun Timer
                   Partner Swap Ghosting Speed Fractional
$05EF              Stair Direction
                   Grant Jump State Fraction (functions like speed variables)
$05F0       #12    AI Class (determines behavior)
$0602              Stair Stun (decreases $05EB)
                   Freezing Rivers
                   Turning Into Bat
                   Partner Swap Ghosting Speed 
$0606              Grant Gravity Subpixel (increases $05EF for Grant)
$0607       #12    State Timer (time between state changes for most NPCs)
                   Sinusoid Center Axis
$0619              Partner Swap Y-Coordinate
$061A       #03    Subweapon Damage and Multikill Count
$061D              Stair Timer (time to climb one step)
                   Grant Gravity (increases $05D8 for Grant)
$061E       #12    Miscellaneous Ticker (usually timer or counter for NPCs)
$0630              Weapon Damage
$0631       #03    Subweapon Deflection (copy of $0658,X on Cross hit)
$0634       #17    Miscellaneous Use (used by a couple NPCs)
$0646       #12    Spawner Index
$0658       #0d    NPC Damage
$0664       #06    Candle Active
$066A       #12    Applied Effect (copy of $061A,X on subweapon hit)
$067B       #12    NPC Hitpoints
$068E       #12    Weapons Impact
                             01 = weapon; 02 = subweapon 1; 04 = subweapon 2; 08 = subweapon 3
$06A0       #05    Audio Channel Pitch Envelope Loop Start
$06A5       #05    Audio Channel Pitch Envelope ID
$06AA       #05    Audio Channel Pitch Envelope Position
$06AF       #05    Audio Channel Pitch Envelope Loop Count
$06B4       #05    Audio Channel Sustain State
$06B9       #05    Audio Channel Sustain Position (from 0 to 3)
$06BE       #05    Audio Channel Sustain Dampen
$06C3       #04    Audio BGM Square 1 Sustain Period Low Bytes
$06C7       #04    Audio BGM Square 2 Sustain Period Low Bytes
$06CB       #04    Audio BGM Square 1 Sustain Period High Bytes
$06CF       #04    Audio BGM Square 2 Sustain Period High Bytes
$06D3       #09    Audio Channel PROM Bank
$06DC              Music Paused
$06DD              Boss Scream Duration stops DPCM playback
$06E0       #90    Collision Map
                             00 = empty; 01 = mud; 02 = convey right; 03 = convey left;
                             04 = fragile; 05 = ceiling spike; 06 = solid; 07 = floor spike;
                             08 = ice; 0c-0f = cracking
$0770       #08    CHR5 Solid Definitions
                             Byte 0 = empty; Byte 1 = mud; Byte 2 = convey right; Byte 3 = convey left;
                             Byte 4 = fragile; Byte 5 = ceiling spike; Byte 6 = solid; Byte 7 = floor spike
$0778       #08    CHR6 Solid Definitions
$0780              Entry Selector Column
                   Background Animation Frame
                   Map Clipping
                             00 = To Grant; 01 = To Syfa; 02 = From Alucard
$0781              Background Animation Timer
                   Entry Selector Row
                   Map Fade-out Value
$0782       #40    Fog Parallax Positions
                             32 rows of parallax with 2 bytes per row:
                             Byte 0 = subpixel offset; Byte 1 = pixel offset
                   Previous Selector Column
                   Map Timer
                   Epilogue Partner
                   Sypha's Frozen Tile Column
$0783              Previous Selector Row
                   Map Horizontal Speed Subpixel
                   Epilogue State
                   Sypha's Frozen Tile Row
                   Death Skull IRQ Latch
$0784              Name Cursor Position
                   Map Horizontal Speed
                   Castle Shake Direction
                   Leftmost Frozen Tile Column
                   Death Skull Floor IRQ Latch (always 86)
$0785       #02    Death Skull PPU Address
                   Map Vertical Speed Subpixel
                   Epilogue Text Page
                   Leftmost Frozen Tile Row
$0786              Password Icon
                   Map Vertical Speed
                   Rightmost Frozen Tile Column
$0787              Previous Password Icon
                   Map Scroll Timer
                   Rightmost Frozen Tile Row
                   Death Skull Background Position
$0788       #02    Password Decryption Dump
                   Map X-coordinate Subpixel
                   Epilogue Scroll Timer
                   Water Freeze Counter
$0789              Map Y-coordinate Subpixel
                   Frozen Water Room Type
$078A              Epilogue Timer
                   Map Path PPU Scroll
                   Death Skull IRQ Latch Copy
$078B              Map Path PPU Control
                   Password Errors (used for debugging)
                   Death Skull Floor IRQ Latch
$078C       #02    Map Path PPU Address
            #02    Death Skull PPU Address
                   Update Selector
$078E              Death Skull Background Position
$078F       #02    Death Skull Copy of $0788 and $0789 (unused)
$0790       #10    Entered Password
                             00 = empty; 01 = whip; 02 = cross; 03 = heart
            #10    Boss Delay Timer (delays primary boss logic)
                   Map Screen Platform
                             00 = full; 01 = short west; 02 = bottom east;
                             03 = top west; 04 = middle west; 05 = bottom west
$07A0       #0a    Generated Password
$07B1       #02    Stacked Breakable Wall
$07B3       #02    Lower Block Broken
$07B5       #02    Upper Block Broken
$07B7       #02    Wall ID (points to $00F4,X)
$07C2       #06    Spawner Type
$07C8       #06    Spawner State
$07CE       #06    Spawner Timer
$07D4       #06    Spawner Y-Coordinate
$07DA       #06    Spawner x-Coordinate
$07E0       #06    Spawner Offscreen
$07E6       #06    Spawner NPC Object
$07EC       #06    Bone Dragon King Frames (two ribs per byte)
                   Various Boss Uses 
                       specific uses by address:
                       $07EC    Cyclops Lightning State
                                Giant Bat Leader
                                Alucard Bat Leader
                                Medusa Leader
                                Death Aggro 
                                    bit 3 = goto next phase; bit 6 = skull form; bit 7 = attacking
                                Doppelganger Character (same as $0634, for subweapons only)
                                Dracula Phase
                                    00 = Dracula; 01 = demon; 02 = Pazuzu
                       $07ED    Giant Bat State
                                Alucard Bat State
                                Medusa Snakes Merged (bitmasked)
                                Death Movement
                                    bit 1-2 = horizontal speed; bit 3-4 = vertical speed; left if bit 3 set
                                Creature Shake Amount
                                Moat Dragon #1 Withdraw Speed (ff = normal; fe = slain)
                                Doppelganger Keypress (only 01 or 02 used for jumping)
                                    01 = right; 02 = left; 03 = down; 04 = up; 05 = B; 06 = Up
                       $07EE    Giant Bat Swarm State
                                Alucard Bat Swarm State
                                Death Scythe Limit
                                Wisp Defeats (00 = none; 01 = Mummy; 02 = Cyclops; 03 = Baphomet)
                                Moat Dragon #1 Height
                                Doppelganger Status When Hit
                       $07EF    Moat Dragon #2 Withdraw Speed 
                                    ff = normal; fe = slain
                                Alucard Form
                                    00 = humanoid; 01 = wisp; 02 = bat swarm;
                                    03 = bat gathering; 04 = smoke
                                Death Scythe Count (for spawn positioning)
                                Doppelganger Recovered (impedes AI for one frame)
                       $07F0    Moat Dragon #2 Height
                                Alucard Transform Delay
                       $07F1    Mummy Boss Tally
                                Giant Bat Stunned
                                Alucard Bat Converge (arguably useless)
                                Death Transitioning
$07EC              Bone Dragon Cycle
                   Map Effects Timer
$07ED              Bone Dragon Mirrored
                   Stage Clear State (XORed by #80 if new partner declined)
                   Collapsing Bridge Length
$07EE              Bone Dragon Fireball Timer
$07EF              Bone Dragon Attacking
                   Story Text
$07F0              Story Line
$07F1       #02    Story Text Address
                   Meeting Dialogue Timer
$07F3              Boss Battle State
                             00 = boss fight; 01 = boss defeat; 02 = crystal drop;
                             03 = battle over; 80 = boss waiting
                   Stage Clear Delay (timer after battle over)
$07F6              Hard Mode
$07F8       #08    Player Name