re: a title negative that survives its own cross-check
Three earlier "the title never appears" claims came from instruments later found broken -- a stale pixel oracle, a 41 s sampling interval, a freezing stream. This one carries its own evidence. title_probe_xchecked.py restarts its capture stream every 30 s AND prints its reading beside an independent `import` grab every 60 s: 1851 frames in 560.2 s = 3.30 fps cross-checks 9, disagreements 1 max glyph 0 t= 62s stream 6.05 | import 0.07 disagree (a fade, logos mid-transition) t=123s stream 7.40 | import 7.49 agree t=183s stream 8.18 | import 8.29 agree t=243s stream 0.23 | import 0.10 agree t=311s stream 89.68 | import 89.51 agree t=371s stream 80.97 | import 81.58 agree t=426s stream 117.43 | import 117.72 agree t=487s stream 77.71 | import 76.25 agree t=546s stream 70.43 | import 70.55 agree Eight of nine agree within 2%, fps held at 3.30 with no collapse to 1.60, and the surface moved through dark and bright phases. So the frames were live: over 560 continuous seconds from launch, sampled 3.3 times a second, the interactive title's green (A) plate never appears while the game renders throughout. The final frame correlates 0.0145 / -0.0047 / 0.0102 with our title / main menu / EXTRAS renders -- attract-movie content, not a UI screen. Why remains unknown. live-title-press-a.png with its 753 glyph pixels proves the title was reachable from this container on 2026-08-28, and clearing the shader cache fixed the black surface but not this. The two emulator-side questions (gamma control, 8AX vs ptbase) are therefore blocked on a characterised failure rather than a suspicion. Neither blocks the five menu screens, so I am returning to static work; the probe is committed for whoever picks it up. METHOD: a probe that cross-checks itself turns "no result" into a result.
This commit is contained in:
@@ -544,3 +544,10 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the
|
||||
"2 391 frames, zero hits" reads as overwhelming and collapses to nothing once
|
||||
the frames may all be the same frame. Sample count is not evidence of coverage
|
||||
unless the samples are known to be independent.
|
||||
* **A probe that cross-checks itself turns "no result" into a result.** Three
|
||||
successive "the title never appears" claims were withdrawn because the
|
||||
instrument was broken each time. The version that finally held prints its own
|
||||
reading beside an independent grabber's every 60 s — 9 checks, 8 agreeing to
|
||||
within 2 % — so the negative arrives with its own evidence that the frames were
|
||||
live. Building the cross-check into the tool costs a few lines and is what
|
||||
separates a measurement from a silence.
|
||||
|
||||
@@ -223,3 +223,59 @@ single A/B does not exclude run-to-run variation. The old caches are kept in
|
||||
|
||||
❔ **Still no title.** Even rendering, `max glyph 0` — but that number now comes
|
||||
from a stalling probe, so it establishes nothing either way.
|
||||
|
||||
---
|
||||
|
||||
## ✅ A negative I can finally stand behind — measured with a self-validating probe
|
||||
|
||||
**2026-08-29.** Three earlier "the title never appears" claims came from
|
||||
instruments that were later found broken (a stale pixel oracle, a 41 s sampling
|
||||
interval, a freezing stream). This run used
|
||||
[`tools/re-capture/title_probe_xchecked.py`](../../tools/re-capture/title_probe_xchecked.py),
|
||||
which restarts its stream every 30 s **and cross-checks itself against an
|
||||
independent `import` grab every 60 s**, printing both numbers.
|
||||
|
||||
```
|
||||
1851 frames in 560.2 s = 3.30 fps
|
||||
cross-checks 9, disagreements 1
|
||||
max glyph 0
|
||||
```
|
||||
|
||||
| t | stream | import | |
|
||||
|---|---|---|---|
|
||||
| 62 s | 6.05 | 0.07 | disagree — a fade, the boot logos are mid-transition |
|
||||
| 123 s | 7.40 | 7.49 | agree |
|
||||
| 183 s | 8.18 | 8.29 | agree |
|
||||
| 243 s | 0.23 | 0.10 | agree |
|
||||
| 311 s | 89.68 | 89.51 | agree |
|
||||
| 371 s | 80.97 | 81.58 | agree |
|
||||
| 426 s | 117.43 | 117.72 | agree |
|
||||
| 487 s | 77.71 | 76.25 | agree |
|
||||
| 546 s | 70.43 | 70.55 | agree |
|
||||
|
||||
Eight of nine agree to within 2 %, the fps held at 3.30 (no collapse to 1.60),
|
||||
and the surface plainly moved through dark and bright phases. **The frames were
|
||||
live and the negative is real:**
|
||||
|
||||
> ✅ **Measured — over 560 continuous seconds from launch, sampled 3.3 times a
|
||||
> second by a cross-validated probe, the interactive title's green Ⓐ plate never
|
||||
> appears, while the game renders throughout.**
|
||||
|
||||
The final frame correlates **0.0145** with our title render, **−0.0047** with the
|
||||
main menu and **0.0102** with `EXTRAS` — it is attract-movie content, not a UI
|
||||
screen at all.
|
||||
|
||||
## ❔ Why, still unknown
|
||||
|
||||
`live-title-press-a.png` is committed and carries 753 glyph pixels, so the title
|
||||
*was* reachable from this container on 2026-08-28. Nothing found so far explains
|
||||
the change. Clearing the shader cache fixed the *black surface* but not this.
|
||||
|
||||
## Where this leaves the emulator-side questions
|
||||
|
||||
The two open items that need a running menu — the gamma control
|
||||
([tone curve](structures/ui-render-tone-curve.md)) and separating `8AX` from
|
||||
`ptbase` ([8AX](structures/ui-8ax-fullres-background.md)) — remain blocked, now
|
||||
on a well-characterised and instrument-verified failure rather than on a
|
||||
suspicion. Neither blocks the five menu screens. **Returning to static work**;
|
||||
the probe is committed for whoever picks this up.
|
||||
|
||||
Reference in New Issue
Block a user