diff --git a/frontends/sdl/README.md b/frontends/sdl/README.md index 262c2271d622058ce567ca0cf3cd3166d796629f..4e213ce216992f32c4b700755d4184b70436da76 100644 --- a/frontends/sdl/README.md +++ b/frontends/sdl/README.md @@ -79,7 +79,7 @@ cargo vcpkg -v build It's possible to run the emulator in headless mode using the `--headless` parameter: ```bash -cargo run -- --rom-path ../../res/roms/test/blargg/cpu/cpu_instrs.gb --cycles 100000000 --headless --device stdout --unlimited +cargo run -- --rom-path ../../res/roms/test/blargg/cpu/cpu_instrs.gb --cycles 100000000 --headless --device stdout --unlimited ``` ## Features diff --git a/frontends/sdl/res/test/blargg/dmg_sound/01-registers.png b/frontends/sdl/res/test/blargg/dmg_sound/01-registers.png new file mode 100644 index 0000000000000000000000000000000000000000..e442d3943aa3e93ec105d93411bcdb6ce6c14410 Binary files /dev/null and b/frontends/sdl/res/test/blargg/dmg_sound/01-registers.png differ diff --git a/frontends/sdl/res/test/blargg/dmg_sound/02-len ctr.png b/frontends/sdl/res/test/blargg/dmg_sound/02-len ctr.png new file mode 100644 index 0000000000000000000000000000000000000000..d77ee13986dcda743b88b9bf68a3a8aa41e624a3 Binary files /dev/null and b/frontends/sdl/res/test/blargg/dmg_sound/02-len ctr.png differ diff --git a/frontends/sdl/res/test/blargg/dmg_sound/03-trigger.png b/frontends/sdl/res/test/blargg/dmg_sound/03-trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..d232a0ffe26ec58495d842914a42ac89a166c559 Binary files /dev/null and b/frontends/sdl/res/test/blargg/dmg_sound/03-trigger.png differ diff --git a/frontends/sdl/src/test.rs b/frontends/sdl/src/test.rs index 12f082fae9d4528462a663a3fe68eb1aff32d014..63922a84739f9132b2e2064ff52baa93fd2f4b3a 100644 --- a/frontends/sdl/src/test.rs +++ b/frontends/sdl/src/test.rs @@ -64,11 +64,37 @@ mod tests { Some(50000000), TestOptions::default(), ); - compare_images(&result, "res/test/blargg/instr_timing/instr_timing.png"); let image_result = compare_images(&result, "res/test/blargg/instr_timing/instr_timing.png"); assert_eq!(image_result, true); } + #[test] + fn test_blargg_dmg_sound() { + let result: [u8; FRAME_BUFFER_SIZE] = run_image_test( + "../../res/roms/test/blargg/dmg_sound/01-registers.gb", + Some(50000000), + TestOptions::default(), + ); + let image_result = compare_images(&result, "res/test/blargg/dmg_sound/01-registers.png"); + assert_eq!(image_result, true); + + let result: [u8; FRAME_BUFFER_SIZE] = run_image_test( + "../../res/roms/test/blargg/dmg_sound/02-len ctr.gb", + Some(50000000), + TestOptions::default(), + ); + let image_result = compare_images(&result, "res/test/blargg/dmg_sound/02-len ctr.png"); + assert_eq!(image_result, true); + + let result: [u8; FRAME_BUFFER_SIZE] = run_image_test( + "../../res/roms/test/blargg/dmg_sound/03-trigger.gb", + Some(100000000), + TestOptions::default(), + ); + let image_result = compare_images(&result, "res/test/blargg/dmg_sound/03-trigger.png"); + assert_eq!(image_result, true); + } + #[test] fn test_dmg_acid2() { let result: [u8; FRAME_BUFFER_SIZE] = run_image_test( diff --git a/src/apu.rs b/src/apu.rs index c64ff9b4d5260dd4c49cf6b295facbb7265618ee..78cd133c387601f0442c506507dc62b9e0609041 100644 --- a/src/apu.rs +++ b/src/apu.rs @@ -444,14 +444,10 @@ impl Apu { } }; - println!("APU read: 0x{:04X} = 0x{:02X}", addr, value); - value } pub fn write(&mut self, addr: u16, value: u8) { - println!("APU write: 0x{:04X} = 0x{:02X}", addr, value); - // in case the sound is disabled then ignores writes // to any register aside from the sound on/off if !self.sound_enabled && addr != 0xff26 {