gameboy-rust/tests
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
..
bios feat(bios): implement selective RegisterRamReset service 2026-10-05 15:54:07 +07:00
effects feat(video): track windows and compose color effects 2026-10-05 12:58:38 +07:00
mosaic feat(video): track background and sprite mosaic state 2026-10-05 12:58:38 +07:00
scanlines feat(video): capture scanlines and prepare sprites one row ahead 2026-10-05 12:58:38 +07:00
sprites feat(video): render regular and affine sprites 2026-10-05 12:58:38 +07:00
window_tracking feat(video): track windows and compose color effects 2026-10-05 12:58:38 +07:00
affine_backgrounds.rs feat(video): render tiled affine and bitmap backgrounds 2026-10-05 12:58:38 +07:00
affine_tracking.rs feat(video): capture scanlines and prepare sprites one row ahead 2026-10-05 12:58:38 +07:00
bios.rs feat(bios): implement selective RegisterRamReset service 2026-10-05 15:54:07 +07:00
bitmap_modes.rs feat(video): render tiled affine and bitmap backgrounds 2026-10-05 12:58:38 +07:00
core.rs feat(cpu): implement ARM7TDMI ARM and Thumb execution 2026-10-05 12:58:38 +07:00
display.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
dma.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
effects.rs feat(video): track windows and compose color effects 2026-10-05 12:58:38 +07:00
exceptions.rs feat(cpu): implement ARM7TDMI ARM and Thumb execution 2026-10-05 12:58:38 +07:00
graphics.rs feat(demo): run CPU-driven bitmap tile and sprite scenes 2026-10-05 12:58:39 +07:00
halt.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
machine.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
memory.rs feat(memory): map GBA memory and device registers 2026-10-05 12:58:38 +07:00
mosaic.rs feat(video): track background and sprite mosaic state 2026-10-05 12:58:38 +07:00
mosaic_tracking.rs feat(video): track background and sprite mosaic state 2026-10-05 12:58:38 +07:00
scanlines.rs feat(video): capture scanlines and prepare sprites one row ahead 2026-10-05 12:58:38 +07:00
sprite_budget.rs feat(video): bound per-row sprite preparation work 2026-10-05 12:58:38 +07:00
sprite_pipeline.rs feat(video): capture scanlines and prepare sprites one row ahead 2026-10-05 12:58:38 +07:00
sprites.rs feat(video): render regular and affine sprites 2026-10-05 12:58:38 +07:00
tiles.rs feat(video): render tiled affine and bitmap backgrounds 2026-10-05 12:58:38 +07:00
timers.rs feat(memory): map GBA memory and device registers 2026-10-05 12:58:38 +07:00
timing.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
window_tracking.rs feat(video): track windows and compose color effects 2026-10-05 12:58:38 +07:00