From 27a592da533b8c8d9dd9ea1e303f6622e2da788f Mon Sep 17 00:00:00 2001 From: Cyd Date: Sat, 18 Jul 2026 00:36:23 -0500 Subject: [PATCH] 31250 bench run: wedge patch holds under retry storm; window is byte-scaled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 127s mash at 31250: zero wedges — but 5655 framing resyncs, duplicate replies (215% of poll slots) and AbandonCount=65 reveal the board's reply ACK-wait scales with byte time: ~5+ms at 9600 (USB beats it, zero framing) vs ~1.6ms at 31250 (USB cannot). All 65 retry exhaustions self-recovered through the patched give-up path — the strongest field proof of the latch fix yet; unpatched firmware would have wedged on the first. Verdict recorded in ANALYSIS.md: cabinets run the 9600 patched chip; 31250 stays a bench branch until the retry window is widened in firmware. Tool: before-snapshot now retries once (can lose the post-DTR boot race, as this run showed); evidence log archived. Co-Authored-By: Claude Fable 5 --- RIOv4_2-ANALYSIS.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/RIOv4_2-ANALYSIS.md b/RIOv4_2-ANALYSIS.md index e39409be..e7791b64 100644 --- a/RIOv4_2-ANALYSIS.md +++ b/RIOv4_2-ANALYSIS.md @@ -240,3 +240,27 @@ 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. + +## 31250-baud bench run (2026-07-18) — patch holds; retry window is byte-scaled + +`testlogs/riomash-patched-31250-20260718-003114.log` (127s mash, FTDI +COM1 @ 31250, latency timer already 1ms): **zero wedges**, but +framing=5655, analog replies at 215% of poll slots (duplicates), and +AbandonCount=65 — a reply-retry storm. Reading: the board's reply +ACK-wait window scales with BYTE TIME, not wall clock. At 9600 the +window (~5+ms) hides USB turnaround entirely (zero framing in both +9600 runs); at 31250 it shrinks to ~1.6ms, which USB cannot reliably +beat, so most replies retransmit and 65 exhausted all 4 retries. + +Two conclusions: +1. **Brutal confirmation of the wedge patch**: 65 trips through the + give-up path in 127s, every one self-recovered ($DFF0 stub). The + unpatched firmware would have latched dead on the first. +2. **31250 needs one more firmware tweak to be clean**: widen the + reply-retry wait (the pacing/limit around the $D90E/$D9BE retry + machine) so the window stays >=10ms of wall clock at 31250. Until + then: cabinets run the 9600 patched chip (validated clean); 31250 + stays a bench branch. Note the duplicate replies also mean the raw + reply rate overstates throughput — unique samples are still capped + by the host's 55ms poll; harvesting the speed needs a faster poll + AFTER the retry window is fixed.