-
-
Notifications
You must be signed in to change notification settings - Fork 4
Therons Quest Technical Reference
Status reviewed 2026-08-08. JP/US Track 02 identity and several loader receipts are real-data verified. Game-owned dungeon handoff, object/level semantics, bitmap/palette binding and packaged-app capture remain open. A separate authenticated Mednafen GUI run now proves BIOS Run-to-Track 02 startup and supplies the original title/menu image; it does not prove the Firestaff
$2600consumer or gameplay semantics. See the startup receipt.
Theron's Quest is a PC Engine CD target. Firestaff accepts original Track 02 media through a strict CUE/BIN handoff and verifies known media identities. It does not assume ISO-9660 files or create a directory from a disc image.
System Card access is record-based relative to a CD base. Official Hu7 layouts compile record constants into the executable, so the final disc has no runtime file directory to enumerate. Firestaff follows observed loader record handoffs rather than filename scans.
The verified JP/US Track 02 chain is:
-
CD_EXECrecord0x0003e7into local RAM at$4000; - a traced stage-two one-sector
CD_READinto local RAM at$3800; - record
0x0004dffor JP and0x0004e0for US; - a payload beginning
BRK $ffwith a bounded$0308envelope.
The resulting 218-entry manifest is structural provenance only. It has no object, level, palette, bitmap, or text meaning until loader control flow proves that meaning.
M12-to-M11 receipts preserve CUE declarations, raw-sector form, known hash, IPL, stage-two record, user-data span, header, and payload hash. Incomplete bitmap or object-table evidence blocks title, Soul Room, Continue, and dungeon entry rather than producing a synthetic route.
Level/object candidates are staged and committed atomically only when every original-data receipt validates. Descriptor proximity and repeated byte shapes are not semantic evidence.
The JP Track 02 champion cluster has a separate source receipt at raw offset
0x0B3D98. It validates eight newline/NUL-framed records against the JP BIN
identity and decodes the A–P nibble fields for HP, stamina, mana, attributes
and skill levels. This is data-format evidence only: the US BIN has no proven
equivalent text consumer, and portraits or live gameplay ownership are not
inferred from the JP records.
SRM discovery validates gzip framing, optional header fields, CRC32, and ISIZE. Opaque original bodies remain unavailable until their layout is correlated with evidence. Firestaff-native export is no-replace atomic, protecting original Save Disk artifacts. Continue itself is transactional and carries the consumed media route mask, checksum, and selected level bank.
Track 02 object-table decode has been extended from level-0/32x27-only to
every level of a dungeon: theron_v1_track02_read_object_table() bounds
records against the real per-dungeon level count
(0..THERON_MAX_LEVELS_PER_DUNGEON-1), and
theron_v1_track02_decode_dungeon_level_object_table() extracts one level's
records from a full-dungeon buffer.
theron_v1_world_apply_track02_object_table_for_dungeon() routes decoded
records to every loaded level of a dungeon. Two object kinds were added to
carry decoded fields: THERON_OBJTYPE_SOUND (ambient sound ID) and
THERON_OBJTYPE_PIT (pit records own their grid position).
theron_v1_transition_execute() implements stairs (validated target level),
progression advance, theron_v1_world_reset_for_dungeon(), and quest-complete
handling at the end of move_party_internal().
cmake --build build --target firestaff_theron_v1_track02_ipl_loader_probe \
firestaff_theron_v1_track02_level_handoff_probe \
test_theron_v1_startup_save_resume_pc34 --parallel
FIRESTAFF_THERON_TRACK02_US_BIN="/path/to/us-track02.bin" \
FIRESTAFF_THERON_TRACK02_JP_BIN="/path/to/jp-track02.bin" \
./build/firestaff_theron_v1_track02_level_handoff_probeOpen technical work remains semantic binding for later loader records, object tables, non-startup levels, original SRM bodies, and packaged-app capture.
For strict CUE/record handling and Stage 2/3 receipts, see Theron's Quest Track 02 Internals.