From 5ce7ca9148c03b798e4592654fad5b09c5add852 Mon Sep 17 00:00:00 2001 From: scawful Date: Wed, 24 Apr 2024 12:32:26 -0400 Subject: [PATCH] Add spc registers to emulator ui --- src/app/emu/emulator.h | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/app/emu/emulator.h b/src/app/emu/emulator.h index aac8b563..b53f50e7 100644 --- a/src/app/emu/emulator.h +++ b/src/app/emu/emulator.h @@ -48,6 +48,18 @@ class Emulator : public SharedRom { } } } + CollapsingHeader id="spcState" title="SPC Registers" flags="DefaultOpen" { + BeginChild id="##SpcState" size="0,100" flags="NoMove|NoScrollbar" { + Columns id="spcRegistersColumns" count="2" { + Text text="A: 0x%02X" data="spc.A", + Text text="PC: 0x%04X" data="spc.PC", + Text text="X: 0x%02X" data="spc.X", + Text text="SP: 0x%02X" data="spc.SP", + Text text="Y: 0x%02X" data="spc.Y", + Text text="PSW: 0x%02X" data="spc.PSW", + } + } + } Function id="CpuInstructionLog", TableNextColumn, @@ -56,10 +68,14 @@ class Emulator : public SharedRom { } )"; const std::map data_bindings = { - {"cpu.A", &snes_.cpu().A}, {"cpu.D", &snes_.cpu().D}, - {"cpu.X", &snes_.cpu().X}, {"cpu.DB", &snes_.cpu().DB}, - {"cpu.Y", &snes_.cpu().Y}, {"cpu.PB", &snes_.cpu().PB}, - {"cpu.PC", &snes_.cpu().PC}, {"cpu.E", &snes_.cpu().E}}; + {"cpu.A", &snes_.cpu().A}, {"cpu.D", &snes_.cpu().D}, + {"cpu.X", &snes_.cpu().X}, {"cpu.DB", &snes_.cpu().DB}, + {"cpu.Y", &snes_.cpu().Y}, {"cpu.PB", &snes_.cpu().PB}, + {"cpu.PC", &snes_.cpu().PC}, {"cpu.E", &snes_.cpu().E}, + {"spc.A", &snes_.apu().spc700().A}, {"spc.X", &snes_.apu().spc700().X}, + {"spc.Y", &snes_.apu().spc700().Y}, {"spc.PC", &snes_.apu().spc700().PC}, + {"spc.SP", &snes_.apu().spc700().SP}, + {"spc.PSW", &snes_.apu().spc700().PSW}}; emulator_node_ = gui::zeml::Parse(emulator_layout, data_bindings); Bind(emulator_node_.GetNode("CpuInstructionLog"), [&]() { RenderCpuInstructionLog(snes_.cpu().instruction_log_); });