diff --git a/examples/sdl/src/main.rs b/examples/sdl/src/main.rs
index 22cefddedf0f124b70e64e2793b93899164c5709..81aac1048546a18951475866f60e7eb7b77712b3 100644
--- a/examples/sdl/src/main.rs
+++ b/examples/sdl/src/main.rs
@@ -159,14 +159,14 @@ fn main() {
     //let rom = game_boy.load_rom_file("../../res/roms.prop/dr_mario.gb");
     //let rom = game_boy.load_rom_file("../../res/roms.prop/alleyway.gb");
     //let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario.gb");
-    let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario_2.gb");
+    //let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario_2.gb");
 
     //let rom = game_boy.load_rom_file("../../res/roms/firstwhite.gb");
     //let rom = game_boy.load_rom_file("../../res/roms/opus5.gb");
 
-    //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/cpu_instrs.gb"); // CRASHED
+    //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/cpu_instrs.gb"); // PASSED
     //let rom = game_boy.load_rom_file("../../res/roms/paradius/interrupt_time/interrupt_time.gb"); // FAILED
-    //let rom = game_boy.load_rom_file("../../res/roms/paradius/instr_timing/instr_timing.gb"); // FAILED
+    let rom = game_boy.load_rom_file("../../res/roms/paradius/instr_timing/instr_timing.gb"); // FAILED
     //let rom = game_boy.load_rom_file("../../res/roms/paradius/mem_timing/mem_timing.gb"); // NO FINISH
     //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/01-special.gb"); // PASSED
     //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/02-interrupts.gb"); // PASSED
diff --git a/src/pad.rs b/src/pad.rs
index 814adfeb7cf3f82294f702fa2c62fcd92249b02f..7c2bf470f7bbb947183466bc63041cc828bd1ddc 100644
--- a/src/pad.rs
+++ b/src/pad.rs
@@ -1,6 +1,8 @@
 #[cfg(feature = "wasm")]
 use wasm_bindgen::prelude::*;
 
+use crate::warnln;
+
 #[derive(Clone, Copy, PartialEq)]
 pub enum PadSelection {
     Action,
@@ -77,7 +79,10 @@ impl Pad {
                 };
                 value
             }
-            addr => panic!("Reading from unknown Pad location 0x{:04x}", addr),
+            _ => {
+                warnln!("Reading from unknown Pad location 0x{:04x}", addr);
+                0xff
+            }
         }
     }
 
@@ -90,7 +95,7 @@ impl Pad {
                     PadSelection::Action
                 }
             }
-            addr => panic!("Writing to unknown Pad location 0x{:04x}", addr),
+            _ => warnln!("Writing to unknown Pad location 0x{:04x}", addr),
         }
     }
 
diff --git a/src/ppu.rs b/src/ppu.rs
index 0dd7dee9939bde6ac6afe16378ca193b788a8d0f..85f1d2789fb9c182485043cba7f52930c6ff3990 100644
--- a/src/ppu.rs
+++ b/src/ppu.rs
@@ -7,6 +7,8 @@ use std::{
 #[cfg(feature = "wasm")]
 use wasm_bindgen::prelude::*;
 
+use crate::warnln;
+
 pub const VRAM_SIZE: usize = 8192;
 pub const HRAM_SIZE: usize = 128;
 pub const OAM_SIZE: usize = 260;
@@ -419,7 +421,10 @@ impl Ppu {
             0x0045 => self.lyc,
             0x004a => self.wy,
             0x004b => self.wx,
-            addr => panic!("Reading from unknown PPU location 0x{:04x}", addr),
+            _ => {
+                warnln!("Reading from unknown PPU location 0x{:04x}", addr);
+                0xff
+            }
         }
     }
 
@@ -487,7 +492,7 @@ impl Ppu {
             0x004a => self.wy = value,
             0x004b => self.wx = value,
             0x007f => (),
-            addr => panic!("Writing in unknown PPU location 0x{:04x}", addr),
+            _ => warnln!("Writing in unknown PPU location 0x{:04x}", addr),
         }
     }