Firmware: --e0thresh patch — gate the E0 error display (default N=5)
Stock $D5F2 repaints the cockpit display to the E0 counter readout on the FIRST increment of $3187/$3184/$3185, so one benign give-up shows E0000001 forever. New opt-in make_patch.py edit 5 hijacks the render's LDX #$2038 into a 30-byte cave at $E000: all three counters below N -> exit via the routine's own epilogue (registers restored, display untouched); any >= N -> resume the render. Counters still accumulate. Built + disassembly-verified (not yet burned): RIOv4_2_patched_e0t5.bin (9600) and RIOv4_2_patched_31250v2_e0t5.bin (FastRIO). Docs updated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -104,7 +104,11 @@ also the RIO's **error annunciator**:
|
|||||||
count (`$3185`, `$DA2F`). Each increment site immediately re-renders,
|
count (`$3185`, `$DA2F`). Each increment site immediately re-renders,
|
||||||
so the display live-updates as serial trouble accumulates. If a
|
so the display live-updates as serial trouble accumulates. If a
|
||||||
cockpit's display reads `E0…` instead of `F0000000`, the serial link
|
cockpit's display reads `E0…` instead of `F0000000`, the serial link
|
||||||
has been dropping or retrying.
|
has been dropping or retrying. Note there is **no threshold in stock
|
||||||
|
firmware** — the first event paints `E0000001` permanently; the
|
||||||
|
`_e0t5` patched images (`make_patch.py --e0thresh`, see
|
||||||
|
[RIOv4_2-ANALYSIS.md](../../rio-firmware/RIOv4_2-ANALYSIS.md)) keep
|
||||||
|
the display quiet until a counter reaches 5.
|
||||||
- **`dEAd` crash screen** (`$DAB8`, loop at `$DAB2`) — the TX-ISR ring
|
- **`dEAd` crash screen** (`$DAB8`, loop at `$DAB2`) — the TX-ISR ring
|
||||||
drain (`$D8C2`) looks each outgoing command byte up in an 8-entry
|
drain (`$D8C2`) looks each outgoing command byte up in an 8-entry
|
||||||
dispatch table at `$3158`; an unmatched byte means internal state
|
dispatch table at `$3158`; an unmatched byte means internal state
|
||||||
|
|||||||
Reference in New Issue
Block a user