gameboy-rust/tests
0xrsydn 3ebc1f03d0 feat(bios): implement byte and halfword differential filters
Add SWI 0x16, 0x17, and 0x18 as original ARM routines. Reconstruct samples with modular addition and byte or halfword output. Validate headers, alignment, lengths, and address ranges; preserve earlier completed writes on failure.

Add 17 regression tests for sample round trips, wraparound, large byte lengths, caller state, partial failures, bus behavior, and DMA/IRQ progress. Validate 635 default and 624 core-only tests in debug and release, plus all 10 native Darwin ARM64 window smoke tests.
2026-10-05 13:14:00 +07:00
..
bios feat(bios): implement byte and halfword differential filters 2026-10-05 13:14:00 +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 byte and halfword differential filters 2026-10-05 13:14:00 +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