dwt: trace the bottom diagnostics message box to @0xCB640 and the RAM message table

This commit is contained in:
SDD committed 2026-10-18 17:49:13 +03:00
1 parent 225394e1ae
commit f3d26ad687
5 files changed
+391

No files matched your search

+22
View File
@@ -388,3 +388,25 @@ The build name must be <= 8 characters: `tftpc_real` silently fails (no
Evidence: `dwt/loader/evidence/real-unit-xtext/` (loads, markers, server logs,
screenshots, emulator runs, `xtext_probe.lua`).
### Bottom diagnostics box: live state (2026-10-18, read-only)
The separate bottom X window is owned by the Terminal Manager; its window id is
the global at bit `0xB7C60`. The text is selected from the status mask at bit
`0xCB640` and a pointer list at bit `0x19F150` (20-byte entries, string pointer
at +8 bytes). Live reads, two samples 2 s apart:
```
peek 0xCB640 4 -> 00 00 00 00 mask 0 -> "All Diagnostics Passed"
peek 0xB7C60 4 -> 2d 00 10 00 box window 0x0010002d
peek 0x19F190 4 -> a0 b9 4a 3f list[0] -> 0x3F4AB9A0
peek 0x19F230 4 -> 00 00 00 00 null terminator
peek 0x19FF10 2 -> 00 00 language 0 (English)
peek 0x19E8D0 4 -> 90 b0 4a 3f record 8: "Ethernet Port Error - 24"
peek 0x27C190 4 -> 00 00 00 00 DIAGNOSTIC MAILBOX pointer is NULL
peek 0x3F4AB9A0 -> "All Diagnostics Passed"
```
The mask bit mapping (bit 15 = Ethernet Port Error - 24, bit 8 = Video RAM
Error - 22, ...) was verified dynamically in MAME by setting `@0xCB640` before
the builder at frame 569. Full trace: `dwt/notes/MESSAGEBOX.md`.