Difference between revisions of "Cv3/rammap"
Bogaabogaa (talk | contribs) (→Castlevania III - Dracula's Curse (USA)) |
Bogaabogaa (talk | contribs) |
||
Line 237: | Line 237: | ||
|} | |} | ||
+ | |||
+ | <div style="white-space: pre-wrap"> | ||
+ | |||
+ | $0000 Temporary Used Memory Holds () | ||
+ | $0001 Temporary Used Memory Holds () | ||
+ | $0002 Temporary Used Memory Holds (Hitbox) | ||
+ | $0008 Temporary Used Memory Holds (DoorPointer) | ||
+ | $000A Temporary Used Memory Holds (LocationPointer) | ||
+ | $0011 Temporary Used Memory Holds (Whip Attack hight) () | ||
+ | $0012 Temporary Used Memory Holds (Temporary sprite_index Used to keep track of $007F and $0565. Adds #$08 to Trevor's y when ducking ($0565==#$1C)) | ||
+ | $0013 Temporary Used Memory Holds (Temporary y Used to keep track of $0041C when attacking.) | ||
+ | $0018 RomeLoader Mode 4=Loade 5=Black(07=debug) | ||
+ | $001a Random (INC) Used for () | ||
+ | $001d Temporary Used Memory Holds (set to 01 Pause) (Set When on Stairs ??) | ||
+ | $001f 2 byte RNG | ||
+ | $0026 Controller Press (01 Right, 02 Left, 04 Down, 08 Up, 10 Start, 20 Select, 40 B, 80 A) | ||
+ | $0028 Controller Value Button State. Create Value out of button presses add/subtract Registered at $26 | ||
+ | $002b paused if 01 | ||
+ | $002e Flag Stage clear This gets set to 01 when collect Orb | ||
+ | $0030 ItemPickup Flash Timer. Set when whip upgrade is picked up. Trevor cycles through sprite palettes while this counts down. | ||
+ | $0032 stage A (Level) | ||
+ | $0033 Block B (Section) | ||
+ | $0034 Section C (Screen) | ||
+ | $0035 lives | ||
+ | $0036 points 0000xx | ||
+ | $0037 points 00xx00 | ||
+ | $0038 points xx0000 | ||
+ | $0039 character 1 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) | ||
+ | $003a character 2 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) | ||
+ | $003b character index (00 or 01) | ||
+ | $003c Health | ||
+ | $003d Boss Health | ||
+ | $003f GFX 4 byte | ||
+ | $0042 GFX ?? | ||
+ | $0043 GFX ?? | ||
+ | $0044 GFX 2 byte (Holds Current routine Pointer for swapping) | ||
+ | $0046 Index (Used in Door Transition) SpriteBank Transition Player Sprite | ||
+ | $0047 Index (Used in Door Transition) SpriteBank PlayerWeapon Sprite | ||
+ | $0048 Index (Used in Door Transition) ??Enemy Sprites?? | ||
+ | $0049 Index (Used in Door Transition) Enemy Sprites | ||
+ | $004a Index (Used in Door Transition) Bank 400-7ff | ||
+ | $004b Current Bank 400-7ff | ||
+ | $004c Current Bank 800-8ff | ||
+ | $004d Index (Used in Transition) Bank 0c00-0fff | ||
+ | $004e 2 byte ?? | ||
+ | $0050 2 byte Index (Used in Transition) Next Section | ||
$0052 2 byte holds tilemap Left Section (past) | $0052 2 byte holds tilemap Left Section (past) | ||
− | |||
$0054 2 byte holds tilemap Right Section (infront) | $0054 2 byte holds tilemap Right Section (infront) | ||
− | + | $0056 Camera y or xPos 00xx (Depending on Scroll type) CameraLock | |
− | $0056 Camera y or xPos 00xx (Depending on Scroll type) | + | $0057 Camera x or xPos xx00 (Depending on Scroll type) CameraLock |
− | + | $0058 | |
− | $0057 Camera x or xPos xx00 (Depending on Scroll type) | ||
− | |||
− | $0058 | ||
− | |||
$0059 CameraPos Right RanderTracker?? | $0059 CameraPos Right RanderTracker?? | ||
− | |||
$005a CameraPos Left RanderTracker?? | $005a CameraPos Left RanderTracker?? | ||
− | |||
$005b Section Tracker/Counter Tracker counts left/up | $005b Section Tracker/Counter Tracker counts left/up | ||
− | |||
$005c Section Tracker/Counter Tracker counts right/down | $005c Section Tracker/Counter Tracker counts right/down | ||
− | |||
$005d 2 byte LevelLoading (StageInicator??)(Active when Moving into Stage) | $005d 2 byte LevelLoading (StageInicator??)(Active when Moving into Stage) | ||
− | |||
$005f 2 byte Pallets Index (Used in Transition) (Active when Moving into Stage) | $005f 2 byte Pallets Index (Used in Transition) (Active when Moving into Stage) | ||
− | |||
$0061 2 byte Part of the level tracker.. | $0061 2 byte Part of the level tracker.. | ||
− | |||
$0063 Part of the level tracker.. | $0063 Part of the level tracker.. | ||
− | |||
$0064 ?? | $0064 ?? | ||
− | |||
$0065 Scrolling Left/down=00, Scrolling Right/up=01, Screen not Scrolling=02 | $0065 Scrolling Left/down=00, Scrolling Right/up=01, Screen not Scrolling=02 | ||
− | |||
$0066 Part of the level tracker.. | $0066 Part of the level tracker.. | ||
− | |||
$0069 2 byte StairPointer For CurrentSection? | $0069 2 byte StairPointer For CurrentSection? | ||
Line 274: | Line 304: | ||
$006e 01=SpriteSpeed right FF=SpriteSpeed left. Used when moving.. | $006e 01=SpriteSpeed right FF=SpriteSpeed left. Used when moving.. | ||
− | |||
$006f 2byte Current CameraBGScrolling?? | $006f 2byte Current CameraBGScrolling?? | ||
$0071 Camera Look (RoomLeangh) | $0071 Camera Look (RoomLeangh) | ||
− | |||
$0072 HudFunction? 00 is bad | $0072 HudFunction? 00 is bad | ||
Line 286: | Line 314: | ||
$007e time 00xx | $007e time 00xx | ||
− | |||
$007f time xx00 | $007f time xx00 | ||
− | |||
$0080 01 or more=Trevor Sprite Flicker | $0080 01 or more=Trevor Sprite Flicker | ||
− | + | $0081 Trevor Movment State. x1 above ground, x2 only move right x5 No Colution, x8 Left x9 Right Hurt xe=Cinematic exit X=Amount of Damage and initiate hurt animation. | |
− | $0081 Trevor Movment State. x1 above ground, x2 only move right x5 No Colution, x8 Left x9 Right | ||
− | Hurt xe=Cinematic exit X=Amount of Damage and initiate hurt animation. | ||
$0084 hearts | $0084 hearts | ||
− | |||
$0085 sub-weapon (Trevor) | $0085 sub-weapon (Trevor) | ||
− | |||
$0086 sub-weapon (Helper) | $0086 sub-weapon (Helper) | ||
− | |||
$0087 Double/Triple value (Trevor) | $0087 Double/Triple value (Trevor) | ||
− | |||
$0088 Double/Triple value (helper) | $0088 Double/Triple value (helper) | ||
− | |||
$0089 02=refreshes screen somehow? used in paralax i think | $0089 02=refreshes screen somehow? used in paralax i think | ||
$008e whip power up level (Trevor) | $008e whip power up level (Trevor) | ||
+ | $008f whip power up level (Helper) | ||
− | $ | + | $0098 2byte CurrentPointer Candle/Enemy Table |
+ | $009a 2byte CurrentPointer Misc Table | ||
+ | |||
+ | $00ae AlucardBatHeartDrain Timer | ||
$00b1 Keeps Track of last action?? | $00b1 Keeps Track of last action?? | ||
$00ce Counter If=05 a subweapon dorps instead of a small heart | $00ce Counter If=05 a subweapon dorps instead of a small heart | ||
+ | |||
+ | $00c7 WaterFreezTimer | ||
$00fc TitelScreen Scrolling Y | $00fc TitelScreen Scrolling Y | ||
− | |||
$00fd TitleScreen Scrolling X | $00fd TitleScreen Scrolling X | ||
− | |||
$00fe If uneven Greay scale (WindowEffect) | $00fe If uneven Greay scale (WindowEffect) | ||
− | |||
$00ff BankSetup | $00ff BankSetup | ||
Line 325: | Line 347: | ||
$01e4 Pointer?? | $01e4 Pointer?? | ||
+ | $01e8-$0312 OAM Sprite Assembly Table | ||
− | + | 318-3bf Pointers for level setup? | |
+ | 3c0-3c4 Sound Effect | ||
− | |||
− | |||
$00bf setting to 0x80 freezes stuff (preparation for death I think) | $00bf setting to 0x80 freezes stuff (preparation for death I think) | ||
Line 337: | Line 359: | ||
$400-405 Player Animation | $400-405 Player Animation | ||
− | |||
$410 Animation CandleStand | $410 Animation CandleStand | ||
− | |||
$412 Animation Candle | $412 Animation Candle | ||
Line 345: | Line 365: | ||
$416 Uneven will destored the image at $417 | $416 Uneven will destored the image at $417 | ||
− | |||
$417 Displays IteamInfront of you?? | $417 Displays IteamInfront of you?? | ||
$418 Hud Subweapon Sprite 50=Holywater | $418 Hud Subweapon Sprite 50=Holywater | ||
+ | $419 Hud ShotMultiplayer Double=58 | ||
− | |||
$41d 6 bytes Crusher Movement | $41d 6 bytes Crusher Movement | ||
− | |||
$647 6 bytes Crusher Movement | $647 6 bytes Crusher Movement | ||
− | |||
$658 HitBox Enemy AB (A=1 MinimalDamage F=FatalDamage) (B=Effect 5 Sink 8 and 9 Push) | $658 HitBox Enemy AB (A=1 MinimalDamage F=FatalDamage) (B=Effect 5 Sink 8 and 9 Push) | ||
− | + | 490 Misc Sprite Address | |
$4a8 Enemy Movement 00 01 | $4a8 Enemy Movement 00 01 | ||
Line 365: | Line 382: | ||
$4f3-4f5 Sprite Speed Direction 01=Right ff=Left | $4f3-4f5 Sprite Speed Direction 01=Right ff=Left | ||
− | |||
$509-50b Sprite SubSpeed Direction 00-ff | $509-50b Sprite SubSpeed Direction 00-ff | ||
− | + | 550-56f Misc Handler | |
− | + | 567 Misc rocker assembly and Ai (8627 Routines) | |
− | |||
− | |||
− | |||
− | |||
+ | 57c-57d AnimationFramesBoss | ||
+ | 588-58f AnimationFramesCandles | ||
-5a8 5a6 Whip | -5a8 5a6 Whip | ||
+ | 5aa-5af AnimationIDSprites?? | ||
+ | 5b8-4bf AnimationIDCandles?? | ||
− | + | 5c1 Movement directions??Trevor ActionStateUpgrade | |
− | + | 5c2 Movement directions??Boss | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
-5c7 Movment Sprites | -5c7 Movment Sprites | ||
+ | 5ce CandleUpgradeAnimationState | ||
+ | 4cf CandleUpgradeAnimationState | ||
+ | 5d0-5d7 MovmentBehavier?Candles | ||
+ | 5d9-5df (FreezTimer) MovmentBehavier?Sprites | ||
− | + | 5f0-5f2 EnemyActiveState | |
− | + | 5fc-601 Candle Content | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 61e-625 Direction/speed Pendulum | |
− | + | 6e0-76f Collusion map | |
− | |||
− | |||
AB A=2x2 block square | AB A=2x2 block square | ||
Line 418: | Line 423: | ||
Collution pointers | Collution pointers | ||
Collusion data 4a3 Stile offset range?? donno | Collusion data 4a3 Stile offset range?? donno | ||
− | |||
− | |||
− | |||
Line 431: | Line 433: | ||
$800 Mirror ZeroPage | $800 Mirror ZeroPage | ||
+ | </div> | ||
Revision as of 21:27, 29 July 2019
Contents
Castlevania III - Dracula's Curse (USA)
Bogaa's RamMap
Address | Leangth | Type | Description |
---|---|---|---|
$0000 | 1 byte | Temp | Memory Holds () |
$0001 | 1 byte | Temp | Memory Holds () |
$0002 | 1 byte | Temp | Memory Holds (Hitbox) |
$0008 | 2 byte | Temp | Memory Holds (DoorPointer??) |
$000a | 2 byte | Temp | Memory Holds (PlayerLocation??) |
$0011 | 1 byte | Temp | Memory Holds (WhipHitboxHight) |
$0012 | 1 byte | Temp | Memory Holds ((Temporary sprite_index Used to keep track of $007F and $0565. Adds #$08 to Trevor's y when ducking ($0565==#$1C))) |
$0013 | 1 byte | Temp | Memory Holds (Temporary y Used to keep track of $0041C when attacking.) |
$0018 | 1 byte | Screen | RomeLoader Mode 4=Loade 5=Black(07=debug) |
$001a | 1 byte | RNG | Random line. This is incremented by 1 every step. It's used for randomization purposes and results in a linear pattern whereby a function X will return the same result X[n] steps later and X[n+1] will always be the same when n is a linear function. Of course, making n a non-linear function will yield results closer to what one would consider "random". |
$001d | 1 byte | Temp | Temporary Used Memory Holds (set to 01 Pause) (Set When on Stairs ??) |
$001f | 2 byte | RNG | Random bump. While $001B is used most for random actions, this will vary things up a bit. This gets incremented and then $001B is added to it. This is done repeatedly between iterations. Basically, in GM terms, thisi is run between the last Draw event and the first Begin Step event. |
$0026 | 1 byte | Controller | (01 Right, 02 Left, 04 Down, 08 Up, 10 Start, 20 Select, 40 B, 80 A) |
$0028 | 1 byte | Controller | Controller Value Button State. Create Value out of button presses add/subtract |
$002b | 1 byte | Flag | When Pause = 01 |
$002e | 1 byte | Flag | Stage clear This gets set to 01 when collect Orb |
$0030 | 1 byte | Timer | ItemPickup Flash Timer. Set when whip upgrade is picked up. Trevor cycles through sprite palettes while this counts down. |
$0032 | 1 byte | Location | Stage (Level) |
$0033 | 1 byte | Location | Block (Section) |
$0034 | 1 byte | Location | SubRom (Screen 8=Blocks or 256Pixel) |
$003 | 1 byte | Life | CurrentAmount of Lifes. Not HUD |
$0036 | 3 byte | Ctr | Points will start with low byte. ($0036 0000xx. $0037 00xx00. $0038 xx0000) |
$0039 | 1 byte | Indicator | Player Always 00 (But could be someone else in theory) |
$003a | 1 byte | Indicator | Partner (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) |
$003b | 1 byte | Flag | Character Index?? SubweaponObj?? 00 or 01 |
$003c | 1 byte | Health | Health Player |
$003d | 1 byte | Health | Health Boss |
$003e | 1 byte | ?? | ?? |
$003f | 4 byte | CHR | GFXBank?? |
$0043 | 1 byte | CHR | CHR Bank ?? |
$0044 | 1 byte | CHR | GFX 2 byte (Holds Current routine Pointer for swapping) |
$0046 | 1 byte | Index | (Used in Door Transition) SpriteBank Transition Player Sprite |
$0047 | 1 byte | Index | (Used in Door Transition) SpriteBank PlayerWeapon Sprite |
$0048 | 1 byte | Index | (Used in Door Transition) Enemy Sprites?? |
$0049 | 1 byte | Index | (Used in Door Transition) Enemy Sprites?? Bank?? |
$004a | 1 byte | Index | (Used in Door Transition) Bank 400-7ff |
$004b | 1 byte | Bank | Current Bank 400-7ff |
$004c | 1 byte | Bank | Current Bank 800-8ff |
$004d | 1 byte | Index | (Used in Transition) Bank 0c00-0fff |
$004e | 2 byte | ?? | ?? |
$0050 | 2 byte | Index | (Used in Transition) Next Section |
$0052 | 2 byte | Re | ?? |
$0000 | 1 byte | ?? | ?? |
$0000 Temporary Used Memory Holds () $0001 Temporary Used Memory Holds () $0002 Temporary Used Memory Holds (Hitbox) $0008 Temporary Used Memory Holds (DoorPointer) $000A Temporary Used Memory Holds (LocationPointer) $0011 Temporary Used Memory Holds (Whip Attack hight) () $0012 Temporary Used Memory Holds (Temporary sprite_index Used to keep track of $007F and $0565. Adds #$08 to Trevor's y when ducking ($0565==#$1C)) $0013 Temporary Used Memory Holds (Temporary y Used to keep track of $0041C when attacking.) $0018 RomeLoader Mode 4=Loade 5=Black(07=debug) $001a Random (INC) Used for () $001d Temporary Used Memory Holds (set to 01 Pause) (Set When on Stairs ??) $001f 2 byte RNG $0026 Controller Press (01 Right, 02 Left, 04 Down, 08 Up, 10 Start, 20 Select, 40 B, 80 A) $0028 Controller Value Button State. Create Value out of button presses add/subtract Registered at $26 $002b paused if 01 $002e Flag Stage clear This gets set to 01 when collect Orb $0030 ItemPickup Flash Timer. Set when whip upgrade is picked up. Trevor cycles through sprite palettes while this counts down. $0032 stage A (Level) $0033 Block B (Section) $0034 Section C (Screen) $0035 lives $0036 points 0000xx $0037 points 00xx00 $0038 points xx0000 $0039 character 1 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) $003a character 2 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) $003b character index (00 or 01) $003c Health $003d Boss Health $003f GFX 4 byte $0042 GFX ?? $0043 GFX ?? $0044 GFX 2 byte (Holds Current routine Pointer for swapping) $0046 Index (Used in Door Transition) SpriteBank Transition Player Sprite $0047 Index (Used in Door Transition) SpriteBank PlayerWeapon Sprite $0048 Index (Used in Door Transition) ??Enemy Sprites?? $0049 Index (Used in Door Transition) Enemy Sprites $004a Index (Used in Door Transition) Bank 400-7ff $004b Current Bank 400-7ff $004c Current Bank 800-8ff $004d Index (Used in Transition) Bank 0c00-0fff $004e 2 byte ?? $0050 2 byte Index (Used in Transition) Next Section $0052 2 byte holds tilemap Left Section (past) $0054 2 byte holds tilemap Right Section (infront) $0056 Camera y or xPos 00xx (Depending on Scroll type) CameraLock $0057 Camera x or xPos xx00 (Depending on Scroll type) CameraLock $0058 $0059 CameraPos Right RanderTracker?? $005a CameraPos Left RanderTracker?? $005b Section Tracker/Counter Tracker counts left/up $005c Section Tracker/Counter Tracker counts right/down $005d 2 byte LevelLoading (StageInicator??)(Active when Moving into Stage) $005f 2 byte Pallets Index (Used in Transition) (Active when Moving into Stage) $0061 2 byte Part of the level tracker.. $0063 Part of the level tracker.. $0064 ?? $0065 Scrolling Left/down=00, Scrolling Right/up=01, Screen not Scrolling=02 $0066 Part of the level tracker.. $0069 2 byte StairPointer For CurrentSection?
$006b debug cursor value/Door Transition (state 00-09)
$006e 01=SpriteSpeed right FF=SpriteSpeed left. Used when moving.. $006f 2byte Current CameraBGScrolling??
$0071 Camera Look (RoomLeangh) $0072 HudFunction? 00 is bad
$0074 00=Will reset sound when you transition 01 or higher=Will keep playing
$007b Used in DoorTranistion. SegmentLeangth to Scroll new section?
$007e time 00xx $007f time xx00 $0080 01 or more=Trevor Sprite Flicker $0081 Trevor Movment State. x1 above ground, x2 only move right x5 No Colution, x8 Left x9 Right Hurt xe=Cinematic exit X=Amount of Damage and initiate hurt animation.
$0084 hearts $0085 sub-weapon (Trevor) $0086 sub-weapon (Helper) $0087 Double/Triple value (Trevor) $0088 Double/Triple value (helper) $0089 02=refreshes screen somehow? used in paralax i think
$008e whip power up level (Trevor) $008f whip power up level (Helper)
$0098 2byte CurrentPointer Candle/Enemy Table $009a 2byte CurrentPointer Misc Table
$00ae AlucardBatHeartDrain Timer
$00b1 Keeps Track of last action??
$00ce Counter If=05 a subweapon dorps instead of a small heart
$00c7 WaterFreezTimer
$00fc TitelScreen Scrolling Y $00fd TitleScreen Scrolling X $00fe If uneven Greay scale (WindowEffect) $00ff BankSetup
$00e0-$019f MusicEngineRamSetup
$01e4 Pointer?? $01e8-$0312 OAM Sprite Assembly Table
318-3bf Pointers for level setup? 3c0-3c4 Sound Effect
$00bf setting to 0x80 freezes stuff (preparation for death I think)
$00e0 - $0130 Sound Stuff
$400-405 Player Animation $410 Animation CandleStand $412 Animation Candle
$414 SubweaponFrames HolywaterBumerang
$416 Uneven will destored the image at $417 $417 Displays IteamInfront of you??
$418 Hud Subweapon Sprite 50=Holywater $419 Hud ShotMultiplayer Double=58
$41d 6 bytes Crusher Movement
$647 6 bytes Crusher Movement
$658 HitBox Enemy AB (A=1 MinimalDamage F=FatalDamage) (B=Effect 5 Sink 8 and 9 Push)
490 Misc Sprite Address
$4a8 Enemy Movement 00 01
$4bb Wipe Direction 00 Left
$4f3-4f5 Sprite Speed Direction 01=Right ff=Left $509-50b Sprite SubSpeed Direction 00-ff
550-56f Misc Handler
567 Misc rocker assembly and Ai (8627 Routines)
57c-57d AnimationFramesBoss 588-58f AnimationFramesCandles -5a8 5a6 Whip 5aa-5af AnimationIDSprites?? 5b8-4bf AnimationIDCandles??
5c1 Movement directions??Trevor ActionStateUpgrade 5c2 Movement directions??Boss -5c7 Movment Sprites 5ce CandleUpgradeAnimationState 4cf CandleUpgradeAnimationState 5d0-5d7 MovmentBehavier?Candles 5d9-5df (FreezTimer) MovmentBehavier?Sprites
5f0-5f2 EnemyActiveState 5fc-601 Candle Content
61e-625 Direction/speed Pendulum
6e0-76f Collusion map
AB A=2x2 block square
B=2x2 block square
0 bg 1 Mud 2 Convire Right 3 Convire Left 4 Crumble Floor (increment c e f 0 ) 5 spike Celling 6 Solid 7 Spike Floor 8+ seems do be solid till c
Collution pointers Collusion data 4a3 Stile offset range?? donno
$07f6 01=expert mode
$07f8 - $07ff Player name
$800 Mirror ZeroPage
SpiderDavesMap
$0018 mode (07=debug)
$002b paused if 01
$0032 stage A (Level) $0033 stage B (Section) $0034 Stage C (Screen) $0035 lives $0036 points 0000xx $0037 points 00xx00 $0038 points xx0000 $0039 character 1 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) $003a character 2 (ff=empty 00=Trevor 01=Sypha 02=Grant 03=Alucard) $003b character index (00 or 01) $003c life $003d enemy life
$007e time 00xx $007f time xx00
$006b debug cursor value
$0084 hearts $0085 sp weapon (Trevor) $0086 sp weapon (Helper) $0087 Double/Triple value (Trevor) $0088 Double/Triple value (helper) $0089 02=refreshes screen somehow? used in paralax i think
$008e whip power up level (Trevor) $008f whip power up level (Helper)
$00bf setting to 0x80 freezes stuff (preparation for death I think)
$07f6 01=expert mode
$07f8 - $07ff Player name
Castlevania III RAM and ROM offsets (mostly Akumajou Densetsu (J))
http://gmvania.blogspot.com/2012/08/bookmark-this-blog-entry-last-update.html
Debugger File Bookmarks
work in progress