gameboy-rust/src
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
cpu feat(cpu): implement ARM7TDMI ARM and Thumb execution 2026-10-05 12:58:38 +07:00
desktop feat(desktop): integrate native macOS windows controls and smoke tests 2026-10-05 12:58:40 +07:00
video feat(video): bound per-row sprite preparation work 2026-10-05 12:58:38 +07:00
affine_demo.rs feat(demo): exercise affine transforms and raster distortion 2026-10-05 12:58:39 +07:00
affine_raster_demo.rs feat(demo): exercise affine transforms and raster distortion 2026-10-05 12:58:39 +07:00
bios.rs feat(bios): implement selective RegisterRamReset service 2026-10-05 15:54:07 +07:00
bitmap_demo.rs feat(demo): exercise Mode 4 and 5 page switching 2026-10-05 12:58:39 +07:00
cpu.rs feat(cpu): implement ARM7TDMI ARM and Thumb execution 2026-10-05 12:58:38 +07:00
desktop.rs feat(desktop): integrate native macOS windows controls and smoke tests 2026-10-05 12:58:40 +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_demo.rs feat(demo): exercise windows blending and brightness 2026-10-05 12:58:40 +07:00
graphics_demo.rs feat(demo): run CPU-driven bitmap tile and sprite scenes 2026-10-05 12:58:39 +07:00
input.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
io.rs feat(memory): map GBA memory and device registers 2026-10-05 12:58:38 +07:00
lib.rs feat(desktop): integrate native macOS windows controls and smoke tests 2026-10-05 12:58:40 +07:00
machine.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
main.rs feat(desktop): integrate native macOS windows controls and smoke tests 2026-10-05 12:58:40 +07:00
memory.rs feat(memory): map GBA memory and device registers 2026-10-05 12:58:38 +07:00
mosaic_demo.rs feat(demo): exercise background and sprite mosaic controls 2026-10-05 12:58:40 +07:00
raster_demo.rs feat(demo): exercise HBlank DMA palette changes 2026-10-05 12:58:40 +07:00
tile_demo.rs feat(demo): run CPU-driven bitmap tile and sprite scenes 2026-10-05 12:58:39 +07:00
timer_demo.rs feat(demo): exercise timer setup and IRQ handlers 2026-10-05 12:58:40 +07:00
timing.rs feat(machine): schedule display DMA IRQs and HALT 2026-10-05 12:58:38 +07:00
video.rs feat(video): render tiled affine and bitmap backgrounds 2026-10-05 12:58:38 +07:00