gameboy-rust/tests/bios
0xrsydn 2dfab137a6 feat(bios): implement SoftReset restart service
Execute SWI 0x00 through original ARM code. Read the restart flag before clearing 512 bytes of BIOS work RAM, reset System/SVC/IRQ stacks and specified registers, then branch to ROM or EWRAM in ARM System mode.

Keep device state and clocks active, preserve unrelated CPU banks, and document the deterministic IRQ-masked restart status. Add eleven tests for every flag byte, ARM/Thumb and User/System callers, exact memory bounds, bank state, restart execution, DMA/timers, and unsupported exception callers.

Validated on Darwin arm64: 705 default and 694 core-only tests in debug and release; formatting, Clippy, rustdoc, ten native window smoke tests, and CPU/timer demos pass.
2026-10-05 15:36: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
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