diff --git a/src/bus.rs b/src/bus.rs index 389f125..7643760 100644 --- a/src/bus.rs +++ b/src/bus.rs @@ -57,7 +57,7 @@ pub struct Bus { impl Bus { pub fn new() -> Self { - // let game_rom = match ROM::load_file("ignore/m3_scy_change.gb".to_string()) { + // let game_rom = match ROM::load_file("ignore/mooneye/acceptance/if_ie_registers.gb".to_string()) { // let game_rom = match ROM::load_file("roms/cpu_instrs.gb".to_string()) { // let game_rom = match ROM::load_file("roms/cpu_instrs_individual/01-special.gb".to_string()) { let game_rom = match ROM::load_file("roms/cpu_instrs_individual/02-interrupts.gb".to_string()) { diff --git a/src/cpu.rs b/src/cpu.rs index d818d8e..8c2be69 100644 --- a/src/cpu.rs +++ b/src/cpu.rs @@ -915,7 +915,7 @@ impl CPU { } pub fn check_interrupts(&mut self, bus: &mut Bus) -> Option { - if bus.read(INTERRUPT_ENABLE_ADDRESS) & bus.read(INTERRUPT_FLAG_ADDRESS) != 0 { + if (bus.read(INTERRUPT_ENABLE_ADDRESS) & 0b00011111) & (bus.read(INTERRUPT_FLAG_ADDRESS) & 0b00011111) != 0 { self.is_halted = false; } if !self.ime {