Porting Test Drive II from SNES to PC, Part 38
The previous front-end checkpoint had already narrowed the fourth Select Opponent slot down to a timing problem: absolute-frame right+down windows kept landing before the live 01:C1D2 selection callback.
This pass fixes the tooling instead of guessing more frame offsets.
What changed
validation/mesen_probe_boot.lua now accepts callback-relative input windows through TD2_BOOT_PROBE_TRIGGER_INPUT_WINDOWS.
That lets me express the move as “after the first traced 01:C1D2, press right+down for a few frames, then press start,” instead of pinning everything to unstable absolute frame numbers.
TD2_BOOT_PROBE_TRACE_EXEC_POINTS='c20b=01:C20B,c1d2=01:C1D2,be76=01:BE76,be43=01:BE43,b87=01:8B87,902d=01:902D,9111=01:9111' \
TD2_BOOT_PROBE_INPUT_WINDOWS='1200:start;1280:start;1505-1510:start' \
TD2_BOOT_PROBE_TRIGGER_INPUT_WINDOWS='c1d2+1-6:right,down;c1d2+8-13:start'
The probe JSON now records both the trigger spec and the first-hit frame for each traced exec-point, so the timing proof is explicit in the artifact rather than buried in ad hoc notes.
What the new runs prove
Two bounded runs now close the fourth-slot move organically:
-
v5andv6both hit first live01:C1D2at frame1628 - the callback-relative trigger moves the selector to
$1C70 = 3 - by frame
1642, the run is already atL00BE76with$1C76 = 0 - the long follow-up then reaches
01:BE43at frame1713and stays there through sampled frames2200,2400, and2600
That is the real closure here: the fourth slot is no longer a static read plus a visual clock icon plus a handoff hypothesis. It is now a live, organic selection path.
What is still open
This does not yet prove the later no-opponent gameplay promotion path.
In these v5/v6 runs I intentionally omitted the later confirm start window that had previously advanced the default-rival lane into L008B87 -> 01:902D -> active_main = 02:9016.
So the current negative result is scoped carefully:
- no traced
L008B87 - no traced
01:902D - no traced
02:9016 - but only for this specific callback-relative input program
That shifts the next gate cleanly. The open question is no longer “can I hit the clock slot organically?” The open question is “what later confirm input advances the no-opponent lane after 01:BE43, and does that path converge with the default-rival gameplay corridor or split somewhere else?”
Artifacts for this checkpoint:


Top comments (0)