From b5ab77d54726d143909f18d94b89db6910d08413 Mon Sep 17 00:00:00 2001 From: Souryo Date: Sat, 19 Aug 2017 14:36:00 -0400 Subject: [PATCH] Debugger: Fixed minor assembler issues --- Core/Debugger.cpp | 7 ++++++- GUI.NET/Debugger/DebugWindowManager.cs | 8 ++++++++ GUI.NET/Debugger/frmDebugger.cs | 9 ++------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Core/Debugger.cpp b/Core/Debugger.cpp index 59e9929e..3cc4f4d1 100644 --- a/Core/Debugger.cpp +++ b/Core/Debugger.cpp @@ -924,7 +924,12 @@ void Debugger::StopCodeRunner() //Break debugger when code has finished executing SetNextStatement(_returnToAddress); - Debugger::Instance->Step(1); + + if(CheckFlag(DebuggerFlags::DebuggerWindowEnabled)) { + Step(1); + } else { + Run(); + } } void Debugger::GetNesHeader(uint8_t* header) diff --git a/GUI.NET/Debugger/DebugWindowManager.cs b/GUI.NET/Debugger/DebugWindowManager.cs index fdc20ff7..06bc0f3c 100644 --- a/GUI.NET/Debugger/DebugWindowManager.cs +++ b/GUI.NET/Debugger/DebugWindowManager.cs @@ -32,6 +32,14 @@ namespace Mesen.GUI.Debugger } } + public static void OpenAssembler(string code = "", UInt16 startAddress = 0, UInt16 blockLength = 0) + { + frmAssembler frm = new frmAssembler(code, startAddress, blockLength); + _openedWindows.Add(frm); + frm.FormClosed += Debugger_FormClosed; + frm.Show(); + } + public static frmDebugger GetDebugger() { int index = _openedWindows.FindIndex((form) => form.GetType() == typeof(frmDebugger)); diff --git a/GUI.NET/Debugger/frmDebugger.cs b/GUI.NET/Debugger/frmDebugger.cs index 84dee7e6..d98981ef 100644 --- a/GUI.NET/Debugger/frmDebugger.cs +++ b/GUI.NET/Debugger/frmDebugger.cs @@ -874,19 +874,14 @@ namespace Mesen.GUI.Debugger } } - private void OpenAssembler(string code, UInt16 startAddress, UInt16 blockLength = 0) + private void mnuAssembler_Click(object sender, EventArgs e) { DebugWindowManager.OpenDebugWindow(DebugWindow.Assembler); } - private void mnuAssembler_Click(object sender, EventArgs e) - { - this.OpenAssembler(string.Empty, 0x8000); - } - private void ctrlDebuggerCode_OnEditCode(AssemblerEventArgs args) { - this.OpenAssembler(args.Code, args.StartAddress, args.BlockLength); + DebugWindowManager.OpenAssembler(args.Code, args.StartAddress, args.BlockLength); } private void mnuCode_DropDownOpening(object sender, EventArgs e)