Castlevania II: Simon's Quest

From NES Hacker Wiki
Revision as of 14:07, 25 February 2010 by TheAlmightyGuru (talk | contribs) (Created page with '256px|right Castlevania II: Simon's Quest is the sequel to Castlevania. The game play shits from the original to a platform advent…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Castlevania 2 - Simon's Quest.png

Castlevania II: Simon's Quest is the sequel to Castlevania. The game play shits from the original to a platform adventure. You control Simon Belmont, a vampire hunter who uses a whip to fight monsters. You must collect items and enter mansions to find the lost body parts of Dracula. Only then can you resurrect him and vanquish him forever. The game itself is a lot of fun, but it suffered such awful translation problems that it's unplayable without a guide. However, there is an unofficial patch that fixes the dialog.

Memory Offsets

  0031 - Lives
  0037 - D-Pad Pushing (00-Idle 01-Left FF-Right)
  0046 - Experience: 99XX
  0047 - Experience: XX99
  0048 - Hearts: 99XX
  0049 - Hearts: XX99
  004A - Weapon Bit Flag
  	01 - Dagger
  	02 - Silver Dagger
  	03 - Golden Knife
  	04 - Holy Water
  	05 - Crystal
  	06 - Sacred Flame
  	07 - Oak Stake
  	08 - Nothing
  004C - Laurels
  004D - Garlic
  0058 - Map X Chunk
  0059 - Map X Position
  006A - Simon Y Position
  0077 - Dialog writing text row
  0078 - Dialog writing text column
  007B - Dialog text timeout until next letter.
  007C - Dialog text memory offset
  007D - Dialog starting column
  	Also the dialog timeout to automatically disappear
  	Also the option highlighted for Yes/No questions.
  007F - Sun flag (1=Day, 0=Night)
  0080 - Current Hit Points (x8)
  0080 - Maximum Hit Points (x8)
  0083 - Game Time (Days)
  0084 - Game Time (Seconds)
  0085 - Game Time (Minutes)
  0086 - Game Time (Hours) (6-17 Day time, 18-5 Night time)
  0087 - Counter for day/night palette shift.
  0088 - Counter for day/night palette shift.
  008B - Level
  0091 - Inventory Bit Flag
  	01 - Rib
  	02 - Heart
  	03 - Eye
  	04 - Nail
  	05 - Ring
  	06 - White Crystal
  	07 - Blue Crystal
  	6+7 - Red Crystal
  0092 - Carry Items Bit Flag
  	01 - Silk Bag
  	02 - Magic Cross
  	03 - Laurels
  	04 - Garlic
  0300 - Simon Sprite Frame
  0303-0305 - Weapon Frame
  0306-030B - Object Frame
  0318-031D - Object Palette
  0324 - Simon Y Pos on Screen
  0327-0329 - Weapon Y
  032A-032F - Object Y
  0336 - Simon Jumping Work ?
  0339-033B - Weapon Work 1?
  033C - Object Work ?
  0348 - Simon X Pos on Screen
  034B-034D - Weapon X
  034E-0353 - Object X
  0360 - Object Work?
  036C - Simon Y Delta
  036F-0371 - Weapon Y Delta (Signed)
  0372-0377 - Object Y Delta (Signed)
  037E - Object Work ?
  0381-0383 - Weapon Work 2?
  0384 - Object Work?
  0393-0395 - Weapon X Delta (Signed)
  0396-039B - Object X Delta (Signed)
  03B7-03B9 - Weapon Index (See List)
  03BA-03BF - Object Index (See List)
  03D8 - Simon Action
  	00 - Idle
  	01 - Walking
  	02 - Jumping
  	03 - Crouching
  	04 - Attacking
  03DB-03DD - Weapon Flags
  0402-0407 - Object Frame
  040E - Movement flag? (00 - when moving, 01 - When jumping or crouching, 11 - When idle)
  0420 - Simon Sprite Mirroring
  0423-0425 - Weapon Sprite Mirroring
  0426-042B - Object Sprite Mirroring
  0434 - Whip
  	00 - Leather Whip
  	01 - Thorn Whip
  	02 - Chain Whip
  	03 - Morning Star
  	04 - Flame Whip
  0445 - Whip State
  	00 - Idle
  	01 - Back
  	02 - Middle
  	03 - Forward
  0446 - Jumping Flag
  0447-0449 - Weapon Flags
  044A - Object Work?
  0457 - Delay between next whip.
  045C - Object Work?
  046E - Object Work?
  04C2 - Set at 1 when up is pressed, set to 0 when down is pressed.
  04C5-04C7 - Weapon State
  04C8-04CD - Object Hit Points / OR - Index2 (See Table)
  04DA - Object Work?
  04F8 - Invincibility Timeout

ROM Contents

  00000-0000F - iNES Header
  00010-03856 - Not Patterned
  03856-03FDF - Empty Data (FF)
  04010-07728 - Not Patterened 
  04642-04649 - Bit increase table (01 02 04 08 10 20 40 80) Read for most bitwise manipulation.
  05B9C - Berkley Mansion Organ
  05CE1 - Grim Reaper's Hit Points
  05D59 - Delay between Camilla's tears
  05FAE - Bodley Mansion Organ
  07729-07FDF - Empty Data (FF)
  08010-0C00F - Patterend Data (Map Data)
  0C010-0CC7F - Not Patterened
  0CC80-0DD05 - Game Dialog
  0DD06-0FFDF - Empty Data (FF)
  1000F-11E8F - Patterned Data (Tile Data)
  10160-101BF - Title Screen
  10360-1042F - Prologue
  1043E-???   - Map chunk palette data.
  124CC-127BF - Ending Dialog
  13AF0-1C00F - Mostly Empty Data (FF)
  1C010-1F7F0 - Not Patterned
  1C960-1CA4F - Password Entry
  1E0F0-1E103 - Enemy Movement Routine
  1F210-1F23F - Whip Names
  1F800-2000F - Patterened Data (Map Data)
  20010-40010 - Graphics

Tables

Weapon Index

  01 - Dagger
  02 - Silver Dagger
  03 - Golden Knife
  04 - Holy Water
  05 - Diamond
  06 - Sacred Fire
  07 - 
  08 - 
  09 - Garlic

Object Index

  00 - None
  01 - Town Bat
  02 - 
  03 - Skeleton / Skeleton Warrior
  04 - Fishman
  05 - Spearman
  06 - Gator Men
  07 - 
  08 - Floating Eye
  09 - Bat (Flying)
  0A - Medusa
  0B - 
  0C - Bouncing Skeleton Bone Fire
  0D - Bouncing Skeleton
  0E - Spider
  0F - Winged Devil
  10 - Floating Skull
  11 - Bat (Swooping)
  12 - 
  13 - 
  14 - 
  15 - 
  16 - 
  17 - Town Zombie
  18 - Marsh Spitter
  19 -
  1A - Spider Silk
  1B - 
  1C - 
  1D - Burning Man
  1E - Old Man In Cemetery
  1F - Slime
  20 - Flying Spike
  21 - Horizontally moving platform (Tall)
  22 - Horizontally moving platform (Wide) / Vertically Moving Platform (Wide)
  23 - 
  24 - Sign
  25 - Crystal Orb / Bag
  26 - 
  27 - Clue Book
  28 - 
  29 - Red Woman
  2A - Man
  2B - 
  2C - Old Woman
  2D - Priest
  2E - Cloaked Man (Town)
  2F - Cloaked Man (Outside)
  30 - Enemy Fireball
  31 - 
  32 - Seeking Fireball
  33 - Spider Web
  34 - Vertically moving platform (Narrow)
  35 - Old Man
  36 - Enemy Explosion
  37 - Heart / Half Heart / Big Heart
  38 - Cemetery Hand
  39 - 
  3A - Mummy
  3B - Harpy
  3C - Ferryman
  3D - Ferryboat
  3E - 
  3F - Giant Plant
  40 - Leech
  41 - 
  42 - Camilla
  43 - Marsh?
  44 - Grim Reaper
  45 - Camilla Tear
  46 - Reaper Scythe
  47 - Dracula
  48 - Dracula Scythe
  49 - 
  4A - 
  4B - Organ Bag
  4C - Dracula Summoning Fire
  4D - Dracula Explosion Fire

Object Index 2

  18 - Orb (Rib)
  19 - Orb (Heart)
  1A - Orb (Eyeball)
  1B - Orb (Nail)
  1C - Orb (Ring)
  77 - Golden Knife
  42 - Cloaked man selling Chain Whip

Code Routines

Camilla Code

  Frame (0306)
  Palette (0318)
  Camilla Y, X (032A)(034E)
  Tear Y, X (032B) (032C)
  ? (033C)
  ? (0360)
  Camilla Delta (0372), (0396)
  Tear Delta (0373), (0397)
  ? (0384)
  ? (03A8)
  
  Status (044A) (00 - Rising, 02 - Begin Crying, 03 - Crying, 04 - Spinning, 05 - Idle)
  
  Counter (045C)
  When spinning: 00-3F for a full rotation.
  When crying: 00-FF
  
  Flag (046E)
  0/1 For spinning. Switches each loop.
  Counts while crying.
  
  Tear Delay (04DA) (00-20)