velxio/test/test_intel
David Montero 8249c9ebeb test_intel: phase B — Z80 ISA polish (CB / DAA / RLD / ADC HL / CPI)
Brings the Z80 from 8080-superset baseline toward ZEXDOC compliance:
- CB prefix: full 256 ops (BIT/SET/RES + RLC/RRC/RL/RR/SLA/SRA/SLL/
  SRL) on r ∈ B/C/D/E/H/L/(HL)/A.
- DDCB / FDCB indexed bit ops with displacement-before-opcode order.
  Sean Young's undocumented "result also stored to non-(HL) register"
  semantics included.
- Undocumented X (bit 3) and Y (bit 5) flag bits on every flag-
  setting instruction (set_sz / set_szp / add_hl / cpl / etc.).
- Z80-specific DAA via N flag direction (Sean Young §4.7 algorithm —
  the canonical ZEXALL-passing form).
- CPI / CPD / CPIR / CPDR with X/Y from (A − (HL) − H) per
  Sean Young §4.2.
- RLD / RRD 12-bit nibble rotates between A and (HL).
- 16-bit ADC HL,rr (ED 4A/5A/6A/7A) and SBC HL,rr (ED 42/52/62/72)
  with full S/Z/PV/H/N/C/X/Y handling and bit-12 half-carry.

Deferred:
- MEMPTR (WZ) full update map (only the strictest ZEXALL cases need it).
- Block I/O instructions' deterministic flags (Phase F polish).
- ZEXDOC ROM integration test (Phase F).

Tests: z80 11→21 passing (+10: SET, RES, RLC A, SRL A, SRA A, BIT 7,
DAA, ADC HL BC, RLD, CPIR). Total test_intel: 64→73 passing, 0 failed.

Master plan doc updated: phase B marked done; phase C starting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 04:44:27 +02:00
..
autosearch test_intel: phase B — Z80 ISA polish (CB / DAA / RLD / ADC HL / CPI) 2026-04-30 04:44:27 +02:00
scripts
…
src
…
test_4004 test_intel: complete Intel 4004 ISA 2026-04-30 03:38:11 +02:00
test_4040 test_intel: complete Intel 4040 new instructions 2026-04-30 03:44:01 +02:00
test_8080 test_intel: phase A — 8080 INTA bus protocol 2026-04-30 04:33:55 +02:00
test_8086 test_intel: status docs for completed chip lineup 2026-04-30 03:59:44 +02:00
test_buses test_intel: Intel 8282 octal latch 2026-04-29 22:51:19 +02:00
test_z80 test_intel: phase B — Z80 ISA polish (CB / DAA / RLD / ADC HL / CPI) 2026-04-30 04:44:27 +02:00
.gitignore
…
00_README.md test_intel: status docs for completed chip lineup 2026-04-30 03:59:44 +02:00
package-lock.json
…
package.json
…
vitest.config.js
…