velxio/test
David Montero ab90bd7618 test_intel: complete Intel 4004 ISA
All 46 4004 instructions implemented per MCS-4 manual ([M4] Table V):
- ALU: NOP, INC Rn, ADD/SUB Rn, LD/XCH Rn, IAC/DAC, RAL/RAR, CMA, CMC,
  STC, CLB, CLC, TCC, TCS, DAA, KBP
- Memory/IO: SRC Pn (no-op stub), I/O group (WRM/WMP/WRR/WPM/WR0..3,
  RDM/RDR/ADM/RD0..3, SBM) all decoded; RAM-side effects stubbed
  pending real 4001/4002 chips
- Control flow: JUN (12-bit jump), JMS (push+jump), BBL (pop+ACC),
  JCN with full C1/C2/C3/C4 condition logic, ISZ in-page branch,
  FIM (load reg pair), FIN/JIN (indirect via P0)
- DCL: load CMRAM bank select

Plus a Bus4004 helper class in 4004.test.js that mirrors a 4001 ROM
chip — pre-drives D0..D3 with the appropriate nibble during M1/M2,
tracks observed PC via the chip's A1/A2/A3 address-bus drives. This
mechanism lets the test feed arbitrary opcode streams without
needing a separate 4001 ROM chip on the canvas.

5 new ISA tests promoted from it.todo to passing:
- NOP advances PC by 1
- JUN jumps to 12-bit target
- JMS+BBL stack push/pop
- JCN with C4 jumps when TEST is logic-0
- JCN does not jump when condition false

3 it.todo remain: LDM, FIM, Busicom-style integration. These need
accumulator-state observability (a fake 4002 RAM via SRC+WRM) to
test, which is deferred.

Total test_intel: 52 passing (was 43), 0 failed, 25 todo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 03:38:11 +02:00
..
autosearch Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -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 feat: add ESP32 lcgamboa test suite, sketches and firmware binaries 2026-03-14 12:28:40 -03:00
multi_board feat: add multi-board integration tests for Raspberry Pi 3B and backend functionality 2026-03-13 00:15:14 -03:00
multi_board_esp32 feat(multi-board): add wire-aware cross-board interconnect router 2026-04-25 19:47:40 -03:00
pi_arduino_serial feat: enhance AVR USART RX handling with software queue and improve logging 2026-03-12 22:11:06 -03:00
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(epaper): Add SVG layouts and emulation plan for ePaper panels 2026-04-29 02:33:59 -03:00
test_intel test_intel: complete Intel 4004 ISA 2026-04-30 03:38:11 +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