Cite as
“Castlevania (USA) (Rev 1)”
Licence
proprietary; never redistributed (docs/data-policy.md#roms)
Credit
Konami
Notes
No-Intro "Castlevania (USA) (Rev 1)". NES 2.0 header: 128 KB PRG ROM, CHR RAM, mapper 2 (UxROM), no battery. Without the 16-byte header the SHA-1 is 3dcb69a8c861c041aeb56c04e39adf6d332eda3a.

Cited on

Claims (36)

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.0x1E744-0x1E74B0x1FCA7-0x1FCB10x196E1-0x1972C0x19BB5-0x19BC90x1937C-0x193870x1966B-0x196A0Code
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.0x1FA36-0x1FA710x1DA54-0x1DA6E0x1DA8B-0x1DA9F0x1E811-0x1E823Code
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.0x1EBD3-0x1EBFE0x1E89E-0x1E8B4Code
In Simon's standing state, the frame A goes down starts a jump, unless a block is over his head (ceiling-takeoff); the take-off code points his arc at a fixed table and copies the d-pad's Left and Right bits into his direction.0x19376-0x193910x19411-0x1944BCode
Simon's jump rises by a fixed table of per-frame steps, 5, 5, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 0, 1, 0, 0, 0, and 0 px, 36 px in all.0x19B9D-0x19BB40x19B2E-0x19B9ACode
At the table's turn marker the arc routine reverses and reads the same steps backward, negated, so Simon falls the way he rose.0x19B41-0x19B500x19B2E-0x19B9ACode
Once the reversed table runs out, the arc routine moves Simon down 8 px every frame until he lands, so a jump that ends below its take-off point falls at 8 px per frame.0x19B53-0x19B6EVerified
Measured in the game, Simon's standing jump is the same with A held 1, 2, 5, 10, 20, or 40 frames, 36 px high on frame 17 and back on the ground on frame 41.0x19B2E-0x19B9A0x194D5-0x194D9Verified
Measured frame by frame, Simon's standing jump follows the table exactly, from a motionless press frame to a landing 40 frames later.0x19B9D-0x19BB4Verified
Measured in the game, a jump keeps the direction held at take-off, 1 px per frame that way or none, whatever the d-pad does in the air.0x19411-0x1944B0x19489-0x194910x1949E-0x194A6Verified
Measured in the game, Simon walks 40 px in 40 frames, 1 px per frame.0x198AA-0x1991A0x193EE-0x193F3Verified
Simon has no acceleration; each frame on the ground his direction bits are set from the d-pad's held Left and Right, and the move routine shifts him by his speed bytes, 1 px/frame, in that direction or not at all.0x193E9-0x193F30x19825-0x1983E0x198AA-0x1991A0x1C9B5-0x1C9BCVerified
While Left or Right is held, the crouching state, and the standing state on a frame that doesn't start a fall, a stair climb, a whip, a jump, or a crouch, set Simon's facing ($0450) from it, so he turns on the first frame, and crouching he can turn without moving. A frame that starts any of those keeps the facing he had.0x19468-0x194720x19549-0x195940x19411-0x1944B0x1945A-0x194670x193FD-0x194100x1944C-0x194590x193D5-0x193E8Verified
Down on the ground puts Simon in the crouching state 4 px lower, where the d-pad no longer moves him; letting go stands him back up, and that frame he doesn't move either.0x1945A-0x194670x19549-0x19594Verified
The standing state moves Simon before it checks A, so the press frame walks at 1 px/frame; the take-off then fixes the jump's direction from the d-pad held on that frame, and the jumping state moves him 1 px/frame that way or not at all.0x193E9-0x193F30x19411-0x1944B0x19489-0x19491Verified
A jump lands during the jumping state's frame, after that frame's move in the take-off direction; from the next frame the standing state takes the d-pad again, so Simon stops at once or walks at 1 px/frame.0x194EA-0x1950FVerified
Walking off a ledge puts Simon in a falling state that moves him on in his facing direction at 1 px/frame and down 8 px/frame; landing after 8 or more falling frames drops him into a crouch for 16 frames.0x193D5-0x193E80x19767-0x197B60x19802-0x19818Verified
Simon's floor is tested at x−4 and x+4, 16 px below his Y; walls at x+8 or x−8 at five heights from 9 px above to 15 px below it; and a jump needs clear space 19 px above at x−7, x, and x+7.0x19E80-0x19EDA0x19EDE-0x19F890x199A8-0x199FDCode
Each frame, the standing and crouching states test Simon's floor points before they move him or read A; with no ground under either point, they put him in the falling state and end the frame there, so he doesn't move and A isn't read. The frame whose step carries his second floor point past an edge still reads A after the step, so a press on that frame jumps.0x193CB-0x194150x19549-0x19559Verified
Simon has no coyote time. The falling state reads no buttons: A after he walks off doesn't jump, B doesn't whip, and the d-pad doesn't steer, since the direction routine reads the direction the fall's entry wrote from his facing.0x19767-0x1978A0x193D5-0x193E80x19819-0x1983DVerified
Above screen Y 208 and off moving platforms, each falling frame tests the floor at Simon's position before he moves: with ground under either floor point he lands that frame without moving, his Y snapped up to a multiple of 16; otherwise he moves 1 px and drops 8 px. From Y 208 on, the floor test finds no ground.0x19767-0x1978A0x19792-0x197B60x19E80-0x19E850x1976F-0x19773Verified
A wall stops Simon without pushing him out. Before each move, in the standing, jumping, and falling states, the direction routine tests the wall points on the side he's moving toward; if any is in solid ground it clears his direction bits, so he doesn't move that frame and nothing else changes. A jump keeps rising and falling, and moves on again once the points are clear.0x1984E-0x198520x197FB-0x198010x1949E-0x194E90x193E9-0x193F30x19774-0x1977CVerified
From the turn of its table on, the jumping state tests the floor after each frame's step, so a jump lands on any top its floor points meet on the way down, above or below take-off height; the landing snaps Y up to a multiple of 16. Each 8 px frame past the table's end counts in the fall counter the take-off zeroed, and landing with it at 8 or more starts the 16-frame landing crouch. This holds outside stage $0A and when he isn't whipping as he lands (see notes).0x1949E-0x194E90x194EA-0x1950F0x19792-0x197B60x19B53-0x19B570x19428-0x19430Verified
Simon dies when his Y reaches 224 ($E0) in the falling state, before its 8 px drop, or 224 to 239 in the jumping state, at the start of its frame.0x19492-0x1949D0x1977F-0x19784Code
Simon can't jump from under a block on his head. On the frame A goes down, after that frame's walk step, the standing state tests three points 19 px above his center, at x−7, x, and x+7; if any is solid (below screen Y 48), the press is dropped. That frame then runs as one with neither A nor Down: he turns to the d-pad but doesn't crouch or whip, and holding A out from under the block doesn't jump, since only a new press does.0x19417-0x1941B0x199A8-0x199FF0x19468-0x19488Verified
Once Simon is in the air, no ceiling is tested: a block over his head doesn't cut a jump short. The jumping state calls no ceiling test; it runs the direction and move routines, the arc step, and from the turn on the floor test. His head rises into the block on the same arc as in the open, and the block stops him moving sideways only where his wall points meet it.0x1949E-0x194E90x19B2E-0x19B9AVerified
Under a block on his head, a hit doesn't knock Simon back. Outside state 4, whose hit sets only $47 and $5B, the routine that starts the knockback (state 5, a short arc away from what hit him) first runs the take-off's ceiling test; with a block there it puts him straight into the 16-frame crouch (state 9) that also ends a knockback's landing.0x196D1-0x1970A0x196B1-0x196D0Code
Dracula's Curse keeps Castlevania's jump for every character but Grant; the take-off starts the arc at entry 9 of a longer table whose entries from there are Castlevania's 20 rises, 5, 5, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 0, 1, 0, 0, 0, and 0 px, and the 8 entries before it, 6 then 5 px, carry a fall below the take-off height down to 6 px/frame, where Castlevania falls at 8 px/frame once its table runs out.0x19B9D-0x19BB40x19B53-0x19B6ECode
In Dracula's Curse the take-off shared by every character but Grant (the state tables the disassembly labels Trevor's, Sypha's, and Alucard's all point at it; Grant's has its own) sets the horizontal speed to 1 px/frame toward a held Left or Right, or 0, as in Castlevania.0x19411-0x1944BCode
Dracula's Curse turns a hit into a launch, where Castlevania steps a second table; the character is given 2 px/frame up and 1 px/frame sideways and faces opposite to that push (facing left with +1 speed when $90 is nonzero, else facing right with −1), and the hurt state adds 0.125 px/frame² of gravity each frame up to a 5 px/frame fall.0x196E1-0x1972CCode
Simon's Quest replaces Castlevania's step table with a speed and gravity; a jump from the ground takes off at 4 px/frame up, every airborne frame adds 0.21875 px/frame² of gravity, and a fall is capped at 3 px/frame, where Castlevania steps a fixed 20-entry table and falls past its end at 8 px/frame.0x19B9D-0x19BB40x19B53-0x19B6ECode
In Simon's Quest the take-off sets Simon's horizontal speed to 1 px/frame toward a held Left or Right, or 0, and the jumping state reads only B, for the whip, so the jump keeps its direction as in Castlevania.0x19411-0x1944BCode
Simon's Quest turns an enemy's touch into a launch, not Castlevania's table arc; as in Castlevania, Simon is turned to face the enemy and moved away from it, here at 2.5 px/frame up and 1 px/frame back, held in a hurt state for 32 frames that runs the jump's speed and gravity code before he falls normally.0x196E1-0x1972CCode
Simon's Quest sells whips; a paid merchant deal whose index is $18 or above sets the whip level outright from the item, where Castlevania raises it one level per whip that a bonus drops.0x1EBD3-0x1EBFECode
In Super Castlevania IV's jump a held Left or Right adds 0.25 px/frame² toward that side, up to 1.25 px/frame, and with neither held the speed is left as it is, where Castlevania's take-off fixes the direction for the whole jump.0x19411-0x1944BCode
In Symphony of the Night's jump a held direction sets Alucard's horizontal speed to 1.5 px/frame that way at once, turning him if needed, and every jumping frame first slows it by 1/16 px/frame toward 0, so a released d-pad fades the speed out; Castlevania's take-off fixes Simon's direction for the whole jump.0x19411-0x1944BCode