gameboy-rust/tests/bios
0xrsydn a8944d1d5f feat(bios): implement selective RegisterRamReset service
Execute SWI 0x01 through original ARM code. Clear selected work RAM, palette RAM, VRAM, and OAM; force blank; reset supported display, DMA, timer, and interrupt registers through normal bus writes. Preserve caller state and excluded BIOS work RAM apart from the common SWI frame.

Reject serial/sound reset flags before display or reset writes. Document the supported subset, timer counter behavior, DMA ordering, and RAM caller hazards. Add fifteen tests covering memory flags and boundaries, I/O defaults, rendering, register preservation, hidden device latches, diagnostics, and device progress.

Validated on Darwin arm64: 720 default and 709 core-only tests in debug and release; formatting, Clippy, rustdoc, ten native window smoke tests, and CPU/timer demos pass.
2026-10-05 15:54:07 +07:00
..
affine.rs feat(bios): implement background and object affine services 2026-10-05 15:22:54 +07:00
angles.rs feat(bios): implement fixed-point ArcTan and ArcTan2 services 2026-10-05 14:37:08 +07:00
arithmetic.rs feat(bios): implement division and integer square root 2026-10-05 12:58:39 +07:00
bit_unpack.rs feat(bios): expand packed units with BitUnPack 2026-10-05 12:58:39 +07:00
differential.rs feat(bios): implement byte and halfword differential filters 2026-10-05 13:14:00 +07:00
huffman.rs feat(bios): decode Huffman streams through ARM instructions 2026-10-05 14:18:18 +07:00
lz77.rs feat(bios): decode LZ77 streams through ARM instructions 2026-10-05 12:58:39 +07:00
ram_reset.rs feat(bios): implement selective RegisterRamReset service 2026-10-05 15:54:07 +07:00
reset.rs feat(bios): implement SoftReset restart service 2026-10-05 15:36:07 +07:00
run_length.rs feat(bios): decode run-length streams through ARM instructions 2026-10-05 12:58:39 +07:00