October 12, 2026 at 12:00:00 AM UTC
smbc: frame-by-frame reference comparison harness
tests/reference/compare.c runs five scenarios — title, attract demo, 1-1 start, walk, jump — each a #37 replay recording plus a baseline 256×240 frame. Strict mode (what make test runs) replays the recording from a fresh reset with the per-frame state hash checked, renders the checkpoint and compares against the baseline pixel by pixel, writing actual/diff images on mismatch. Comparison is at the palette-index level; RGB mapping only exists so baselines and diffs are viewable.
Baselines are self-captured from the port and labelled as such in tests/reference/README.md — they pin current behaviour so regressions are measurable, not proof against NES hardware. The scenario format is replay-driven so emulator-verified captures can drop in later. --update regenerates baselines loudly and manually; never silently re-baseline to hide a regression.
Negative-tested: a one-pixel baseline corruption is caught with the diff output written.
all entries