Cite as
“Castlevania II - Simon's Quest (USA)”
Licence
proprietary; never redistributed (docs/data-policy.md#roms)
Credit
Konami
Notes
No-Intro "Castlevania II - Simon's Quest (USA)". NES 2.0 header: 128 KB PRG ROM, 128 KB CHR ROM, mapper 1 (MMC1), no battery. Without the 16-byte header the SHA-1 is 2447d6133573f7ed2cc49dc95b3130427bd4dc35.

Cited on

Claims (11)

Simon's Quest's password packs 10 bytes: 7 of state, the byte FoxCunning labels Simon's level, the day count in BCD, the laurel and garlic counts in 4 bits each (the encoder writes a count above 8 as 8), the bytes labeled body parts, misc items 1, and misc items 2, and the whip level; then the 16-bit sum of those 7 as a check value; then a scramble byte. Hearts are not kept: accepting a password zeroes the bytes FoxCunning labels hearts and experience, sets HP to 48 and lives to 3, and zeroes $30 and $50-$57 (labeled the map type, scene, sub-room, and scroll position), $82 (night), $84, and $85 (the time wait counter and the minute).0x12F31-0x12F710x12E4E-0x12E6D0x12F0B-0x12F300x12D57-0x12DC50x1C429-0x1C433Code
Simon's Quest writes the 10 bytes, 80 bits, as 16 characters of 5 bits each, high bit first, so the scramble byte fills the last 8 bits; the screen draws a value n as tile n + 1 of CHR bank 16, where by the atlas's reading of the tiles 1-36 are A-Z and 0-9. Since the scramble adds up to 4 to characters 1-14, they can show all 36 (computed), and characters 15 and 16 only A-Z and 0-5. On the entry grid, pressing A on cells 0-35 enters that symbol, cells 36 and 37 step the cursor back and forward, and a later cell submits.0x12FD7-0x130E90x12B85-0x12BB20x12B4F-0x12B760x12C09-0x12C360x1C3A4-0x1C3AC0x30020-0x3027FCode
To make a password, Simon's Quest sums the 7 state bytes into a 16-bit check value and takes a scramble from the frame counter: its low 4 bits number one of 16 tables of 14 XOR values, and its low 3 bits pick an add from 0, 1, 2, 3, 4, 1, 2, 3. After packing, characters 1-14 are XORed with the table and then have the add added; characters 15 and 16 carry the add and the table number unscrambled. Since the add follows from the table number, one state has at most 16 passwords (computed).0x12E34-0x12E4D0x12E4E-0x12E6D0x12F0B-0x12F300x13215-0x133370x12EF9-0x12F0ACode
On entry Simon's Quest rejects a password with any of its 16 characters blank. Otherwise it subtracts the add from characters 1-14, XORs them, unpacks the 10 bytes, and accepts only when both bytes of the sum match the 7 state bytes again, the level is below 7, the body-parts and misc-items-2 bytes are below $80, misc items 1 is below $10, the whip level is below 5, both of the day's digits are 0-9, and laurels and garlics are each at most 8. A rejection writes MISS and ENTRY to the screen, plays sound $24, and after 128 frames brings back the ENTER YOUR PASSWORD prompt and returns to input, writing nothing to the entered characters on the way; an acceptance writes ENTRY COMPLETED.0x12D26-0x12D560x12E25-0x12E330x12FB6-0x12FD60x12FA4-0x12FB50x130EA-0x132140x12E6E-0x12EF00x12DC6-0x12DD50x12E0E-0x12E110x12AB2-0x12ACD0x1C9FA-0x1CA130x1CA14-0x1CA2DCode
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.0xC8E9-0xC93A0xC9E6-0xCA1D0x1DFF4-0x1E009Code
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.0xC8E9-0xC93A0xC9DD-0xCA1DCode
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.0x4854-0x48640x1D37F-0x1D3B70xCA1E-0xCA31Code
Simon's Quest keeps a clock of days, hours, and minutes in BCD that advances one minute every 15 frames outside the stopped cases, and when the hour reaches 6 or 18 it starts the day-night transition; a day is 24 hours.0x1D777-0x1D7D90x1CEE8-0x1CEEDCode
In Simon's Quest an enemy placed while it's night starts with double the hit points its level data gives, except a few object types and in the mansions.0x411D-0x415CCode
In Simon's Quest hearts are both subweapon ammunition and money; the knives' routine and a merchant's deal both call one routine that subtracts a BCD price from the heart count and refuses when there aren't enough, and the knives' routine passes it 1 heart, or 2 for one of them.0x1D866-0x1D8A10x1D8E6-0x1D8F40x1EDA0-0x1EDA9Code
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.0x1EDAE-0x1EDB30x1EDFD-0x1EE0DCode