Debugger - better checking if something exists or not

This commit is contained in:
adelikat 2014-12-20 13:12:03 +00:00
parent 38c4b7f16b
commit 0916638e40
2 changed files with 21 additions and 6 deletions

View File

@ -50,6 +50,22 @@ namespace BizHawk.Client.EmuHawk
} }
} }
private bool CanSetCpu
{
get
{
try
{
Disassembler.Cpu = Disassembler.Cpu;
return true;
}
catch (NotImplementedException)
{
return false;
}
}
}
#endregion #endregion
public void UpdateValues() public void UpdateValues()

View File

@ -86,14 +86,11 @@ namespace BizHawk.Client.EmuHawk
private void EngageDebugger() private void EngageDebugger()
{ {
if (Disassembler != null) if (CanDisassemble)
{ {
try try
{ {
// Quick way to check if setting is implemented if (CanSetCpu && Disassembler.AvailableCpus.Count() > 1)
Disassembler.Cpu = Disassembler.Cpu;
if (Disassembler.AvailableCpus.Count() > 1)
{ {
var c = new ComboBox var c = new ComboBox
{ {
@ -139,7 +136,6 @@ namespace BizHawk.Client.EmuHawk
RegisterPanel.ParentDebugger = this; RegisterPanel.ParentDebugger = this;
RegisterPanel.GenerateUI(); RegisterPanel.GenerateUI();
// TODO: handle if unavailable
BreakPointControl1.Core = Core; BreakPointControl1.Core = Core;
BreakPointControl1.MCS = MCS; BreakPointControl1.MCS = MCS;
BreakPointControl1.ParentDebugger = this; BreakPointControl1.ParentDebugger = this;
@ -179,6 +175,7 @@ namespace BizHawk.Client.EmuHawk
Owner = Global.Config.RamSearchSettings.FloatingWindow ? null : GlobalWin.MainForm; Owner = Global.Config.RamSearchSettings.FloatingWindow ? null : GlobalWin.MainForm;
} }
#region Disassembler TODO refacotor
private readonly List<DisasmOp> lines = new List<DisasmOp>(); private readonly List<DisasmOp> lines = new List<DisasmOp>();
@ -224,6 +221,8 @@ namespace BizHawk.Client.EmuHawk
} }
} }
#endregion
#region Menu Items #region Menu Items
#region File #region File