From c98c7bdc2d3fcb3a67b2457952308a9b32b547c8 Mon Sep 17 00:00:00 2001 From: Franco Colmenarez Date: Sat, 20 May 2023 23:20:48 -0500 Subject: [PATCH] print status flags --- snes-core/src/cpu/registers.rs | 7 +++++++ snes-frontend/src/main.rs | 5 +++++ 2 files changed, 12 insertions(+) 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)); }); }