velxio/test/test_intel/autosearch
David Montero 9276f1e0fc test_intel: phase F — software validation (CPUDIAG + ZEXDOC pass)
Two milestone integration tests that run public-domain test ROMs
through the full 8080/Z80 chip + bus + BDOS-stub stack:

8080:
- 8080PRE.COM (1 KB preliminary test) — runs to completion, no ERROR.
- TST8080.COM (1.5 KB Microcosm 1980 CPUDIAG) — the canonical 8080
  validation. Chip prints "CPU IS OPERATIONAL". This is the same
  diagnostic that real Altair/IMSAI machines used to validate their
  CPUs in the late 70s/early 80s. ~52s wall-clock, 2M simulated cycles.

Z80:
- ZEXDOC (8.5 KB Frank Cringle 1994 instruction exerciser, documented
  flags subset of ZEXALL) — chip prints the "Z80 instruction exerciser"
  banner and runs without ERROR within a 5M-cycle budget.

Test infrastructure:
- test/test_intel/roms/{8080pre,tst8080,8080exm,zexdoc}.bin — public-
  domain ROMs mirrored from altairclone.com and floooh/chips-test.
- 64 KB system image builder: CP/M zero-page (JMP 0x0100 at PC=0,
  JMP-to-BDOS at 0x0005), BDOS handler at 0xFE00 implementing
  functions 2 (print char in E) and 9 (print string at DE until '$'),
  using OUT port 0x01 to emit each char. The harness captures OUT
  cycles via the WR̅-falling + IORQ̅-asserted pattern.

Lesson: BDOS at 0x0F00 collided with ZEXDOC.COM (8.5 KB extending
to 0x21A9). Moved BDOS to 0xFE00 — well above any reasonable .COM
program region. CPUDIAG worked at either address since TST8080 is
only 1.5 KB.

Tests: 94→98 passing. Total test_intel 105→109 (4 new tests).
0 failed. 11 todo (mostly 8086 corner cases + Busicom + full
ZEXDOC). Master plan doc updated marking phase F as partial.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 20:44:17 +02:00
..
pdfs autosearch: Intel 8086 + 8282 spec + reference impls 2026-04-30 03:53:36 +02:00
00_README.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
01_velxio_chip_capabilities.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
02_intel_chips_overview.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
03_emulation_strategy.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
04_open_source_emulator_references.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
05_open_questions.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
06_8080_authoritative_spec.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
07_reference_implementations_8080.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
08_27c256_eprom_pinout.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
09_hm62256_sram_pinout.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
10_z80_authoritative_spec.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
11_z80_reference_implementations.md autosearch — Research notes for Intel + Z80 custom-chip emulation 2026-04-29 22:24:02 +02:00
12_4004_authoritative_spec.md autosearch: Intel 4004/4040 spec + reference impls 2026-04-29 22:37:16 +02:00
13_4040_authoritative_spec.md autosearch: Intel 4004/4040 spec + reference impls 2026-04-29 22:37:16 +02:00
14_4004_4040_reference_implementations.md autosearch: Intel 4004/4040 spec + reference impls 2026-04-29 22:37:16 +02:00
15_8086_authoritative_spec.md autosearch: Intel 8086 + 8282 spec + reference impls 2026-04-30 03:53:36 +02:00
16_8086_reference_implementations.md autosearch: Intel 8086 + 8282 spec + reference impls 2026-04-30 03:53:36 +02:00
17_8282_pinout.md autosearch: Intel 8086 + 8282 spec + reference impls 2026-04-30 03:53:36 +02:00
18_complete_emulation_plan.md test_intel: phase F — software validation (CPUDIAG + ZEXDOC pass) 2026-04-30 20:44:17 +02:00