mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-30 12:03:54 +02:00
docs: level-0 I/O test is not honestly satisfiable by any documented device; record why and the only honest route to close it
This commit is contained in:
1 parent
a1e3ebfaff
commit
215fd573db
1 file changed
+15
-4
+15
-4
@@ -77,10 +77,21 @@ instead of reaching level 1.
|
||||
That test wants **10 bytes** on DUART2 channel A and nothing is attached, so this
|
||||
is an honest failure. **It used to "pass" by accident:** the write-back latch
|
||||
returned `0x0099` from DUART2's status register, and bit 0 of `0x99` is `RXRDY` —
|
||||
stuck asserted — so the firmware's drain loop counted ten phantom bytes. An LK401
|
||||
model cannot fix it either (the keyboard's `FD` reply is 4 bytes, not 10). See
|
||||
`reference/level1-test-sequence.md`, where the `0xE1` + 10-byte question was first
|
||||
raised and where it remains open.
|
||||
stuck asserted — so the firmware's drain loop counted ten phantom `0x8C` bytes.
|
||||
|
||||
**It is not satisfiable by any documented device** — see
|
||||
`reference/level0-10byte-puzzle.md`. The routine writes exactly one byte (`0xE1`,
|
||||
"disable auto-repeat", which has no reply), sets `MR2A=0x07` so the channel is in
|
||||
**normal mode, not loopback** (confirmed statically *and* from a live access log),
|
||||
and checks **only the count**: the received byte is stored and never compared, and
|
||||
there is no expected-value table. The keyboard's `FD`/power-up reply is 4 bytes,
|
||||
the mouse's `T` reply is 4, the tablet's 5 — none is 10. A faithful LK401 would not
|
||||
help either: the init sequence's receiver-reset **flushes the FIFO**.
|
||||
|
||||
So no responder will be added. The real terminal *does* pass this test, so the
|
||||
bytes exist on real hardware — they are simply not inferable from the ROM, and the
|
||||
only honest way to close the question is to observe a real keyboard port at
|
||||
power-up.
|
||||
|
||||
### How far the OS gets
|
||||
|
||||
|
||||
Reference in new issue
Block a user