Five-game startup support gap analysis

Release metadata checked against GitHub main at 6c769738 on 2026-10-29. The latest published release remains v3.0.419 (published on 2026-10-28 from tag commit 71bf83b2). Current main is newer than that release and its source is not included in the published packages. Verification Actions run 40807507592 for current main completed successfully. The release workflow verifies packaging, not gameplay startup. Since v3.0.419, commit 01cc1181 aligned DM1 Atari ST multi-member 7z required-file receipts with the AUTO-selected launch edition. The focused virtual-start test and authentic Atari ST 1.1, 1.0b and 1.0a CLI tests passed; these verify the named source owners and routes, not every Atari edition or complete game parity. Current main also extends real-media Swedish startup-debug localization checks to DM1 PC34, CSB FM Towns, and DM2 FM Towns. Those focused tests check explicit and saved Swedish preferences, localized scan labels, authentic edition selection, and the boot-probe boundary; they do not establish full startup or gameplay parity. Current authentic-media CLI routes include DM1 PC34, DOS, Atari ST, Amiga and FM Towns; CSB Atari, Amiga and FM Towns; DM2 DOS English/French, Macintosh English/French, FM Towns Japanese and Amiga English; and Theron’s Japanese Rev. 1 title-to-Akutuba plus US Continue to dungeon 2, level 0. The new dm2_v1_mac_extracted_native_cli_boot regression records direct CLI and M12 startup of DM2 Macintosh English from extracted original files to first runtime; the .sit container itself is not unpacked by the ZIP-only CTest. The authentic French DM2 DOS ZIP now resides under the standard ~/.firestaff/data/dm2 root, and its native CLI/M12 CTest passes with the default archive path. CTest also accepts a custom FIRESTAFF_DM2_DOS_FR_ARCHIVE path. The DM1 Amiga demo archive also passes its authentic CLI/M12 startup test (tests/test_dm1_v1_amiga_demo_archive_cli_boot.sh) against the original ZIP. The CSB Amiga ZIP/ADF wrapper’s authentic decoder/startup test was rerun on 2026-10-28 and passed direct CLI and M12 startup through the source entrance to authentic movement. CSB Atari French preservation remains unverified. On 2026-10-28, m12_main_menu_game_selection_real_media also passed keyboard and mouse selection/handoff for all five game cards against authentic local media, including default-root launches; firestaff_cli_startup_diagnostics_real_media passed its direct CLI source-resolution and platform checks. Dedicated DM1 Amiga demo, CSB Amiga archive, and extracted DM2 Macintosh English tests also passed their CLI and menu routes. These checks establish only the named startup/handoff bounds. For Nexus, retail New Game input now reaches the hash-verified LEV01.DGN loader and produces a source-bound level-1 (29,47,North) receipt from keyboard and mouse routes; the separate viewport/HUD gates still prevent a playable runtime handoff. These bounded CLI checks use SDL dummy and do not establish native display, physical input, or full gameplay. Recent changes also add authentic Japanese Theron input evidence and Nexus retail reference captures. Ymir reaches the Japanese and English three-choice title menu on cold boot, and a separate Japanese diagnostic New Game replay reaches the native 3D corridor. Firestaff now renders source-bound English and Japanese New Game/Continue foreground sprites and selected Configuration sprites from authentic TITLE.BIN; source-bound mouse selection is verified for the Japanese Configuration row. The shared background/full-screen menu composition is still unbound. The New Game path reaches the authenticated level loader and emits the retail level-1 start receipt, but the viewport/HUD handoff remains fail-closed. Continue/save loading and Configuration destination behavior also remain open, so Firestaff has not entered a Nexus playable level. Replaying the English screenshot from its captured frame is pixel-exact. Its complete VDP1 command trace has 126 informative source matches among 137 textured draws; 11 zero- filled spans are excluded. The source join remains partial, with menu background, full palette/display ownership, and destination execution unproven. Runtime receipts cited below remain tied to their stated revisions unless noted otherwise. The latest Nexus evidence separates raw Japanese DM.BIN placement at 0x06010000 from the older trace-specific static code mapping at 0x06010040. The English-version MENU.BPK has an authenticated hash and is accepted by the regional snapshot analyzer. In the same-session English capture, 86 of 162 surfaces have direct byte matches in VDP1 VRAM, but none of 137 textured commands starts inside those matched ranges. This establishes MENU.BPK residency, not visible-menu ownership. Firestaff’s bounded title renderer instead uses separately verified TITLE.BIN foreground sprites; the shared background and complete display composition remain unbound. The matched Japanese runtime trace now binds a strided zero-fill loop to VDP1 CLUT address aliases, but it does not establish palette upload or ownership. Since the earlier gap review, the M12 platform card now displays a pending deferred scan as SCANNING GAME DATA instead of implying that files are missing. The launch gate still waits for that game’s completed scan receipt. An authentic US Theron keypad test also corrects its expected pose after a backward step followed by KP8; it changes the regression expectation, not game movement behavior. Two additional authentic US Theron cold-start probes reached only the System Card; controller delivery was observed, but no CD interrupt, sector transfer, or title-menu transition was established. This is negative evidence for that bounded route and does not validate or invalidate viewport-click semantics after a game-owned handoff. The repository contains checks against authentic media for all five games, but “available,” “selected,” “handed off,” and “entered a playable runtime” are separate states. The current evidence does not establish complete five-game startup support.

2026-10-29 selected-archive return-to-menu checks

The shared real-media return/rescan harness now has a dedicated selected-file case for each priority game. On the current local build, CTest passed 3/3: DM1 PC34 (return_to_menu_rescans_dm1_selected_archive_real_media, 60.20 s), CSB FM Towns (return_to_menu_rescans_csb_selected_archive_real_media, 91.72 s), and DM2 DOS English (return_to_menu_rescans_selected_archive_real_media, 55.36 s). Each case starts from the exact archive path in an isolated data/<game> collection, reaches that edition’s first runtime, returns to M12, and verifies that the scan infers the collection root and sees DM1, CSB, and DM2. The staged links preserve the original archive bytes and, for CSB, the original archive filename: an earlier generic alias produced source=none, so arbitrary renamed CSB-container detection remains unverified. Nexus and Theron are not staged in these three focused cases. These receipts prove only the named selected-archive startup/return routes and do not establish full platform or gameplay parity.

2026-10-28 clean-main DM1/CSB/DM2 menu retest on TRV2

A detached, clean checkout of main at 3bbcc5cc was configured with BUILD_TESTING=ON, CMAKE_BUILD_TYPE=Release, and the TRV2 ~/.firestaff/data root. The target app built successfully with at most two compile jobs. The in-scope original-media test selection passed 3/3: m12_main_menu_dm1_only_real_media (123.92 s), m12_main_menu_csb_only_real_media (126.55 s), and m12_main_menu_dm2_only_real_media (132.67 s). Each covers that game’s no-game M12 card selection and FM Towns handoff against its installed original Japanese/English archive. The DM1 archive SHA-256 was c0c940e6e7c056998ce592c343f2817fabe071b05779fce305e7d927aa6721f3, CSB was 54b40c1fd0b18ca2df1dbcd70c6cb07fb0333d540b99f8108b1fca84aa192b88, and DM2 was ed68fd6dc0072d7da9e29f87049fecf50da4414b938b140bcfdda5b9d5e69708; all three hashes matched before and after testing. These bounded SDL-dummy checks establish only the named card-to-owner startup routes, not physical display/input, native presentation, or complete platform parity.

2026-10-28 DM2 FM Towns debug trace follow-up

The first local run of the combined startup-diagnostics script failed its TWANIM frame-trace assertion: the normal direct --game dm2 --debug route completed the authenticated 225-frame sequence in 26,211 ms, but catch-up batches hid some intermediate source states from the debug log. The trace now records each DM2 FM Towns source state as its Timer-A tick is consumed. The new focused dm2_v1_fmtowns_debug_source_frame_trace_real_media CTest passes against the installed original Japanese FM Towns ZIP and records every displayable source-frame index and completion without boot-probe fast-forward. This closes the debug trace gap only. The runtime may still skip presenting intermediate frames during scheduler catch-up; native display parity remains unverified.

2026-10-28 current TRV2 no-game menu follow-up

The Debug build from this worktree ran against the currently installed ~/.firestaff/data corpus. m12_main_menu_game_selection_real_media passed the default FM Towns launch handoffs for DM1, CSB, and DM2, plus DM1 PC34 and Atari ST selection, before its exact DM1 Amiga 2.0 archive assertion failed. The separately installed Dungeon-Master_Amiga_EN.zip HD package authenticates as DM1 Amiga 2.0 and passed both direct CLI startup and a no-game M12 keyboard selection to the amiga20-en handoff. The currently staged Dungeon-Master_Amiga_EN_Version-20.zip copy on TRV2 did not pass its direct CLI check; its digest and host-specific failure are recorded in TODO-dm1.md. This is distinct from the current local archive copy and must not be generalized to it.

DM1 Amiga 2.0 local archive verification

On the local host, the current archive has SHA-256 f2b76bb9a818590ee84db37e4bbb5fa84ce0fb93e3f2135807b70c0545fb6ec9. A fresh Debug firestaff build launched its exact nested retail ADF from direct CLI and M12. test_dm1_v1_amiga_v20_archive_cli_boot.sh passed the authenticated CLI, Quick Resume, menu, title, entrance-door, and movement checks. The in-memory test_dm1_v1_amiga_graphics_dat passed 116/116 checks after its save test setup was corrected to represent the Amiga big-endian target profile. The boot probe identified the expected Amiga 2.0 English graphics MD5 and reported levelLoaded=1; the test also confirmed the original archive hash was unchanged. The different TRV2 archive hash (6977b1042769c0f6ea22cb42fa7308ed609242dc0eeebd1e00d68660bdb37e2b) still needs its own reproduction before that host-specific failure can be resolved or attributed to runtime code.

With the standard per-user data root, the launcher scan completed with all five games marked available. Keyboard selection then handed off Nexus Saturn from the original nexus/DM.BIN and Theron PC Engine from the original theron/TQUS02.bin. Together with the preceding DM1/CSB/DM2 menu handoffs and the separate authentic Amiga HD handoff, this verifies tested menu selection and source handoff for each game in this corpus. These exits occur at the handoff boundary; they do not establish complete gameplay. Nexus still lacks the viewport/HUD receipts required for a playable-level handoff, and SDL dummy does not verify native display or physical input.

2026-10-28 local and TRV2 real-media retest

Targeted DM1/CSB/DM2 regression follow-up

After main reached 744ac459, a local Debug build ran a seven-case real-media CTest selection covering DM1, CSB and DM2 only. Six tests passed: the DM1, CSB and DM2 M12 card-to-runtime routes, the DM2 Amiga M12 runtime, the DM1 PC-34 CLI/input matrix, and the CSB Atari STX CLI boot. The DM1 PC-34 test passed in 477 seconds and exercises more than startup, including source menu interaction, HoC actions, inventory/champion input and debug performance telemetry. The French DM2 DOS CLI test was marked Skipped immediately by CTest in this build; this run therefore adds no French DOS result. The test selection completed in 1,081.53 seconds. The run was on the local macOS host, not trv2. AGENTS.md requires the dedicated trv2 host for large test selections, so this run is noncompliant and is retained as an exploratory observation only; it is not accepted validation evidence. Its SDL-dummy results do not establish native display/GPU behavior or complete gameplay parity.

Accepted TRV2 rerun: the same seven-case selection was rebuilt and rerun on the dedicated TRV2 host using PR #180’s code revision 55122af6. Six tests passed on TRV2: the DM1, CSB and DM2 M12 card-to-runtime routes, DM2 Amiga M12 runtime, DM1 PC-34 CLI/input matrix, and CSB Atari STX CLI boot. The DM1 PC-34 matrix took 700.23 seconds; the full selection took 923.43 seconds with at most two tests running concurrently. The French DM2 DOS test skipped because its authentic archive is not present on TRV2. These SDL-dummy results verify only the named scripted routes, not native display/GPU behavior or full gameplay parity.

The installed DM2 Macintosh English StuffIt archive was recovered from the user’s Downloads folder and its SHA-256 matched the preservation listing. The archive is retained under ~/.firestaff/data/dm2; its original files were extracted, preserving the source bytes, to dm2/mac-en/Dungeon Master II. Firestaff does not discover the .sit archive itself during a normal collection scan, but it does discover the extracted DMFiles directory. A direct --game dm2 --platform mac run against that directory completed the authentic title movie, loaded a level and entered the first runtime frame with real assets and no core fallbacks. A one-frame boot probe also confirmed the retail edition identity and selected graphics source. The later dm2_v1_mac_extracted_native_cli_boot regression records both direct CLI and M12 startup to the first runtime using the extracted original files, and checks that the original media is unchanged.

The local real-media diagnostics script passed its five-game collection scan, bare --game selection checks, DM1/CSB/DM2 priority-platform selection, and the exercised startup-debug traces. Its dedicated DM2 Mac archive subsection was skipped because that script expects a regular ZIP file. The dedicated extracted-files regression covers the direct CLI and M12 routes, while the .sit container itself remains outside the ZIP-only archive test. This local run does not close the Nexus playable-start gate or establish native display/input or full gameplay parity.

The missing DM1 Amiga playable demo was recovered from the user-provided PlanetEmu reference. The SGT ZIP contains a bootable ADF; after unpacking its filesystem, graphics.dat and DemoDun.dat matched the expected authentic MD5 values (491ca939f9abb33ceeb26619b841fe91 and 78848e1a2d3d5a11e5954deb8c7b772b). Direct Amiga CLI startup and the M12 menu both selected amiga-demo-en and reached the loaded runtime. The original ZIP is preserved in the DM1 data folder. A Firestaff-compatible flat ZIP was made from the unchanged original graphics.dat, DemoDun.dat, and swoosh files; archive and loose-file CLI/M12 coverage then passed with the expected hashes. No game data was synthesized.

That run exposed a test portability issue: APFS returned the selected source path as GRAPHICS.DAT, while the regression expected graphics.dat. The test now compares the path case-insensitively; the game/file identity remains the assertion. The authenticated Amiga demo archive/loose-file CLI and M12 test passes after this correction.

DM1 Amiga 2.0–2.2 startup recheck

The authentic Amiga software archive exists at ~/.firestaff/data/dm1/Game,Dungeon_Master,Amiga,Software.7z, but the local build initially lacked the test_dm1_v1_amiga20_french_startup_real_media probe executable, so CTest marked the German 2.0, French 2.0, and English 2.1/2.2 routes skipped before reading the archive. After building that target, all three skip-safe CTests passed against the original archive:

The tests create their ZIP wrappers only in scratch from bytes read from the original archive; the original archive is not modified. The Amiga 2.0 M12 regression also now spaces its scripted menu inputs across M12 frames and allows 10 seconds for the launch, avoiding the earlier no-launch flake. That targeted regression passed twice after the adjustment. These are bounded startup receipts and do not establish native Amiga display/input or full campaign parity.

DM1, CSB, and DM2 CLI/M12 sweep

The 2026-10-28 local sweep used the installed authentic archives and extracted original files. It exercised SDL-dummy CLI and M12 routes; it did not use synthetic game data or establish native display/input parity.

Missing helper executables explain local CTest skips when the corresponding source archives are present; build the named helper target before treating a skip as absent media. The DM2 French test’s CMake cache option FIRESTAFF_DM2_DOS_FR_ARCHIVE keeps the standard game-data directory as its default and allows another authentic archive path when needed. The French CSB Atari archive remains unavailable locally, so that route is still unverified. The local test matrix proves only the listed startup/handoff paths; it does not close the reported renderer, HUD, audio, physical-input, or full-gameplay gaps.

Route matrix

Game Direct CLI evidence Main-menu evidence Current startup result
DM1 Current-source authentic-media CLI routes pass for PC34 (including a nested archive), DOS English/French, Atari ST 1.0a/1.0b/1.1/1.2/German/French, Amiga HD/2.0/2.0 German/2.0 French/2.1–2.2 English/3.6, FM Towns, and the playable Amiga 2.0 SGT demo ADF, exercised through its extracted originals and a Firestaff-compatible ZIP made from those unchanged files. The picker test covers keyboard and mouse handoff; the demo-specific M12 route selected authentic amiga-demo-en media and reached its loaded runtime. The mixed-media AUTO route enters through the no-game menu and reaches its authentic first runtime frame. First runtime is verified for the named media routes, but native display/input, campaign depth, and full edition parity remain open. See TODO-dm1.md.
CSB Current-source authentic-media CLI routes pass for Atari STX, original Atari, nested Atari ZIP, Atari Utility Disk 7z/Hint Oracle, Amiga A31E/A33M/A35E/CTRaw, and FM Towns English/Japanese. The Atari French archive is absent. The picker test covers keyboard and mouse handoff; the runtime test checks the authentic starting party and viewport receipt. First runtime is verified on bounded routes. In Amiga CSB, F0107 now uses source MEDIA720 scales and authentic Amiga C696 anchors for M615 ornaments; matched-frame, palette/light, trapdoor and platform-wide viewport parity remain open (evidence and remaining gap). Native physical input remains open.
DM2 Current-source direct CLI routes pass for the original DOS English archive and the French DOS ZIP, Macintosh French SIT media, FM Towns Japanese, and Amiga English ZIP. The authentic Macintosh English extracted-files regression covers CLI and M12 startup to first runtime; the .sit container itself is not unpacked by the ZIP-only archive test. The picker test covers keyboard and mouse handoff for PC and FM Towns Japanese; Amiga has a no-game M12 runtime test; the new Macintosh English regression also covers extracted-file M12 launch. First runtime is verified on bounded routes, including DOS English/French, Macintosh English/French extracted/original media, FM Towns Japanese, and Amiga English. Physical input, native presentation and full edition parity remain open (TODO-dm2.md).
Theron Authentic Japanese Rev. 1 Track 02 reaches the native title → stage → Soul Room → Akutuba runtime route. The US Continue path restores an authentic save and reaches dungeon 2, level 0; all seven dungeon sources load from authentic regional media. The picker test covers keyboard and mouse handoff; the runtime test checks a loaded authentic Track 02 state. The US no-game M12 route and Japanese Track 02 SDL test exercise authentic startup/input paths. Tab champion cycling and Z/X/Space exercise keyboard actions on authentic USA Track 02; the Japanese Track 02 SDL test covers swipe-up movement and swipe-left turning. The authentic US raw-bin regression checks backward followed by KP8 forward to the source-backed starting square. An authentic USA Ak-Tu-Ba save-state replay under standard PCE confirmed Button I queues $50 at $2905 and the guest consumes it; Button II did not. The save-state capture has no CD-to-RAM provenance and does not bind that dispatch to a world-state change, so it proves command-queue dispatch only. Separate bounded US reference cold starts reached only the System Card; they do not establish a game-owned menu transition. Runtime state, native frames and bounded input routes are reached, but the native dungeon image is not yet driven by the authenticated world/graphics state. A recent nonblack Firestaff capture has not been paired with an original-emulator capture. Later progression, full save semantics, audio and end-to-end parity remain open.
Nexus Direct --game nexus reaches the title with levelLoaded=0. From the M11 retail menu, authentic New Game input now parses hash-verified DM.BIN, loads hash-verified LEV01.DGN, validates (29,47,North), and emits a level-start receipt. The viewport/HUD handoff still fails closed and restores the title, so this is not a playable runtime. Firestaff renders source-bound English and Japanese New Game/Continue foreground sprites and selected Configuration sprites from authentic TITLE.BIN; Japanese Configuration mouse selection is verified. The shared title background and full-screen composition remain unbound. Authentic Ymir cold boots reach the Japanese and English three-choice menu; a separate Japanese retail replay reaches the native 3D corridor after New Game. These are reference captures, not Firestaff gameplay. Firestaff’s M11 New Game route is verified to the loader receipt, but not to a presented viewport. Continue/save loading and Configuration destination behavior remain open. Not startable as a playable game yet. Source-bound menu foregrounds and the retail level-start loader are present; no Firestaff Nexus viewport, HUD, or playable gameplay route is verified. See TODO-nexus.md and NEXUS_STRICT_FIDELITY_INVENTORY.md.

What the existing checks prove

Launcher scan responsiveness

An earlier full-media profile on one Mac16,10 host scanned the installed 425-file / 4.3 GiB collection in 31.13 seconds cold and 11.91 seconds warm with an isolated user cache. A six-second sample attributed substantial work to CSB Amiga 3.1 package admission, repeated ZIP inflation, nested ADF traversal, and later edition matching. Current main reuses a previously hash-verified graphics match only after the same-container program package passes; Amiga 3.1 English also has to pass its startup-media gate, while incomplete candidates retain exhaustive fallback. On the same host, a later current-source scan took 27.86 seconds cold and three warm runs had a median of 8.57 seconds. The focused authentic-media CTests for Amiga 3.5 English and the Amiga 3.1 menu-to-runtime ZIP route passed. The observed reductions are 10.5% cold and 28.0% warm, but uncontrolled OS file-cache state, one host, and one prior timing sample prevent treating them as a general speedup. Full details and limits are recorded in TODO.md.

A 2026-10-26 Debug scan with an isolated HOME/config took 26.84 seconds and reported all five games READY. The standard scan explicitly skipped installed .7z and .rar archives because external archive tools were not enabled, so READY means the required media was found among scanned sources; it does not mean every archive in the collection was inventoried. The OS file cache was not controlled, so this is a single observation, not a cold-scan comparison.

The larger cross-game candidate-index opportunity remains open: m12_fill_game_versions queries each game’s edition hashes separately for each root, and scan-cache hits do not avoid all directory traversal or container admission. Any shared index must retain every edition result, duplicate-file handling, complete/incomplete package admission, same-container ownership and cancellation semantics. Preserve those invariants and the reported launcher delay until a representative multi-edition profile proves a safe reduction. Current main also removes a duplicate direct-root file_md5 call during path collection; the translation unit compiles for both M12 and Nexus, but its runtime impact has not been measured. A current-main TRV2 scan against authentic media confirms all five required profiles are found, but skips some external-only archives. Two same-source warm A/B attempts to remove redundant hash work produced identical reports and no measurable speedup; the details and limits are recorded in TODO.md. See the version pass in asset_status_m12.c and traversal/cache logic in asset_find_by_hash.c.

The generic fast-candidate pass writes to output arrays that the following asset_find_all_by_md5_list call clears on entry, so it currently warms the metadata-validated file cache but does not seed the published inventory. Its configured paths are within the recursive walk’s depth limit, which follows directory links via stat(). A same-source warm A/B scan showed no measurable benefit from removing the pre-pass, so it remains in place pending a broader profile that can justify changes to candidate ordering or cross-game indexing.

The published v3.0.414 macOS arm64 app scanned the installed authentic collection from an isolated HOME/config in 30.08 seconds on the first run; two warm repeats took 9.92 and 9.84 seconds (9.88-second median). All five games were READY. Fourteen .7z/.rar candidates were explicitly skipped because external archive tools were disabled. The OS file cache was not controlled, and scan completion time is not a measurement of time to first menu input. This remains a one-host profile, not evidence of a general speedup or full archive inventory.

Targeted authentic CLI and M12 verification (2026-10-27)

The v3.0.417 macOS arm64 executable was exercised with authentic archives from the external Firestaff data collection. Tests used an isolated data root containing only DM1, CSB, and DM2, with original archives reached through symlinks. The picker test verified that source archive hashes stayed unchanged.

These checks improve confidence in the targeted launcher routes, but they do not establish complete startup parity. Remaining work includes first-runtime verification for every selectable edition, native display and physical-input paths, saved-game routes, and complete game sessions. No Nexus or Theron game was intentionally launched in the isolated rerun.

Latest local real-media menu check (2026-10-27)

The Firestaff executable was rebuilt from the working tree based on source snapshot 88ef19df, then tested with the authentic installations under ~/.firestaff/data/. The M12 game-selection check passed both keyboard and mouse selection for DM1, CSB, DM2, Nexus and Theron’s Quest. It confirmed the source-owned handoff for each selected installation; the test also verifies that source archive hashes remain unchanged.

The separate M12 first-runtime test passed for DM1, CSB, DM2 and Theron US. Theron JP passed its direct native selection route. These checks establish bounded runtime entry for those named routes only. A separate scan reported all five data families as READY, which is a media-recognition result and does not make every route playable.

Nexus selected the authentic Saturn title route but remained blocked at title-vdp-owner-compositor-capture-required (titleReady=1, levelLoaded=0, menu=0). The retail title/menu consumer and its palette/display ownership still lack a source-bound capture receipt, so this result is expected and the launcher must keep its menu/gameplay gate closed. No fallback or synthetic game data was used. The checks ran with original media in place and left its archive contents unchanged.

The same installed-data investigation exposed an edition-isolation gap when extracted Nexus files and more than one Saturn image share a directory. M12 reported the Japanese edition from extracted DM.BIN, while the runtime opened the English CUE as supplemental media. Comparing only DM.BIN does not fix this: the authentic Japanese and English images share that executable, and the focused mouse-launch regression failed after selecting English for the Japanese M12 route. No cross-edition-safe handoff is verified for this mixed directory until the selected edition is tied to a stronger authenticated disc/resource identity. See Nexus TODO.

These results update the earlier isolated rerun above, which did not include Nexus or Theron. They do not establish native window presentation, audible output, full campaign playability or visual parity. Test scripts: tests/test_m12_main_menu_game_selection_real_media.sh and tests/test_m12_main_menu_runtime_real_media.sh.

Remaining startup work

  1. Nexus: join authentic Saturn title/menu presentation, input dispatch, New Game/Continue selection, and the first LEV01.DGN position into one source-bound runtime path. Until that evidence exists, retain the startup gate and do not count menu-card selection as game startup. See nexus_startup.md and TODO-nexus.md.
  2. Theron: bind the authenticated VDC/VRAM/palette data to a state-driven dungeon renderer, then verify the first presented runtime frame and normal input against authentic US and Japanese Track 02 data. See TODO-theron.md.
  3. All games: extend bounded first-runtime receipts across the remaining supported editions and native display/input paths. Keep media discovery, CLI selection, menu selection, M11 handoff, first runtime, and complete gameplay as separately reported milestones.