diff --git a/examples/sdl/src/main.rs b/examples/sdl/src/main.rs
index 1250a53aebf6314d8d79a4efeaa7c3d280617f24..30a302f3440a2720177e2ad173c7310f3e0563dc 100644
--- a/examples/sdl/src/main.rs
+++ b/examples/sdl/src/main.rs
@@ -81,8 +81,8 @@ fn main() {
     let mut game_boy = GameBoy::new();
     game_boy.load_boot_sgb();
     //game_boy.load_rom_file("../../res/roms.prop/tetris.gb");
-    game_boy.load_rom_file("../../res/roms.prop/alleyway.gb");
-    //game_boy.load_rom_file("../../res/roms/07-jr,jp,call,ret,rst.gb");
+    //game_boy.load_rom_file("../../res/roms.prop/alleyway.gb");
+    game_boy.load_rom_file("../../res/roms/07-jr,jp,call,ret,rst.gb");
     //game_boy.load_rom_file("../../res/roms/firstwhite.gb");
     //game_boy.load_rom_file("../../res/roms/opus5.gb");
     //game_boy.load_rom_file("../../res/roms/ld_r_r.gb");
diff --git a/src/cpu.rs b/src/cpu.rs
index ceed42e7a000b49bae2acf29fb157ae185ddf76f..50553ec325ccb1896f85619f3e95964e0ea36d28 100644
--- a/src/cpu.rs
+++ b/src/cpu.rs
@@ -108,12 +108,12 @@ impl Cpu {
 
         let (instruction_fn, instruction_time, instruction_str) = instruction;
 
-        if *instruction_str == "! UNIMP !" {
-            println!(
-                "{}\t(0x{:02x})\t${:04x} {}",
-                instruction_str, opcode, pc, is_prefix
-            );
-        }
+        //if *instruction_str == "! UNIMP !" {
+        println!(
+            "{}\t(0x{:02x})\t${:04x} {}",
+            instruction_str, opcode, pc, is_prefix
+        );
+        //}
 
         // calls the current instruction and increments the number of
         // cycles executed by the instruction time of the instruction
diff --git a/src/ppu.rs b/src/ppu.rs
index c1615c02cf97e4a32d0832809e21b5f43f6c21af..d8110299bfd678fd5d094c1d42fb4831d2af8563 100644
--- a/src/ppu.rs
+++ b/src/ppu.rs
@@ -94,9 +94,9 @@ pub struct Ppu {
     stat_lyc: bool,
 }
 
-#[derive(Clone, Copy)]
+#[derive(Clone, Copy, PartialEq)]
 pub enum PpuMode {
-    Hblank = 0,
+    HBlank = 0,
     VBlank = 1,
     OamRead = 2,
     VramRead = 3,
@@ -156,10 +156,10 @@ impl Ppu {
                     }
 
                     self.mode_clock = 0;
-                    self.mode = PpuMode::Hblank;
+                    self.mode = PpuMode::HBlank;
                 }
             }
-            PpuMode::Hblank => {
+            PpuMode::HBlank => {
                 if self.mode_clock >= 204 {
                     self.ly += 1;
 
@@ -396,4 +396,13 @@ impl Ppu {
             print!("\n");
         }
     }
+
+    /// Obtains the current level of the LCD interrupt by
+    /// checking the current PPU state in various sections.
+    fn interrupt_level(&self) -> bool {
+        self.stat_lyc && self.lyc == self.ly
+            || self.stat_oam && self.mode == PpuMode::OamRead
+            || self.stat_vblank && self.mode == PpuMode::VBlank
+            || self.stat_vblank && self.mode == PpuMode::HBlank
+    }
 }