Difference between revisions of "Cv3/rammap"

From Castlevania Speedrunning
Jump to: navigation, search
(Started ram map for USA version with my own information)
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
== Castlevania III - Dracula's Curse (USA) ==
 
== Castlevania III - Dracula's Curse (USA) ==
 +
 +
 +
<!--> Emty Row
 +
|-
 +
| $0000
 +
| 1 byte
 +
| ??
 +
| ??
 +
</!-->
 +
 +
 +
{| class="wikitable"
 +
|-
 +
! Address
 +
! Leangth
 +
! Type
 +
! Description
 +
|-
 +
| $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".
 +
|-
 +
| $0018
 +
| 1 byte
 +
| State
 +
| mode (07=debug)
 +
|-
 +
| $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.
 +
|
 +
|-
 +
| $0032
 +
| 1 byte
 +
| State
 +
| Stage
 +
|-
 +
| $0033
 +
| 1 byte
 +
| State
 +
| Block
 +
|-
 +
| $0034
 +
| 1 byte
 +
| State
 +
| SubRom
 +
|-
 +
| $0034
 +
| 1 byte
 +
| Ctr
 +
| Lives
 +
|-
 +
| $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??
 +
|-
 +
| $003c
 +
| 1 byte
 +
| Ctr
 +
| Health Player
 +
|-
 +
| $003d
 +
| 1 byte
 +
| Ctr
 +
| Health Boss
 +
|-
 +
| $003e
 +
| 1 byte
 +
| ??
 +
| ??
 +
|-
 +
| $003f
 +
| 4 byte
 +
| Bank
 +
| CHR Bank ??
 +
|-
 +
| $0044
 +
| 2 byte
 +
| Bank
 +
| CHR Bank ??
 +
|-
 +
| $004b
 +
| 4 byte
 +
| Bank
 +
| CHR Bank (switchable without crashing)??
 +
|-
 +
| $003f
 +
| 4 byte
 +
| Bank
 +
| CHR Bank ??
 +
|}
 +
 +
 +
 +
 +
for a simple way to write it down
 
<div style="white-space: pre-wrap">
 
<div style="white-space: pre-wrap">
 +
===SpiderDavesMap===
 +
 +
 
$0018 mode (07=debug)
 
$0018 mode (07=debug)
  
Line 49: Line 166:
  
 
work in progress
 
work in progress
 +
 +
==Info==
 +
 +
===Table Files for editing text in game===
 +
https://datacrystal.romhacking.net/wiki/Castlevania_III:TBL

Revision as of 23:19, 29 June 2019

previous page

Castlevania III - Dracula's Curse (USA)

Address Leangth Type Description
$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".
$0018 1 byte State mode (07=debug)
$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.
$0032 1 byte State Stage
$0033 1 byte State Block
$0034 1 byte State SubRom
$0034 1 byte Ctr Lives
$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??
$003c 1 byte Ctr Health Player
$003d 1 byte Ctr Health Boss
$003e 1 byte  ??  ??
$003f 4 byte Bank CHR Bank ??
$0044 2 byte Bank CHR Bank ??
$004b 4 byte Bank CHR Bank (switchable without crashing)??
$003f 4 byte Bank CHR Bank ??



for a simple way to write it down

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

Info

Table Files for editing text in game

https://datacrystal.romhacking.net/wiki/Castlevania_III:TBL