TD2 Port Checkpoint: Native SDL Archaeology Demo Timeline
The SDL demo path for the TD2 port is now a real native timeline instead of a
single near-static gameplay seed.
This checkpoint promotes the default launcher into an archaeology-driven demo
tour built from the raw-state artifacts already solved in the repo:
- credits
- attract / Mode 7 windows
- menu anchors
- gameplay anchors
The important constraint is what it does not do:
- it does not use compare mode
- it does not write
PPMorPNGdumps - it does not render from screenshot playback
- it does not run a ROM/CPU emulation path
The default entry point is still:
./port/run_demo.sh
But now that launcher boots a manifest-driven native timeline from:
port/assets/native_demo_archaeology_timeline.txt
Each step loads a design_pack or design_pack_range frame and renders it
through the port's SDL-native SNES-mimetic pipeline from:
raw/vram.binraw/cgram.binraw/oam.binraw/ppu_state.json
Where archaeology already has contiguous frame coverage, the timeline stays
exact. Where the repo only has sparse anchors, the launcher now uses explicit
infer_hold stretches instead of hiding that gap behind screenshot playback.
That makes the current capability demo honest:
- exact frames stay exact
- missing spans are labeled as inferred holds
- the demo still moves across the best proven path in the repo
Another useful cleanup landed under the hood: in demo mode the launcher now
skips optional layers/main_visible.ppm loading entirely. That means the demo
window is no longer just "compare off" in principle; the reference surface is
out of the runtime path altogether.
The on-screen overlay now states the proof directly on top of the SDL frame:
MESEN OFFROM CPU EMU OFFREFERENCE PPM OFFPPM PNG DUMP OFF- active mode / source / callbacks / output resolution
The dedicated launcher smoke also changed accordingly. It now verifies that the
default demo:
- enters timeline mode
- reports the raw-only launcher contract
- advances beyond the first clip under
SDL_VIDEODRIVER=dummy
The full port suite still passes after the change:
make -C port test
What this checkpoint proves
It proves the current archaeology set is already strong enough to present a
moving SDL-native capability demo without falling back to PPM/PNG playback.
What it does not prove yet
It does not prove continuous runtime-owned gameplay or a full native
no-input attract loop. The next content-side job is to replace the remaining
inferred holds and sparse gameplay snapshots with denser raw-state captures or
true runtime-owned frame progression.
Top comments (0)