dwt/tcpip: LAN TFTP client (100.103.255.254) and a verified self-contained fetch + load on the real unit

This commit is contained in:
SDD committed 2026-10-18 17:12:00 +03:00
1 parent efef682b63
commit 09f8607466
3 files changed
+278

No files matched your search

+22
View File
@@ -282,3 +282,25 @@ The LANCE address ROM at bit `0x6800000` reads (low bytes of the words):
byte-identical to the MAME model. The `Ethernet Address ROM Test` passing is
consistent with this.
### Self-contained TFTP loader on the real unit
Retargeted `tftpc.asm` to the LAN (`100.103.255.254:69`) as
`dwt/tcpip/tftpl.asm`; the RRQ name stays `dwt/tcpip/probe.bin` because the
server serves the chosen COFF for any requested name. The DOS 8.3 build name
must be <= 8 characters: `tftpc_lan` silently truncates and GSPLNK produces no
`TFTPC_LAN.OUT`; `tftpl` is safe.
```
server: dwt/tcpip/serve_probe.py 100.103.255.254 --file dwt/loader/build/xhello.coff
RRQ: 100.103.100.103:1036 requested 'dwt/tcpip/probe.bin' (774 bytes)
fetch: sha256 a8b3014d27deb97adcebb418a5d14da51fc3c11559e84923ede72e260d3e7271
loader: status 0, entry 0x01840000, pcb 0x00849a10
app: xhello stage=6 strlen=4
```
Evidence: `dwt/loader/evidence/real-unit-tftp/hostload_tftp_xhello.png`.
This is the first fully self-contained delivery on the real unit: the terminal
fetched the COFF over TFTP into `malloc` memory and ran it in a created
process, with only the rdebug jump used to start the fetch.