Debugger - refactor based on having the PCRegisterName property
This commit is contained in:
parent
7cc3fdec4b
commit
0e528d22c2
|
@ -14,24 +14,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
private IDisassemblable Disassembler { get { return (IDisassemblable)EmulatorServices[typeof(IDisassemblable)]; } }
|
||||
private MemoryDomainList MemoryDomains { get { return (EmulatorServices[typeof(IMemoryDomains)] as IMemoryDomains).MemoryDomains; } }
|
||||
|
||||
private int? PC
|
||||
private int PC
|
||||
{
|
||||
get
|
||||
{
|
||||
var flags = Core.GetCpuFlagsAndRegisters();
|
||||
|
||||
if (flags.ContainsKey("PC"))
|
||||
{
|
||||
return flags["PC"];
|
||||
}
|
||||
|
||||
else if (flags.ContainsKey("R15"))
|
||||
{
|
||||
return flags["R15"];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
get { return Core.GetCpuFlagsAndRegisters()[Disassembler.PCRegisterName]; }
|
||||
}
|
||||
|
||||
public void UpdateValues()
|
||||
|
|
|
@ -199,12 +199,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
// Always show a window's worth of instructions (if possible)
|
||||
if (CanDisassemble)
|
||||
{
|
||||
addr = PC.Value;
|
||||
addr = PC;
|
||||
|
||||
DisassemblerView.BlazingFast = true;
|
||||
Disasm(DISASM_LINE_COUNT);
|
||||
DisassemblerView.ensureVisible(0xFFFF);
|
||||
DisassemblerView.ensureVisible(PC.Value);
|
||||
DisassemblerView.ensureVisible(PC);
|
||||
|
||||
DisassemblerView.Refresh();
|
||||
DisassemblerView.BlazingFast = false;
|
||||
|
@ -229,7 +229,21 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
get
|
||||
{
|
||||
return Disassembler != null && PC.HasValue;
|
||||
if (Disassembler == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var pc = PC;
|
||||
return true;
|
||||
}
|
||||
catch (NotImplementedException)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue