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

From Data Crystal
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 32: Line 32:
  Address    Size    Description
  Address    Size    Description
  --------  ----    -----------
  --------  ----    -----------
  $2a             Controller
$0018              System State
   $34             Level
                            00 = Title; 02 = New Game; 03 = In-game Transition; 04 = In-Game;
   $35             Stage
                            05 = Game Over Transition; 06 = Game Over; 07 = Stage Select Debug;
  $37             Lives
                            08 = Map Screen; 09 = Prayer Scene; 0a = Name Entry; 0b = Password Entry;
   $44             Score  0000xx    
                            0c = Epilogue; 0d = Credit Roll; 0e = Respawn; 0f = Sound Test Debug
  $45             Score  00xx00
$0019              System Substate
   $46              Score   xx0000
$001B              System Step Counter
  $48             Partner  00 = Trevor; 01 = Syfa; 02 = Grant; 03 = Alucard; ff = None
$001D              Blackout Delay
  $49             Partner Active   00 = no; 01 = yes
$0020              Randomizer
  $4a             Health  40 = full
$0021             PPU Bank (write to $B003)
   $7b             Time  xx00
$0028        2    Controller Buttons Pressed
   $7c             Time   00xx
                            01 = right; 02 = left; 04 = down; 08 = up;
  $81             Hearts
                            10 = start; 20 = select; 40 = B; 80 = A
  $82             Trevor Weapon
$002A        2   Controller Buttons Held
$002C             Game State
$002D              User Paused (toggled by Start button)
$002E              Stage Clear
$0030              Checkpoint (used for Password Entry)
$0031              Grant Defeated
$0032        2   System Effect Timer
$0034             Stage
$0035              Block
$0036              Room
$0037             Lives
$0038        8   CHR Banks
$0040             IRQ Control
$0041        2   IRQ Latch
$0043             Default Drawing State (write to $006A)
$0044        3   Score (little endian)
$0048             Partner   
                            00 = Trevor; 01 = Syfa; 02 = Grant; 03 = Alucard; ff = None
$0049             Partner Active (bool)
$004A              Player's Health
                            40 = full
$004B              Boss Health
$0053        2    View Position (little endian)
$0055              View Subpixel Position
$0056              Left Spawn Area
$0057              Right Spawn Area
$005A        2    Tile Assembly Pointer
$005C        2    Pallet Map Pointer
$005E        2    Nametable Write Address
$0060              Tile Assembly ID
$0061              Transition Timer
$0062              Player Direction
                            00 = left; 01 = right; 02 = still
$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        2   Stair Map Address
$0068             Player Animation State (for transitions)
$0069              Current Instance (saves X register)
$006A              Drawing State
$006B              View Speed
$006C        2   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              Leftmost Spawner Block
$0075              Boss Scroll Lock
$0076             Vertical Spawner Block
$0077              Vertical Spawner Previous (?)
$0078              Spawner Count
$007A              Room Type
                            10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
                            50 and 60 = Watery Grave; 70 = Flood Zone; 80 = Collapsing Bridge
$007b        2    Time (little endian)
$0081             Hearts
$0082             Trevor Weapon
                             00 = none; 01 = axe; 02 = boomerang; 03 = knife/book; 04 = holy water; 05 = fireball;  
                             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
                             06 = freeze; 07 = orb; 08 = axe; 09 = boomerang; 0a = knife/book ;0b = clock
  $83             Partner Weapon
$0083             Partner Weapon
   $84              Weapon Multiplier  00 = none; 01 = [II]; 02 = [III]
   $84              Weapon Multiplier  00 = none; 01 = [II]; 02 = [III]
   $85              Partner Weapon Multiplier
   $85              Partner Weapon Multiplier

Revision as of 19:27, 11 June 2022

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

Address    Size    Description
--------   ----    -----------
  $19              Menu Mode (meaning depends on menu, i.e. title screen, password entry, game over, etc)
  $26              Controller 1 Pressed
  $28              Controller 1
  $32              Timer
  $35              Lives   
  $36              Score 0000xx    
  $37              Score 00xx00    
  $38              Score xx0000  
  $39              Player   00 = None; 01 = Syfa; 02 = Grant; 03 = Alucard
  $3A              Partner  00 = None; 01 = Syfa; 02 = Grant; 03 = Alucard
  $3C              Energy  
  $68              Menu selection (Start/Password or Continue/Password)
  $84              Hearts
  $F8              Controller 1 Pressed (same as 26?)
  $FA              Controller 1         (same as 28?)
  $7E              Time 00xx   
  $7F              Time xx00   

$0200      $100    OAM (sprites)

$05D8              Timer before crouch-landing (starts at 07 (when a jump starts), augments +1/frame until player starts falling and then decreases -1/frame until 00)

$0790       $10    Password data (populated during password entry)
$07A0       $10    Password data (for display on game over)
$07F8        $8    Player name


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

Address    Size    Description
--------   ----    -----------
$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
$001D              Blackout Delay
$0020              Randomizer
$0021              PPU Bank (write to $B003)
$0028         2    Controller Buttons Pressed
                            01 = right; 02 = left; 04 = down; 08 = up;
                            10 = start; 20 = select; 40 = B; 80 = A
$002A         2    Controller Buttons Held
$002C              Game State
$002D              User Paused (toggled by Start button)
$002E              Stage Clear 
$0030              Checkpoint (used for Password Entry)
$0031              Grant Defeated 
$0032         2    System Effect Timer
$0034              Stage
$0035              Block
$0036              Room
$0037              Lives
$0038         8    CHR Banks
$0040              IRQ Control
$0041         2    IRQ Latch
$0043              Default Drawing State (write to $006A)
$0044         3    Score (little endian)
$0048              Partner   
                            00 = Trevor; 01 = Syfa; 02 = Grant; 03 = Alucard; ff = None
$0049              Partner Active (bool)
$004A              Player's Health
                            40 = full
$004B              Boss Health 
$0053         2    View Position (little endian) 
$0055              View Subpixel Position
$0056              Left Spawn Area
$0057              Right Spawn Area
$005A         2    Tile Assembly Pointer
$005C         2    Pallet Map Pointer
$005E         2    Nametable Write Address
$0060              Tile Assembly ID
$0061              Transition Timer
$0062              Player Direction
                            00 = left; 01 = right; 02 = still
$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         2    Stair Map Address
$0068              Player Animation State (for transitions)
$0069              Current Instance (saves X register)
$006A              Drawing State
$006B              View Speed
$006C         2    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              Leftmost Spawner Block
$0075              Boss Scroll Lock
$0076              Vertical Spawner Block
$0077              Vertical Spawner Previous (?)
$0078              Spawner Count
$007A              Room Type
                            10 = Stormclouds; 20 = Autowalk; 30 = River; 40 = Clockwork;
                            50 and 60 = Watery Grave; 70 = Flood Zone; 80 = Collapsing Bridge
$007b         2    Time (little endian)
$0081              Hearts
$0082              Trevor Weapon
                            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 Weapon
  $84              Weapon Multiplier   00 = none; 01 = [II]; 02 = [III]
  $85              Partner Weapon Multiplier
  $8b              Whip   00 = short; 01 = medium; 02 = long