gameboy-rust/crates/gba-core/src
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 fix(bios): preserve documented protected-read words at firmware exits 2026-10-06 00:45:28 +07:00
cpu feat(timing): break CPU sequential access after DMA 2026-10-06 03:16:52 +07:00
input feat(power): implement keypad-wake STOP and BIOS Stop service 2026-10-05 18:28:23 +07:00
memory feat(memory): retain IWRAM lane effects across DMA 2026-10-06 02:39:17 +07:00
video refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
bios.rs fix(bios): preserve documented protected-read words at firmware exits 2026-10-06 00:45:28 +07:00
cpu.rs feat(timing): break CPU sequential access after DMA 2026-10-06 03:16:52 +07:00
display.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
dma.rs feat(dma): retain per-channel transfer data 2026-10-06 02:18:24 +07:00
input.rs feat(input): implement KEYCNT keypad interrupt control 2026-10-05 18:05:26 +07:00
io.rs feat(dma): retain per-channel transfer data 2026-10-06 02:18:24 +07:00
lib.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
machine.rs feat(memory): retain sequential Thumb IWRAM bus lanes 2026-10-06 01:44:21 +07:00
memory.rs feat(timing): break CPU sequential access after DMA 2026-10-06 03:16:52 +07:00
timing.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
video.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00