Skip to content

Commit 4a151ba

Browse files
JoeMattclaude
andcommitted
acid: README -- final 52/72 status table + open issues
After three batches of tests + bringup + fixes, sweeps to a stable state worth reviewing. Status table updates from "early scaffolding" to per-category PASS counts, and adds an explicit "real bugs surfaced" section so future fix-PR authors can grab a regression gate from the failing tests. No code change; doc only. Co-Authored-By: Claude Opus 4.7 <[email protected]>
1 parent 6e4697f commit 4a151ba

1 file changed

Lines changed: 37 additions & 15 deletions

File tree

test/acid/README.md

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,43 @@ codes; per-test perf-counter delta dumps when built with
3333
optional -- if absent, the assemble step is skipped with a warning
3434
and only the runner harness is built.
3535

36-
| Category | Tests landed | Notes |
37-
|---|---|---|
38-
| smoke | 1 (PASS) | proves boot stub + signature mechanism |
39-
| timing | 2 (PASS) | VC advance + frame-rate estimate |
40-
| irq | 1 (NOT-RUN-YET) | IRQ raises but 68K vector path likely broken |
41-
| blitter | 1 PASS + 1 NOT-RUN | smoke OK; copy round-trip incomplete |
42-
| memory | 0 | next |
43-
| gpu | 0 | next |
44-
| dsp | 0 | next |
45-
| op | 0 | next |
46-
| bus | 0 | next |
47-
| hle-vs-bios | 0 | next |
48-
| quirks | 0 | next |
49-
| stress | 0 | next |
50-
| perf | 0 | next |
36+
**52 / 72 tests PASSing across 13 categories.** Failures and
37+
NOT-RUN-YETs are intentional documentation of known emulator gaps.
38+
39+
| Category | Tests | Pass | Open issues surfaced |
40+
|---|---:|---:|---|
41+
| smoke | 1 | 1 ||
42+
| memory | 8 | 8 ||
43+
| timing | 9 | 8 | jerry_pit_setup: PIT readback returns 0 |
44+
| irq | 9 | 6 | vblank_delivery + jerry_pit_irq + rapid_irq_pump NOT-RUN-YET (IRQ raises in TOM/JERRY per perf counters but never reaches 68K vec-64 handler) |
45+
| blitter | 17 | 4 | 13 SRC-reading tests fail identically; lfu_zero_fill / lfu_one_fill / lfu_invert_src PASS — narrows bug to LFU source-routing |
46+
| gpu | 2 | 2 | — (gpu_basic_run + gpu_reg_access) |
47+
| dsp | 3 | 3 | dsp_mac_accumulator is currently a NOP-loop placeholder; real 40-bit-MAC math is a follow-up |
48+
| op | 3 | 3 ||
49+
| bus | 2 | 1 | blitter_back_to_back: same root cause as blitter category |
50+
| hle | 6 | 6 ||
51+
| quirks | 7 | 6 | divl_zero_traps: DIVS.L #0 doesn't trap to vec 5 (path code looks correct per agent trace; needs investigation) |
52+
| stress | 3 | 2 | many_blits: same blitter root cause |
53+
| perf | 3 | 3 ||
54+
55+
**Real bugs surfaced as failing tests** (each ready as a regression
56+
gate for a focused fix-PR):
57+
58+
1. **Blitter source-data routing** — 13 of 14 SRC-reading tests
59+
fail identically (`observed=0`, perf counters confirm blit ran).
60+
PASS exceptions narrow the bug:
61+
- LFU=$0 (always 0), LFU=$F (always 1) PASS — output ignores SRC
62+
- LFU=$3 (~S) PASS — *anomaly*, suggests bug isn't a flat
63+
"SRC read = 0" but in how SRC routes through the LFU
64+
2. **IRQ delivery to 68K vec 64** — TOM/JERRY raise IRQs (counters
65+
tick), 68K handler never fires. `vector_64_writable` PASSES,
66+
so the vector-write path itself is fine; bug is in IPL ack /
67+
vector fetch. Likely load-bearing for Doom #131.
68+
3. **JERRY PIT register readback** returns 0 despite commit
69+
`1ca2fdc` claiming to fix it.
70+
4. **DIVL zero-divide trap** doesn't fire — tracing in the agent
71+
report suggests the code path is correct but the trap doesn't
72+
reach the handler.
5173

5274
## Layout
5375

0 commit comments

Comments
 (0)