gameboy-rust/docs/hardware
0xrsydn 8b0f1a5ead feat(memory): sample Thumb IWRAM refill targets
After successful refill instructions, sample the Thumb IWRAM target and target+2 halfwords to establish bus history. Share ARM/Thumb refill classification with nominal timing. Respect restored instruction state, completed data accesses, region limits, and diagnostic rollback; keep instruction execution and nominal costs unchanged.

Add original regressions for ARM/Thumb BX, Thumb branches and BL, PC writes, stack/block PC loads, status-restoring returns, real SWI/IRQ returns, both target alignments, mirrors/wrap, captured sample ordering, load lanes, failure retention, BIOS isolation, and DMA invalidation. Document official ARM7TDMI refill evidence and the distinction from a full pipeline.

Darwin arm64 validation: 917 workspace tests and 848 core/demo tests per debug/release profile; 39 preparation tests; native ROM windows in both profiles; ten graphics/window smoke modes; fmt, clippy, and rustdoc. Public ARM, Thumb, memory, and BIOS reports remain identical to prior passing results and between profiles. Cold startup, ARM-target refill history, and DMA-to-CPU ordering remain incomplete; no hardware-conformance or commercial-game claim.
2026-10-06 02:04:45 +07:00
..
bios.md feat(memory): retain aligned Thumb BIOS prefetch words 2026-10-06 01:02:31 +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(memory): sample Thumb IWRAM refill targets 2026-10-06 02:04:45 +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(memory): retain sequential Thumb IWRAM bus lanes 2026-10-06 01:44:21 +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