Porting Test Drive II from SNES to PC, Part 39: Closing the No-Opponent Handoff Into 02:9016

Published: (March 27, 2026 at 01:00 PM EDT)
2 min read
Source: Dev.to

Source: Dev.to

Overview

This checkpoint closes the last front‑end ambiguity in the SNES Select Opponent flow.
The fourth slot was already structurally solved as the stopwatch/clock path. What remained open was whether that path actually promoted into the same downstream gameplay corridor as the regular rival‑car choices, or whether it diverged somewhere after 01:BE43.

Recovered No‑Opponent Path

A callback‑relative probe keyed to the first live 01:C1D2 hit, plus a later be43+17‑22:start confirm, now recovers the no‑opponent path organically through:

L00C20B → 01:C1D2 → L00BE76 → 01:BE43 → L008B87 → 01:902D → 01:9111 → active_main = 02:9016

The important part is that this is not a forced callback lane; it is an organic input‑driven path recovered from boot with timing tied to the live callback surface.

State Differences at the Convergence Point

Both the regular rival baseline and the no‑opponent clock path reach the same later corridor at the same timestamps (active_main = 02:9016), but they do not collapse to the same state:

Path$1C70$1C76
Rival baseline01
Clock / no‑opponent path30

That difference remains visible after both runs have already reached the shared downstream path.

Updated Open Problem

The original open questions were:

  1. How to select the fourth slot?
  2. How to confirm it?
  3. Whether it reaches the gameplay handoff corridor at all?

Now the focus has shifted to a more tractable archaeology target:

What does $1C76 = 0 change after both paths have already converged to the shared 02:9016 corridor?

This pushes the search away from menu‑timing drift and into direct post‑handoff behavior.

The following artifacts were generated for this checkpoint:

tools/out/snes_select_opponent_no_opponent_organic_path.json
tools/out/snes_select_opponent_no_opponent_organic_path.md
snes_play_session_gate.json
snes_selection_state_contract.json
docs/snes_dos_correlation.md
docs/snes_unknowns.md

Next Steps

Capture and compare the first post‑02:9016 gameplay‑facing window for:

  • Default rival path
  • No‑opponent clock path

At this point, the front‑end path itself is no longer the blocker. The remaining blocker is identifying the first runtime‑visible effect of the preserved no‑opponent state.

0 views
Back to Blog

Related posts

Read more »