From 0916638e40579edb5328a9dfc099838f29e6cd1b Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 20 Dec 2014 13:12:03 +0000 Subject: [PATCH] Debugger - better checking if something exists or not --- .../tools/Debugger/GenericDebugger.IToolForm.cs | 16 ++++++++++++++++ .../tools/Debugger/GenericDebugger.cs | 11 +++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs index e976df0ff1..33a7755d40 100644 --- a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs +++ b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs @@ -50,6 +50,22 @@ namespace BizHawk.Client.EmuHawk } } + private bool CanSetCpu + { + get + { + try + { + Disassembler.Cpu = Disassembler.Cpu; + return true; + } + catch (NotImplementedException) + { + return false; + } + } + } + #endregion public void UpdateValues() diff --git a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs index e79f2eba59..8b1b92e92e 100644 --- a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs +++ b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs @@ -86,14 +86,11 @@ namespace BizHawk.Client.EmuHawk private void EngageDebugger() { - if (Disassembler != null) + if (CanDisassemble) { try { - // Quick way to check if setting is implemented - Disassembler.Cpu = Disassembler.Cpu; - - if (Disassembler.AvailableCpus.Count() > 1) + if (CanSetCpu && Disassembler.AvailableCpus.Count() > 1) { var c = new ComboBox { @@ -139,7 +136,6 @@ namespace BizHawk.Client.EmuHawk RegisterPanel.ParentDebugger = this; RegisterPanel.GenerateUI(); - // TODO: handle if unavailable BreakPointControl1.Core = Core; BreakPointControl1.MCS = MCS; BreakPointControl1.ParentDebugger = this; @@ -179,6 +175,7 @@ namespace BizHawk.Client.EmuHawk Owner = Global.Config.RamSearchSettings.FloatingWindow ? null : GlobalWin.MainForm; } + #region Disassembler TODO refacotor private readonly List lines = new List(); @@ -224,6 +221,8 @@ namespace BizHawk.Client.EmuHawk } } + #endregion + #region Menu Items #region File