Skip to content

Commit f04f6bf

Browse files
doublegateclaude
andcommitted
docs(accuracysnes): flag the ~189-dot instrument overhead as unverified
The intercept is real -- A5.19's native arm reads 241 dots at 4 RTIs and 293 at 8, so 13 dots/RTI marginal and an intercept of 189. What is NOT established is that those dots are the instrument. hv_begin does sync to line start, but it stores THAT poll's own reading as the start marker, so the sync sits before the latch rather than inside the delta. What is genuinely inside is hv_begin's tail plus hv_end's head -- on the order of 30 dots. So ~160 are unaccounted for and nobody has measured the empty span. Every shipped result is a differential where the intercept cancels, so none is in doubt. What rests on the 189 figure is the A5.18 parking decision: 341 - 189 leaves ~152 usable and only 3 round trips fit. If the true overhead is nearer 30 the budget is ~310 and 8 fit, which would make A5.18 viable as first designed and its parking wrong. Next step is one five-line test: measure_begin immediately followed by measure_end, recorded to a slot. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 033ca7e commit f04f6bf

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2424
Not fixed. `docs/accuracysnes-plan.md` records the next step and says plainly not to spend further
2525
effort on rows needing an arbiter until it resolves.
2626

27+
Also flagged there: the **"~189-dot instrument overhead"** asserted in the `v1.28.0` assessment is
28+
an *unverified attribution*. The intercept is real (241 dots at 4 RTIs, 293 at 8), but reading
29+
`hv_begin`/`hv_end` says only ~30 dots of it should be inside the delta — the line-start sync
30+
stores its own poll reading as the start marker, so it sits *before* the latch. Every shipped
31+
result is a differential where the intercept cancels, so none is in doubt; what rests on the figure
32+
is the `A5.18` parking decision, which would be **wrong** if the true overhead is nearer 30. One
33+
five-line test — `measure_begin` immediately followed by `measure_end` — settles it.
34+
2735
Separately real: `mesen_crossval.lua`'s `MAX_FRAMES` was **900** against the harness's 1500,
2836
`mesen_scenes.lua`'s 4000 and `libretro_crossval.c`'s 2000. The harness comment naming the budgets
2937
that must move together omitted this file, which is how it was missed. Aligned to 4000 and the

‎docs/accuracysnes-plan.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,29 @@ So nothing is asserted and nothing is recorded. What is known:
455455
The next attempt should start from a scratch build that dumps `$213F` before and after each step
456456
into slots verified unused, rather than from a folded variant that hides where the discrepancy is.
457457

458+
### The "~189-dot instrument overhead" is an unverified attribution (`v1.29.0`)
459+
460+
**Flagged rather than left standing.** The measurement is real: `A5.19`'s native arm reads 241 dots
461+
at 4 RTIs and 293 at 8, so the marginal cost is 13 dots/RTI and the **intercept is 189**. What is
462+
*not* established is that those 189 dots are the instrument.
463+
464+
Reading `hv_begin`/`hv_end` says they should not be. `hv_begin` does synchronise to line start — it
465+
polls `hv_read_raw` until `H < 16` — but it stores **that poll's own reading** as the start marker,
466+
so the sync sits *before* the latch, not inside the delta. What is genuinely inside is `hv_begin`'s
467+
tail after the latch (`sta`/`pla`/`plp`/`rts`) plus `hv_end`'s head before its latch
468+
(`php`/`rep`/`cld`/`pha` and `hv_read_raw`'s ten instructions) — on the order of **30 dots**, not 190.
469+
470+
So ~160 dots are unaccounted for, and the honest position is that nobody has measured the empty
471+
span. **The next step is one test**: `measure_begin` immediately followed by `measure_end`, recorded
472+
to a slot. That number is the instrument's real cost, and it is a five-line test.
473+
474+
**What this does and does not put in doubt.** Every shipped result is a *differential* — `A5.19`'s
475+
16-dot delta, `A5.08`'s penalties, the sweep — and the intercept cancels in all of them, whatever it
476+
is. Those stand. What rests on the 189 figure is the **`A5.18` parking decision**: "341 minus 189
477+
leaves ~152 usable, a `BRK` round trip is 39 dots, so only 3 fit". If the true overhead is nearer 30,
478+
the budget is ~310 dots and **8 round trips fit** — which would make `A5.18` viable exactly as first
479+
designed, and its parking wrong. Measure the empty span before revisiting it.
480+
458481
### The Mesen2 oracle — diagnosed, not yet fixed (`v1.29.0`)
459482

460483
Three `v1.28.0` items ended at "no oracle can arbitrate": `C7.07`'s errata, the scene goldens, and

0 commit comments

Comments
 (0)