gameboy-rust/crates/gba-core/tests
0xrsydn 0ef2719c6b fix(video): ignore enable bits for backgrounds a mode lacks
DISPCNT enable bits for BG3 in Mode 1, BG0/BG1 in Mode 2, and every background
but BG2 in Modes 3-5 failed the whole frame with UnsupportedLayers, and the
window turned that into a stopped session. Hardware has no such backgrounds and
ignores the bits, so the renderer now masks them. The error variant is removed.

Prohibited OBJ mode 3 and shape 3 stay diagnostics: their hardware output is
not established here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhfHfHEuzv2AUTd6erW1gU
2026-10-14 14:28:41 +07:00
..
bios fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 2026-10-14 14:28:41 +07:00
cartridge_gpio feat(cartridge): implement RTC calendar transfers and clock updates 2026-10-07 05:59:29 +07:00
dma fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 2026-10-14 14:28:41 +07:00
effects refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
mosaic refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
pulse_sound feat(audio): implement PSG pulse channel 2 2026-10-07 02:33:41 +07:00
scanlines refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
sprites refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
window_tracking refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
affine_backgrounds.rs fix(video): ignore enable bits for backgrounds a mode lacks 2026-10-14 14:28:41 +07:00
affine_tracking.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
audio_capture.rs feat(audio): capture transactional fixed-rate stereo samples 2026-10-07 07:16:42 +07:00
bios.rs fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 2026-10-14 14:28:41 +07:00
bitmap_modes.rs fix(video): ignore enable bits for backgrounds a mode lacks 2026-10-14 14:28:41 +07:00
cartridge_gpio.rs feat(cartridge): implement RTC calendar transfers and clock updates 2026-10-07 05:59:29 +07:00
core.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
direct_sound.rs feat(audio): add single-bank wave channel playback 2026-10-07 06:58:46 +07:00
display.rs feat(cpu): retain ARM instruction pipeline words 2026-10-06 04:01:00 +07:00
dma.rs fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 2026-10-14 14:28:41 +07:00
effects.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
exceptions.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
flash.rs feat(cartridge): implement transactional Flash programming and erase 2026-10-07 08:36:12 +07:00
flash_write.rs feat(cartridge): implement transactional Flash programming and erase 2026-10-07 08:36:12 +07:00
graphics.rs fix(video): ignore enable bits for backgrounds a mode lacks 2026-10-14 14:28:41 +07:00
halt.rs feat(power): implement keypad-wake STOP and BIOS Stop service 2026-10-05 18:28:23 +07:00
inactive_devices.rs feat(audio): add single-bank wave channel playback 2026-10-07 06:58:46 +07:00
keypad.rs feat(io): model disabled sound and disconnected serial state 2026-10-07 01:01:07 +07:00
machine.rs fix(timers): apply machine accesses at bus completion 2026-10-06 21:52:09 +07:00
memory.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
mosaic.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
mosaic_tracking.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
noise_sound.rs feat(audio): implement PSG noise channel 4 2026-10-07 02:54:57 +07:00
prefetch_cancellation.rs fix(timers): apply machine accesses at bus completion 2026-10-06 21:52:09 +07:00
pulse_sound.rs feat(audio): implement PSG pulse channel 2 2026-10-07 02:33:41 +07:00
save_state.rs feat(core): add whole-machine save states with F5/F9 window slots 2026-10-14 14:28:41 +07:00
scanlines.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
serial_control.rs feat(serial): support disconnected Joybus configuration and local registers 2026-10-07 06:38:04 +07:00
serial_external.rs feat(serial): model disconnected multiplayer configuration 2026-10-07 05:06:49 +07:00
serial_internal.rs feat(serial): clock disconnected normal transfers and completion IRQs 2026-10-07 04:23:07 +07:00
serial_joybus.rs feat(serial): support disconnected Joybus configuration and local registers 2026-10-07 06:38:04 +07:00
serial_multiplayer.rs feat(serial): model disconnected multiplayer configuration 2026-10-07 05:06:49 +07:00
sprite_budget.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
sprite_pipeline.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
sprites.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00
stop.rs feat(power): implement keypad-wake STOP and BIOS Stop service 2026-10-05 18:28:23 +07:00
tiles.rs fix(video): read BG maps and tiles through the 128 KiB VRAM mirror window 2026-10-07 10:11:51 +07:00
timer_prescaler.rs fix(timers): retain shared free-running prescaler phase 2026-10-06 22:07:49 +07:00
timers.rs fix(timers): retain shared free-running prescaler phase 2026-10-06 22:07:49 +07:00
timing.rs feat(cartridge): add explicit Flash identification and banked reads 2026-10-07 06:25:43 +07:00
video_bus_cpu.rs test(memory): integrate pinned public memory compatibility suite 2026-10-05 21:19:32 +07:00
wave_sound.rs feat(audio): add single-bank wave channel playback 2026-10-07 06:58:46 +07:00
window_tracking.rs refactor: split into gameboy-rust workspace with core, demos, and desktop crates 2026-10-05 16:09:46 +07:00