gameboy-rust/docs/hardware
0xrsydn 46af481487 feat(memory): retain sequential Thumb IWRAM bus lanes
Track a separate IWRAM latch with known lanes and transactional updates. Sequential Thumb prefetches and IWRAM byte/halfword/word reads and writes drive only addressed lanes. Other regions and host inspection do not replace the latch. Failed instructions discard staged changes.

Keep cold, refill, discontinuous-entry, IRQ, and DMA-transition history conservative. Share Thumb refill classification with nominal timing, including PC writes to fallthrough. Successful DMA and accepted machine IRQs invalidate history; failed DMA preserves it. Document source evidence, bounded scope, and remaining hardware-validation limits.

Add original lane, alignment, mirror/wrap, signed/unaligned-load, mode, block-transfer, rollback, isolation, control-flow, IRQ/DMA, and nominal-cost regressions. Darwin arm64 validation: 905 workspace tests and 836 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 reports and between profiles.
2026-10-06 01:44:21 +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): retain sequential Thumb IWRAM bus lanes 2026-10-06 01:44:21 +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