data/claims/castlevania-line.yamlCastlevania (USA) (Rev 1), the rules the later games are compared with, read in the ROM
Game: Castlevania.
When an enemy touches Simon and there's room above him, Castlevania turns him to face the enemy, points his arc at a second, shorter table, and puts him in a hurt state that moves him away from the enemy with the walking move routine while it steps that table; the table rises 3, 3, 2, 1, 1, 1, 1, 1, 0, and 1 px, then holds for 7 steps, 14 px in all. castlevania-line/knockback
About: Castlevania Knockback
Value
[ 3, 3, 2, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0 ]
0x1E744-0x1E74B — bank 7 $E734-$E73B, the contact code the Castlevania-Labelled-Disassembly labels BumpIntoEnemy: play the hurt sound, then call $FC97Castlevania (USA) (Rev 1) · 0x1FCA7-0x1FCB1 — bank 7 $FC97-$FCA1, which switches to bank 6 and calls $96C1Castlevania (USA) (Rev 1) · 0x196E1-0x1972C — bank 6 $96D1-$971C: the take-off's ceiling test ($9998), then the arc pointer from $9BA5, rising, state 5; facing $0450 = 1 (left) unless the enemy's X is at or right of Simon's; direction $3C = (facing + 1) XOR 3, the other wayCastlevania (USA) (Rev 1) · 0x19BB5-0x19BC9 — bank 6 $9BA5-$9BB9, the pointer ($9BA8), a $80 start marker, 17 signed steps ($FD = −3, up), and a $81 turn markerCastlevania (USA) (Rev 1) · 0x1937C-0x19387 — bank 6 $936C-$9377, the state table's first six entries; state 5 runs $965BCastlevania (USA) (Rev 1) · 0x1966B-0x196A0 — bank 6 $965B-$9690, state 5: a short count, then each frame $970B (direction away from the facing), the move routine $989A, and the arc routine $9B1EChecked by claude, 2026-10-21 — disassembled each range in the pinned ROM; the Castlevania-Labelled-Disassembly's labels led from BumpIntoEnemy to $96C1, and its listing matches Rev 1's bytes thereNot measured. The jump's table is 20 steps and 36 px (castlevania/jump-table); this one is the arc routine's second table, so the hit is a small hop with the jump's fall back down.
Cited by: Castlevania
In Castlevania a subweapon throw needs hearts; each of the four subweapons the double and triple shots multiply costs 1 heart and a free slot, the fifth, which starts a 15-count timer instead of a projectile, costs 5, and with 0 hearts nothing is thrown. castlevania-line/hearts
About: Castlevania Weapon energy
Value
{
"projectile": 1,
"timer": 5
}0x1FA36-0x1FA71 — bank 7 $FA26-$FA61, ShootSubweapon in the Castlevania-Labelled-Disassembly: no throw with hearts ($71) at 0; weapon index = CurrentWeapon − 8; index 2 sets a timer $015D = 15; the others with a 1 in the table at $FA62 call $DA44Castlevania (USA) (Rev 1) · 0x1DA54-0x1DA6E — bank 7 $DA44-$DA5E: find a free object slot (as many as the multiplier allows), then hearts − 1Castlevania (USA) (Rev 1) · 0x1DA8B-0x1DA9F — bank 7 $DA7B-$DA8F, index 2's entry in the $DA5F jump table: hearts − 5, or no use if that goes negativeCastlevania (USA) (Rev 1) · 0x1E811-0x1E823 — bank 7 $E801-$E813, MultiplierAcquired: the multiplier counts only for weapons $08, $09, $0B, and $0D (indices 0, 1, 3, 5)Checked by claude, 2026-10-21 — disassembled each range in the pinned ROM after following the Castlevania-Labelled-Disassembly's labels (ShootSubweapon, NumberofHearts, CurrentWeapon, MultiplierAcquired)The code doesn't name the weapons, and the atlas hasn't read what the timer at $015D does. Indices 4, 6, and 7 take other paths.
Cited by: Castlevania, Weapon energy
In Castlevania the routine that picks a dropped bonus gives a whip upgrade only while no other special item is out, and only while Simon holds at least 4 hearts with the first whip or at least 8 with the second; otherwise it drops a small random bonus. Picking one up raises the whip level by 1. castlevania-line/whip-drop
About: Castlevania Whip upgrade
Value
{
"level1At": 4,
"level2At": 8
}0x1EBD3-0x1EBFE — bank 7 $EBC3-$EBEE: hearts ≥ 8 and whip level ($70) < 2, or hearts 4–7 and level < 1, spawn bonus type 3 (SpawnWhipUpgrade); else type 0 or 1 by a random bitCastlevania (USA) (Rev 1) · 0x1E89E-0x1E8B4 — bank 7 $E88E-$E8A4, WhipAcquired, which ends with inc $70Checked by claude, 2026-10-21 — disassembled both ranges in the pinned ROM after the Castlevania-Labelled-Disassembly's labels (SpawnSomething, SpawnWhipUpgrade, WhipAcquired, WhipLength012)The routine runs when an object yields a random bonus; the atlas hasn't listed which objects call it.
Cited by: Castlevania, Whip upgrade