You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
acid: comprehensive test set across all 13 categories (19/28 passing)
Builds out the test suite per user direction: write all the tests we
might need now, so future phases can be just closing out bugs and
perf issues found by them. Failures are intentional documentation
of known accuracy gaps.
Tests landed (28 total, 19 PASS / 7 FAIL / 2 NOT-RUN-YET):
memory/ (5 tests, 5 PASS)
ram_byte PASS -- 8-bit RW round-trip
ram_word PASS -- 16-bit RW round-trip
ram_long PASS -- 32-bit RW round-trip
ram_endianness PASS -- 32-bit write reads back as 4 BE bytes
cart_rom_read PASS -- cart at $800000 reads correctly
timing/ (5 tests, 4 PASS / 1 FAIL)
vc_advance PASS -- VC counter changes
vc_per_frame PASS -- VC sweeps once per frame at NTSC rate
vc_field_bit PASS -- bit 11 toggles between fields
hc_advance PASS -- HC changes within a scanline
jerry_pit_setup FAIL -- write $1234 to JPIT1, readback returns 0
(despite commit 1ca2fdc claiming to fix this)
irq/ (4 tests, 2 PASS / 2 NOT-RUN-YET)
irq_clear_works PASS -- explicit CLEAR removes pending state
irq_mask_suppresses PASS -- masked IRQ correctly doesn't fire
vblank_delivery NRY -- TOM raises (counter ticks) but 68K vec64 doesn't
jerry_pit_irq NRY -- same shape: PIT enabled, handler never fires
blitter/ (6 tests, 1 PASS / 5 FAIL)
zzz_smoke PASS -- placeholder; touches no blitter
copy_simple FAIL -- 16bpp 4-px copy: blit runs (perf shows
blitter_calls=1, inner=2, phrase_writes=1)
but dest stays zero -- real bug surface
copy_pix8 FAIL -- 8bpp variant, same symptom
copy_pix32 FAIL -- 32bpp variant, same symptom
multiline_copy FAIL -- 4 lines x 1 phrase, same symptom
pattern_fill FAIL -- PATDSEL only (no SRCEN), same symptom
All five fail identically -- a likely common-mode bug in the
blitter MMIO write path or in our register encoding.
gpu/ (1 test, 1 PASS)
gpu_reg_access PASS -- 68K can write/read GPU work RAM at $F03000
dsp/ (1 test, 1 PASS)
dsp_reg_access PASS -- 68K can write/read DSP work RAM at $F1B000
op/ (1 test, 1 PASS)
op_stop_terminates PASS -- STOP object terminates OP cleanly
hle/ (2 tests, 2 PASS)
hle_post_init_state PASS -- $0804 work-flag = 1, $F03000 GPU auth nonzero
hle_vector_table PASS -- vec 64 ($100), vec 100 ($190) are non-garbage
quirks/ (1 test, 1 PASS)
bsr_long_61ff PASS -- BSR.W round-trip works (BSR.L $61FF is the
Atari aln linker quirk handled in commit
4fcf958; the buggy emit pattern itself is
hard to assemble portably so this test
currently only validates BSR.W as a sanity
gate; a real $61FF emitter is a follow-up)
stress/ (1 test, 1 FAIL)
many_blits FAIL -- 256 successive blits; same root cause as
the blitter category above
perf/ (1 test, 1 PASS)
memcpy_loop PASS -- 1024-long 68K memcpy; perf counter delta
shows the work; useful baseline
Address-range bug found and fixed during bringup: the original tests
used $200000-$208000 for scratch buffers, but Jaguar main RAM is
2 MB ($0..$1FFFFF), so $208000 was open-bus. All buffer addresses
moved to $80000/$90000 (well clear of vectors at $0..$3FF, BIOS
workspace, cart-mode stack, and ACID_BASE at $100000).
Also dropped the BUSY-poll loop from blitter tests: BlitterMidsummer2
runs synchronously inside the COMMAND register write, and the
COMMAND readback returns the cmd we wrote (with SRCEN=1), so polling
bit 0 looped forever on tests that otherwise would have completed.
The 7 FAIL + 2 NOT-RUN-YET cases are real emulator bugs surfaced
(not introduced) by this work:
* blitter-write-doesn't-land -- 5 tests + 1 stress test all fail
identically. Highest-priority follow-up.
* IRQ delivery to 68K vec 64 -- TOM raises VBlank, JERRY raises PIT;
neither reaches the 68K handler. Likely shared with the Doom
timing report (issue #131).
* JERRY PIT register readback -- writes a value, reads back zero.
Refs commit 1ca2fdc which was meant to fix exactly this.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
0 commit comments