velxio/test
David Montero 555a4315be test_intel: 8086 + 8259 PIC end-to-end interrupt integration
First test wiring the 8086 CPU to a real 8259 PIC chip on the same
board and proving hardware-interrupt routing works end-to-end:
  IRQ0 input → PIC asserts INT → CPU's INTR pin → CPU runs INTA
  cycle → PIC drives vector 0x40 on AD bus → CPU does do_int(0x40)
  → fetches CS:IP from IVT entry at 0x100 → ISR runs → IRET → main
  resumes from HLT.

Two related chip fixes required to make this work:

1. 8086 INTA cycle no longer drives AD itself.
   Real 8086 INTA bus cycle has the PIC drive the data lines, not
   the CPU. My earlier code did `bus_read_byte(0, false)` which
   first drove AD with addr=0, overwriting whatever the PIC had
   driven. Fix: release_ad → INTA̅ low → sample AD (PIC's INTA
   watcher fires synchronously and drives) → INTA̅ high.

2. 8086 HLT now interruptible.
   on_clock previously early-returned on G.halted, so step()
   never ran and the INTR check never executed. Real 8086 HLT
   wakes on INTR/NMI. Fix: remove the early return; step()'s
   own halted check (later in the function) only no-ops if no
   pending interrupt.

Tests: total test_intel 110 → 111 passing (+1, the integration
test). 0 failed. 11 todo. test_8086 now 11→12 passing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 00:35:09 +02:00
..
autosearch feat: Add support for SSD168x ePaper panels 2026-04-29 22:23:00 -03:00
backend Implement TCP and UDP NAT services for chip-initiated connections 2026-04-29 08:43:41 -03:00
esp32 Fix MPU6050Slave I2C handling and add comprehensive tests 2026-04-09 02:04:41 -03:00
esp32-emulator
…
multi_board
…
multi_board_esp32 feat(multi-board): add wire-aware cross-board interconnect router 2026-04-25 19:47:40 -03:00
pi_arduino_serial
…
test_100_days Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
test_Raspberry_Pi_Pico_W feat(epaper): Add SVG layouts and emulation plan for ePaper panels 2026-04-29 02:33:59 -03:00
test_chip_backend_runtime Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
test_circuit test: update BMP280 chip ID assertions and clarify tagName uniqueness in metadata drift test 2026-04-21 17:31:51 -03:00
test_custom_chips Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
test_custom_chips_boards Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
test_epaper feat: add support for UC8159c (ACeP 7-colour) display 2026-04-30 00:27:40 -03:00
test_intel test_intel: 8086 + 8259 PIC end-to-end interrupt integration 2026-05-01 00:35:09 +02:00
docker-errors-2026-04-19.md docs: add Docker production error report (2026-04-19) 2026-04-19 00:37:07 +02:00