FastRIO v2 bench: CLEAN — ACK-wait widening eliminates the retry storm
192s mash at 31250 with the $D9E7 wait fix: framing 5655 -> 54 (-99.4%), AbandonCount 65 -> +0, duplicate replies gone (215% -> 88.6% of poll slots — identical to the healthy 9600 profile, the structural $D758 drop-gate ratio), zero wedges, counters perfectly flat. The byte-clocked ACK-wait theory is confirmed end to end: disassembly predicted the mechanism, one operand byte fixed it, the wire went quiet. Evidence log archived; results table in ANALYSIS.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -282,3 +282,25 @@ sha256 `420d4cfc6b513651687982a70db2daeecda7bd00a5324321e272f35b95dca753`,
|
||||
25 bytes vs original; re-disassembly diff vs the v1 31250 image is exactly
|
||||
the one CMPA operand line. Expected on the bench: framing 5655 → ~0,
|
||||
Abandon 65 → ~0, wedges 0 → 0.
|
||||
|
||||
### 31250 v2 bench results (2026-07-18) — CLEAN. Byte-clock theory confirmed.
|
||||
|
||||
`testlogs/riomash-patched-31250v2-20260718-110853.log` (192s mash):
|
||||
|
||||
| metric | v1 @31250 | v2 @31250 (ACK-wait $28) |
|
||||
|-------------------|----------------|--------------------------|
|
||||
| framing resyncs | 5655 (~45/s) | **54 (~0.3/s, -99.4%)** |
|
||||
| Abandon delta | 65 | **+0** |
|
||||
| Restart delta | 2 | **+0** |
|
||||
| analog vs polls | 215% (dupes) | **88.6% (no dupes)** |
|
||||
| wedge events | 0 | **0** |
|
||||
| worst mid-run gap | 0.09s (steady) | 0.14s (tail <100ms) |
|
||||
|
||||
The 88.6% delivery ratio equals the healthy 9600 patched profile (87.5%)
|
||||
— the deficit is the $D758 in-flight drop gate, identical at both rates,
|
||||
i.e. structural, not a v2 artifact. Counters perfectly flat: the board
|
||||
never entered retry escalation in 192s. FastRIO is now *clean*, not
|
||||
just survivable. To actually harvest the bandwidth, the next dial is
|
||||
host-side: drop the 55ms analog poll interval (the board now answers in
|
||||
~4.6ms of wire time). Cabinet adoption still gated on game-side baud
|
||||
patches; 9600 patched chip remains the production standard meanwhile.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
== RIO mash test :: COM1 @ 31250 8N1, 300s, chip label 'patched-31250v2' ==
|
||||
lamp echo ON (drives reply/lamp collisions), wedge threshold 2.0s, app auto-recovery DISABLED
|
||||
log: C:\VWE\riojoy\riomash-patched-31250v2-20260718-110853.log
|
||||
firmware: 4.2
|
||||
counters before: RestartCount=0 AbandonCount=0 FullBufferCount=0 [board/lamp faults reported!]
|
||||
|
||||
>>> MASH NOW: two hands, 8 lamp buttons, as fast as you can. <<<
|
||||
>>> Test runs 300s. A wedge alarm will beep + banner. <<<
|
||||
>>> Ctrl+C ends the run early and still prints the summary. <<<
|
||||
|
||||
[ 33.03s] progress: presses=63 (63/min) analog=523 maxGap=0.28s wedges=0
|
||||
[ 63.05s] progress: presses=165 (157/min) analog=1002 maxGap=0.28s wedges=0
|
||||
[ 93.08s] progress: presses=185 (119/min) analog=1481 maxGap=0.28s wedges=0
|
||||
[ 123.11s] progress: presses=347 (169/min) analog=1958 maxGap=0.28s wedges=0
|
||||
[ 153.22s] progress: presses=504 (197/min) analog=2440 maxGap=0.28s wedges=0
|
||||
[ 183.26s] progress: presses=763 (250/min) analog=2919 maxGap=0.28s wedges=0
|
||||
[ 191.98s] operator stop (Ctrl+C) — ending run, snapshotting counters...
|
||||
|
||||
== MASH SUMMARY [patched-31250v2] ==
|
||||
run : 191s on COM1, lamps on, wedge threshold 2.0s
|
||||
firmware : 4.2
|
||||
presses/releases : 775 / 775 (241 presses/min)
|
||||
analog replies : 3076 (~3472 poll slots; 88.6%), sentinels 0
|
||||
framing / NAK : 54 / 5
|
||||
gap histogram : <100ms:3068 100-250ms:5 250-500ms:2 0.5-1s:0 1-2s:0 2-5s:0 >5s:0
|
||||
longest gaps : 0.30s@192.0s, 0.28s@1.8s, 0.14s@57.2s, 0.13s@107.8s, 0.12s@98.5s, 0.11s@130.9s, 0.10s@165.4s, 0.10s@24.5s, 0.10s@151.9s, 0.10s@167.4s
|
||||
wedge events : 0
|
||||
counters before : RestartCount=0 AbandonCount=0 FullBufferCount=0 [board/lamp faults reported!]
|
||||
counters after : RestartCount=0 AbandonCount=0 FullBufferCount=0 [board/lamp faults reported!]
|
||||
counter delta : RestartCount=+0 AbandonCount=+0 FullBufferCount=+0
|
||||
verdict : PASS — no wedge; compare gap histogram + counter delta to baseline
|
||||
log file : C:\VWE\riojoy\riomash-patched-31250v2-20260718-110853.log
|
||||
Reference in New Issue
Block a user