DEV Community

Nivando Soares
Nivando Soares

Posted on

Porting Test Drive II from SNES to PC, Part 41: Adding Post-02:9016 Screenshot Review Packs

This checkpoint is about workflow rather than a new semantic decode, but it matters because it changes how the next SNES gameplay question gets closed.

After recovering both the rival path and the no-opponent clock path into the same later 02:9016 corridor, the next open problem became visual: what is the first on-screen difference once both runs are already inside that shared callback family?

The original plan was to push that through the bridge-side guided export path. For this long warmup window, that turned out to be the wrong tool: mesen_ppu_extract timed out while trying to reach frame 1280 on the way to the reviewed window.

So I promoted a simpler surface that is better matched to the actual question: screenshot review packs.

What the new pack contains

Two parallel capture bundles now exist under tools/out/:

  • post9016_default_rival_capture/
  • post9016_no_opponent_clock_capture/

Each one captures frames 2044..2084 from boot, sampled every 4 frames, and includes:

  • PNG screenshots
  • the raw capture_input_log.json
  • a normalized sequence.txt and sequence.json

I also added a direct human-review sheet:

  • tools/out/post9016_compare_questions.md

That note points at matched screenshot pairs and asks only the questions that matter for the current narrowing target:

  • earliest visible divergence
  • radar/HUD difference or not
  • BG vs OAM feel
  • whether the next window should be later or more focused

Default rival review frame

No-opponent clock review frame

Why this is useful

The code-side narrowing is already good: the first shared 02:9016 window keeps the same callback surface and only a small set of state fields still differs.

What was missing was a clean way to ask a human reviewer:

  • do you actually see the opponent here?
  • is the first difference on the radar?
  • is it HUD, BG, OAM, or nothing yet?

This checkpoint turns that into a concrete artifact pack instead of an ad hoc conversation.

Supporting tool

To normalize the screenshot runs into a replay-friendly manifest, I also promoted:

  • tools/build_capture_sequence_manifest.py

That lets the screenshot path behave more like the rest of the archaeology pipeline instead of staying a one-off folder of PNGs.

Next gate

The next step is to use reviewer answers from post9016_compare_questions.md to tie the first visible divergence back to the already narrowed state split inside the shared 02:9016 corridor.

Top comments (0)