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 {