gameboy-rust/docs/hardware
0xrsydn 16286e0cbd feat(timing): break CPU sequential access after DMA
Retain one pending non-sequential resume after successful DMA. Apply it to the next nominal non-refill code access and consume it only on successful CPU or IRQ progress. Preserve failed-step atomicity, host and idle isolation, existing refill costs, and WAITCNT ordering.

Add 13 original regressions for ARM/Thumb widths, ROM wait settings, sources, preemption, retries, mixed APIs, idle states, and interrupt timing. Record pinned hardware-test source and emulator evidence without claiming physical-hardware or full-pipeline conformance.

Validated on Darwin arm64: 952 workspace and 883 core/demo tests per debug/release profile, 39 Python tests, native ROM windows, ten window smoke modes, fmt, clippy, and rustdoc. Public ARM/Thumb/memory/BIOS reports remain unchanged.
2026-10-06 03:16:52 +07:00
..
bios.md feat(memory): retain IWRAM lane effects across DMA 2026-10-06 02:39:17 +07:00
cartridge.md feat(testing): add bounded headless ROM suites and JSON reports 2026-10-05 19:41:40 +07:00
cpu.md feat(timing): break CPU sequential access after DMA 2026-10-06 03:16:52 +07:00
display-timing.md feat(desktop): run ROM files in a window with keypad input 2026-10-05 19:22:13 +07:00
dma.md feat(timing): break CPU sequential access after DMA 2026-10-06 03:16:52 +07:00
timers-irq.md feat(power): implement keypad-wake STOP and BIOS Stop service 2026-10-05 18:28:23 +07:00
video.md feat(input): implement KEYCNT keypad interrupt control 2026-10-05 18:05:26 +07:00