Cv3/rommap

From Castlevania Speedrunning
Revision as of 08:10, 28 July 2019 by Bogaabogaa (talk | contribs) (PRG ROM)
Jump to: navigation, search

previous page

Feel free to do some digging.

PRG ROM

The NES File header (ines hader) need to be added to the PRG ROM. Because the header does not belong to the ROM but is needed for emulators. (+0x10)

More info about the header here: https://wiki.nesdev.com/w/index.php/INES

(all of these here are add 0x10 for header)



Address Leangth Type Description
$0000 1 byte  ??
$3eb9 327 byte FreeSpace FreeSpace till $3fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$7d68 664 byte FreeSpace FreeSpace till $7fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$bec3 317 byte FreeSpace FreeSpace till $Bfff (I tested with a play-through of normal quest. Nor sure if I triggered everything.)
$ff01 255 byte FreeSpace FreeSpace till $ffff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$13deb 533 byte FreeSpace FreeSpace till $13fff (I tested with a play-through of normal quest. Nor sure if I triggered everything)
$17f32 206 byte FreeSpace FreeSpace till $17fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$1bff3 13 byte FreeSpace FreeSpace till $1bfff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$1ffcc 52 byte FreeSpace FreeSpace till $1ffff (I tested with a play-through of normal quest. Nor sure if I triggered everything)
$23f94 108 byte FreeSpace FreeSpace till $23fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$27fed 19 byte FreeSpace FreeSpace till $27fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$2ff91 111 byte FreeSpace FreeSpace till $2ffff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$33676 2442 byte FreeSpace FreeSpace till $33fff (I tested with a play-through of normal quest. Nor sure if I triggered everything)
$37e64 412 byte FreeSpace FreeSpace till $37fff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$3bfac 84 byte FreeSpace FreeSpace till $3bfff (I tested with a play-through of normal quest. Nor sure if I triggered everything)
$3c801 255 byte FreeSpace FreeSpace till $3c8ff (I tested with a play-through of normal quest. Nor sure if I triggered everything)
$3dc19 999 byte FreeSpace FreeSpace till $3dfff (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)
$3ffcb 37 byte FreeSpace FreeSpace till $3ffef (I tested with a play-through of normal quest. Nor sure if I triggered everything I would not use the First FF byte)


Castlevania 3 US PRG ROM by Bogaa


I know this is a Mess but that it is what I am working of right now


43f PointerTableStart CollutioinTilePPUOffset A384 (Expand b9be)There are some to move to expand it. But seems possible. Also you need to move it if you like to use Expanded CHR Banks in levels. (You can just use Expanded CHR for animations..)

4a7 Defenition (Stage 1) 06 B7 02 C0 aa bb cc dd aa=type (solid) bb=offset

9984 F784



Character Swap Timers:

14b5 3c > 01

14d0 4c > 01

311a5 03 > 00 no sound // BadHack



18001 Palette bg Balling Blocks

18da6 Palette falling blocks



1f68b DoorsLocation

DoorFormat: 00 01 01 50 C0 01 aa bb cc dd ee ff

aa=CurrentSubRoom 00

bb=Screen to Trigger on (CameraLock)

cc=Direction to Trigger 01=Right 00=Left

dd=Door1 VerticalLocation Hight

ee=Door2 VerticalLocation Hight

ff=Next Next SubRoom (door will increment Block)

Stage0 1f68b Door 1 00 02 01 B0 B0 00 1f681 Door 2 02 02 01 90 90 01 1f6a7 Door 3 00 02 01 B0 B0 00 FF=NextLevel??Terminator

1f708 Door 01 03 01 70 70 01 Stage 05 03 01

Stage1 1f6ae Door 1 02 01 01 70 B0 00 02 00 01 90 90 00 E0 E0 E0 E0 E0 E0 Unused Doors??


Room Length Number of Screens in 1byte. Before Block/Tile Arrangements (Table can be used to enlarge the Screens or TileBockMap Backups) Doors and bosses/transitions need to be arranged after!

Left/Right changes Block??(DoorResetSubRoom?) up/Down changes SubRoom??

Stage0
200aa 02 Stage 00 00 00 Right	
2013b 00 Stage 00 01 00 Up
20029 01 Stage 00 01 01 Up Vertical 
2016c 01 Stage 00 01 03 Down
201cd 02 Stage 00 01 02 Right
2025e 02 Stage 00 02 01 Down
202ef 02 Stage 00 02 00 Right
20380 03 Stage 00 03 00 Boss
Stage1 (When you go back rooms with Doors have new Tilemap)
20e3c 02 Stage 01 00 00 Up Vertical (Stage 01 05 00) Special Left
21226 01 Stage 01 00 01 Up			(Stage 01 05 01)
21164 01 Stage 01 00 02 right		(Stage 01 05 02) > 21287
211c5 01 Stage 01 01 00 Up			(Stage 01 04 00) > 212e8
20efd 01 Stage 01 01 01 Up Vertical	(Stage 01 04 01)
21102 00 Stage 01 01 02 Right 		(Stage 01 04 02) > 210a0
21133 00 Stage 01 02 00 Up  		(Stage 01 03 00) > 210d1
20f7e 02 Stage 01 02 01 Up Vertical	(Stage 01 03 01)	
2103f 01 Stage 01 02 02 Boss 		(Stage 01 03 02)
Stage2 woods
21c57 02 Stage 02 00 00 Up
21b05 02 Stage 02 00 01 Up Special
219e4 05 Stage 02 01 00 Right
21ce8 03 Stage 02 02 00 Up
21b96 03 Stage 02 02 01 Special Door Right
21da9 00 Stage 02 03 02 Down
21dda 03 Stage 02 03 01 Down
21f5c 00 Stage 02 03 00 Left
21e9b 03 Stage 02 04 01 Down
21f8d 01 Stage 02 04 00 Boss
Stage3 Ship
226c1 01 Stage 03 00 02 Down
22783 01 Stage 03 00 01 Right
22967 04 Stage 03 01 00 Up
228a5 01 Stage 03 01 01 Left
227e4 03 Stage 03 02 00 Up
22722 01 Stage 03 02 01 Boss Medusa
22b1a 02 Stage 03 03 00 Up
22a58 02 Stage 03 03 01 Right
22ae9 00 Stage 03 04 02 Down
22bab 02 Stage 03 04 01 Down Boss
22c3c 00 Stage 03 04 00 Up
Stage4 Tower
236c6 01 Stage 04 00 00 Up
233ff 02 Stage 04 00 01 Up Vertical
23664 00 Stage 04 00 02 Right
23695 00 Stage 04 01 00 Up
23695 03 Stage 04 01 01 Up Vertical
23572 01 Stage 04 01 02 Left
23541 00 Stage 04 02 00 Up
234c0 01 Stage 04 02 01 Up
235d3 02 Stage 04 02 02 Boss
Stage5 NewBank Aqueducts
1c021 01 Stage 05 00 00 Right
1c082 03 Stage 05 01 00 Right
1c143 03 Stage 05 02 01 Down Right
1c204 01 Stage 05 02 00 Up
1c265 03 Stage 05 03 01 Down
1c326 01 Stage 05 03 00 Boss
Stage6 Swamp
1ca1e 03 Stage 06 00 01 Down
1cb70 01 Stage 06 00 00 Right
1cc02 05 Stage 06 01 00 Right
1cd23 01 Stage 06 02 02 Down
1cadf 02 Stage 06 02 01 Down
1cbd1 00 Stage 06 02 00 Boss
Stage 7
1d5e2 03 Stage 07 00 01 Down
1d6d3 01 Stage 07 00 00 Right
1d734 01 Stage 07 01 00 Right
1d48f 00 Stage 07 02 00 Right
1d4c0 01 Stage 07 03 00 Right
1d521 03 Stage 07 04 00 Up
1d36d 01 Stage 07 04 01 Boss Alucard
1d3ce 03 Stage 07 05 00 Up
1d30c 01 Stage 07 05 01 Left
1d21b 04 Stage 07 06 00 Boss BoneKing
Stage8 Sunken City
1e2d3 04 Stage 08 00 01 Down Left
1e3c4 01 Stage 08 00 00 Up
1e1e2 04 Stage 08 01 00 Left
1e121 03 Stage 08 02 00 Up
1df9f 02 Stage 08 02 01 Boss
1df9f 04 Stage 08 03 00 Up Special
1deae 04 Stage 08 04 00 (NoCheckpoint)

Stage9 Cave
1822f 02 Stage 09 00 00 Up
1819e 02 Stage 09 00 01 Left
1813d 01 Stage 09 01 00 Up
1807c 03 Stage 09 01 01 Up
1801b 01 Stage 09 01 02 Boss
Stage A MountainSide
18c85 00 Stage 0a 00 00 Up
18c54 00 Stage 0a 00 01 Left
18bf3 01 Stage 0a 01 00 Left
18bc2 00 Stage 0a 02 00 Left
18b31 02 Stage 0a 03 00 Up
18a40 02 Stage 0a 03 01 Boss SpecialDoor
1885d 01 Stage 0a 04 00 Up Vertical
18e6a 01 Stage 0a 04 01 Up
18e09 01 Stage 0a 05 02 Left
18d78 02 Stage 0a 05 00 Up
18ce7 02 Stage 0a 05 01 Left
18cb6 00 Stage 0a 06 00 Up
188de 03 Stage 0a 06 01 Up Vertical
189df 01 Stage 0a 06 02 Boss
Stage B
1ed3f 03 Stage 0b 00 00 Up



29292 BirdBehavier

2a958 Sub-weapon linker Dagger CandleDrop linker

a288/2e288 Random drop routine

2ea19 DropLinker whip upgrade

2e910 AnimationPattern Physic(skelly)


2e410 Table To Creat new enemy LinkerTable?

Format:??

2efdc Object 32(05 WaveThing)

2efdd BoneThrow Wight 1a (01=Light FF=Heavy)

2fb43 Bone Hitbox X Direction

2fb4c Bone Hitbox Y Direction (152 byte apart)


Zombie x 2fc10 y 2fca8 Red Skelly 2fc23

HitBoxes:

Ghost 2dfe7 Damage and Effect AB (A=1 MinimalDamage F=FatalDamage) (B=Effect 5 Sink 8 and 9 Push)



3d6cc Choose Vertical or Horizontal Scrolling

Every section one byte

00=Horizontal
80=Vertical up
81=Vertical down
82=Vertical up auto
83=Vertical down auto
84=Vertical up StampMove
85=Vertical down ...even number are broken

Candle/Enemy Vertical
2ac34 01....FF (293f5 > 34ac pointer)

29401 > 74AC


Candle/Enemy Horizontal
2949d Events.. (293f1 > 9d94 pointer)

293f9 > E194 293f7 > C594

after	door	293fd > 1195

293fb > f594

after	door	293ff > 2d95 Boss
Format: AABBAABB
AA=Candle
BB=Enemy
AABB=one block long. One Screen has 8 Blocks


Stairs down DEC SubRoom
Staris up   INC SubRoom


323fe Routine Form moving the Fog 49 bytes

32406 00 > 01 Will be very slow like river

Notes:

3d6d2 >00 81

293fb >F594 34ac

ExampleLevel


Enemy Speed Ghost 2d89f Speed/subSpeed UpDown

Description of Tables or Content

0x1730 Effect Table (Fog,noise and animation..)

 Table Format:
 AA BB CC DD
 AA=Stage
 BB=Block
 CC=Segment
 DD=Effect 
 
 CPU Bus 0x7d Holds current effect:
 10 Fog 02 02 01
 11 For 02 03 01
 12 High Fog Stage 0e 00 02
 13 Low Fog Stage 0e 02 00
 20 Animation Only,
 23 0c 01 01 ??
 28 Blinking sprites 
 30 Animation and Sound 05 01 00
 31 Water animation 0d 03 00 
 32 WaterEffect(flicker) -36
 33 06 00 00 Mud
 34 06 01 00
 35 06 01 01
 37 06 01 02
 36 04 02 00 BossRoom
 40 Clocktower Stage 2
 41 Animation and Sound 0d 01 00
 50 08 00 00 Water
 51 Forest Stage 02 01 00 and 05 03 00 Water and 08 01 00 .. 09
 71 Rising Water 08 03 00
 80 Falling Bridge 05 03 01
 81 Falling Bridge 0c

Table for progression

   ChoosePatchTransition
   the pointers to path tables are at 0x29a5 (3 pointers, 2 bytes each)
   the path tables are at 0x29ab, 0x29b4, 0x29ba, 0x2129
   the data in those tables is 010000000000, 020302060001, 070600080000, 0400000500000B00000700010705000900000A00000A00000C00000C00000D00000E
   the table for the area you go to after walking past a big map (not choose a path) is at 0x211d (3 bytes each, not sure how many)
   
   ScreenNames and PointerValue
   00 Start
   05 Restart??
   07 Debugg
   08 Map swamp zyklops
   09 Prayer Screen
   0A-0B PW Screen
   0C-0D Ending
   0E Stage 0
   3e450 0A > 07 Will make name screen debugger screen

If you like to skip the map after stage one:

0x4171 Table of Screens after Boss
00=Map Walking to next section
01=??
02=Choosing Path

Also Needs!!

AfterBossRoomProgressionTable:
1244 Check to send into next Stage (p1218) Format AA BB CC DD
AA=Current Stage
BB=Current Block
CC=Current Segment
DD=Destination after orb grab in that section.

For Stage one you can edit the next level at 0x211D AA BB CC

Timer and some Checkpoints

133cb Timer and some Check points. ab ab ab

a=Timer (hunderd) b=Checkpoint Block

Dracula Checkpoint

3e482 1 > 2 (Needs Testing Still)

MiscTables and how to expand it

A111 TableToEnableMisc (Also Moves MiscPointer)

00=NoMisc
01=Stage 00 01 02
02=Stage 01 00 00
03=Stage 01 00 02
04=Stage 01 01 00
0A=Stage 02 00 00
..

a199 MiscDataPointerTable (You will need to move first pointer and location to make space for more Pointer and have events on more levels)

Format AA BB

AA LowByte CPU bus Address of data location BB HighByte CPU bus Address of data location

BEC3-BFFF FreeSpace 3c800-3c8ff FreeSpace??

Things I would like to research and add

Sprite assembly format and animation format. May be a enemy editing file.

 Trevor Assembly
 34402 Standing 04 E000 00 F8E1020 00 104F801060003E008
 34453 Ducking 04 F000 00F8F102001116F8111800
 Enemy
 352d6 headless Knight

Music Tracker Format and pointers

 ...and a lot more.

The most insight in the game was from Opptomon

  • check his abandon project/notes

http://www.romhacking.net/abandoned/[55]COA-CV3.7z