Commit Graph

1 Commits

Author SHA1 Message Date
David Montero 8a1d75a96c test_intel: phase C — support chips (partial: rom-1m, 8255, 8251)
Three new bus-device chips, all clean-room from public Intel datasheets:
- rom-1m: 64 KB ROM mapped at 0xF0000..0xFFFFF for 8086 boot. 20-bit
  address bus watch with out-of-range tristate. 16-byte known signature
  pre-loaded at the reset vector 0xFFFF0.
- 8255 PPI: Mode-0 (basic I/O) only; three 8-bit ports with split
  upper/lower port C. Control word parsing for direction setup. Bit
  set/reset and Modes 1/2 deferred.
- 8251 USART: async-mode UART using vx_uart_attach for bit-timing;
  mode word + command word + status interface; TxRDY/RxRDY/TxEMPTY
  status pins; DTR/RTS pass-through. Internal-reset honoured.

Deferred to a follow-up Phase C+:
- 4001 ROM and 4002 RAM (multi-phase 4-bit bus timing requires either
  an external clock-gen chip or Bus4004-equivalent host coordination
  that's only available in the JS test harness today).
- 8253 PIT (6 modes, countdown logic).
- 8259 PIC (ICW init state machine + cascade + INTA cycle).
These are flagged in autosearch/18_complete_emulation_plan.md as
deferred — Phase D (4004/4040 I/O) and the 8259 work depend on them
landing first.

Tests: test_buses 17 → 30 passing (+13). Total test_intel 73 → 86
passing, 0 failed, 17 todo. Master plan doc updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 04:53:31 +02:00