Commit 24fc120
docs: interlace needs a rule
Probed and withdrawn. Two findings.
GOOD NEWS: the recorded Mesen2 nondeterminism is gone. Three consecutive
Mesen2 runs and two snes9x runs of an interlace scene produced identical
results, so "Mesen2 alternates between both field parities run-to-run on
one build" no longer reproduces -- almost certainly the emu.setInput
defect fixed earlier. "Run any field-dependent capture twice per host"
can be retired as the REASON interlace is blocked.
THE BLOCKER: the two hosts emit different WIDTHS for the same interlace
scene. snes9x renders a single field at 256x224; Mesen2 doubles both
dimensions to 512x478. Hi-res worked because both emitted 512 wide and
differed only in height, which HiResEven absorbs by deriving the row step
from the observed height. Here no single (xstep, ystep) pair describes
both reductions, so `extract` as designed -- one declared rule per scene,
every host applying the same reduction -- is insufficient.
ADR 0013 records the three options and argues against the tempting one: a
generic "downsample whatever you get to 256x224" rule would subsume
HiResEven but give up the declared-not-inferred property, and would then
silently accept a 256-wide frame for a scene that must be 512. If
interlace is worth covering, a per-host reduction table is the honest
shape.
Docs only; the probe scene is not in the tree.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>extract cannot express, and Mesen2 is no longer flaky (#326)1 parent 195092c commit 24fc120
2 files changed
Lines changed: 58 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
14 | 32 | | |
15 | 33 | | |
16 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
0 commit comments