gameboy-rust/docs/hardware
0xrsydn 8360ba4652 feat(memory): add region-dependent Thumb open-bus snapshots
Repeat the mapped PC+4 halfword for Thumb code in EWRAM, palette RAM, VRAM, and ROM. Use the aligned PC+4 word for BIOS/OAM. Keep retained BIOS history separate from current unused-memory reads. Reuse one instruction snapshot without extra data cycles or host/fetch/DMA fallbacks.

Keep IWRAM and 16 MiB region-crossing fetches diagnostic until prior bus history is modeled. Add original regressions for regions, alignments, mirrors, physical wrap, signed and unaligned loads, block/stack/PC loads, aliases, modes, short ROMs, strict errors, BIOS isolation, and nominal device progression. Record documented rules and remaining limits.

Darwin arm64 validation: 890 workspace tests and 821 core/demo tests in each of debug and release; 39 preparation tests; native ROM windows in both profiles; ten window/graphics smoke modes; fmt, clippy, and rustdoc. Public ARM, Thumb, memory, and BIOS reports remain identical to previous passing results and between profiles. No physical-hardware or independent public Thumb open-bus conformance claim.
2026-10-06 01:26:08 +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): add region-dependent Thumb open-bus snapshots 2026-10-06 01:26:08 +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(power): implement keypad-wake STOP and BIOS Stop service 2026-10-05 18:28:23 +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