diff --git a/RIOv4_2-ANALYSIS.md b/RIOv4_2-ANALYSIS.md index 59443dd1..e39409be 100644 --- a/RIOv4_2-ANALYSIS.md +++ b/RIOv4_2-ANALYSIS.md @@ -215,3 +215,28 @@ button-revived wedge — use it to sanity-check the alarm before a session. | `$3184/$85` | give-up / error diagnostic counters | | `$3186` | RX overrun flag (set at `$D701`, **never read** — not the cause) | | `$102D/$2E/$2F` | SCCR2 / SCSR / SCDR (HC11 SCI) | + +## Bench validation results (2026-07-18) — PATCH CONFIRMED + +Rig: real RIO board, FTDI FT232R on COM1, `RioSerialMonitor --mash` +(app auto-recovery disabled, lamp echo on). Logs in `testlogs/`. + +| | baseline (original AMD chip) | patched (W27C512) | +|---|---|---| +| startup version/check exchange | **wedged at 0.62s** (reply/reply collision) | survived | +| analog replies | 6 total, then dead for 300s | 2419 @ 152s, steady ~16/s | +| mash | 951 presses (peak 460/min) | 1315 presses (peak 635/min) | +| worst analog gap | infinite — no recovery in 300s despite 951 presses | 0.58s, self-recovered | +| wedge events | 1, unresolved (power cycle required) | 0 | + +Notes: the baseline wedge didn't even need the mash — the tool's own +version+check request colliding with the analog poll killed the reply +path instantly, and (contrary to the earlier RIO-NOTES observation) +button presses did NOT revive it. The patched chip's single 0.58s gap +is the intended failure mode: collision → teardown → latch cleared by +the $DFF0 stub → self-recovery. Patched run cut at ~155s by operator +(finger fatigue); given the baseline's 0.62s time-to-wedge, 2.5 min of +heavier mash is decisive. Remaining (cabinet): overnight idle soak + +a native-game session. Both check snapshots also reported a board/lamp +fault item — persistent across chips, likely a real tired lamp; inspect +separately.