diff --git a/snes-core/src/cpu/registers.rs b/snes-core/src/cpu/registers.rs index dd756d1..68fb0b6 100644 --- a/snes-core/src/cpu/registers.rs +++ b/snes-core/src/cpu/registers.rs @@ -185,6 +185,13 @@ impl Registers { self.d as u8 } + pub fn is_emu_mode_flag_exposed(&self) -> bool { + match self.exposed_bit_zero { + ModeFlag::Carry => false, + ModeFlag::EmulationMode => true, + } + } + pub fn exchange_carry_and_emulation(&mut self) { match self.exposed_bit_zero { ModeFlag::Carry => { diff --git a/snes-frontend/src/main.rs b/snes-frontend/src/main.rs index 4beac9c..7bd1304 100644 --- a/snes-frontend/src/main.rs +++ b/snes-frontend/src/main.rs @@ -333,6 +333,11 @@ fn main() { ui.text(format!("PC: | {:#06X}", emulator.cpu.registers.pc)); ui.text(format!("EMU MODE: | {}", emulator.cpu.registers.emulation_mode)); ui.text(format!("CARRY: | {}", emulator.cpu.registers.carry)); + ui.separator(); + ui.text("Status flags:"); + ui.text(format!(" E (exposed: {})", emulator.cpu.registers.is_emu_mode_flag_exposed())); + ui.text("NVMXDIZC"); + ui.text(format!("{:08b}", emulator.cpu.registers.p)); }); }