Cv3/rommap
Feel free to do some digging.
Contents
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