gameboy-rust/docs/hardware
0xrsydn ab625dc55d fix(cpu): support single-load writeback register aliases
Allow ARM LDR/LDRB/LDRH/LDRSB/LDRSH to share non-PC base and destination registers with writeback. Keep the loaded value after computing addresses from incoming operands. Preserve PC restrictions, unsupported user transfers, store behavior, and atomic memory diagnostics.

Add original regressions for index modes, offsets, widths, alignment, sign extension, all active banks, timing, I/O/IRQ ordering, and failures. The unchanged pinned public ARM ROM progresses past tests 360 and 361, then fails at test 362 on an unmapped 0x80000000 read; no full-suite pass is claimed.

Verified on Darwin arm64: debug/release workspace and core suites, Python adapter tests, Clippy, rustdoc, native ROM-window checks, and all ten demo smoke tests. Document the new behavior and next memory-access blocker.
2026-10-05 20:15:53 +07:00
..
bios.md feat(desktop): run ROM files in a window with keypad input 2026-10-05 19:22:13 +07:00
cartridge.md feat(testing): add bounded headless ROM suites and JSON reports 2026-10-05 19:41:40 +07:00
cpu.md fix(cpu): support single-load writeback register aliases 2026-10-05 20:15:53 +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