Debugger - refactor based on having the PCRegisterName property

This commit is contained in:
adelikat 2014-12-14 17:44:45 +00:00
parent 7cc3fdec4b
commit 0e528d22c2
2 changed files with 19 additions and 20 deletions

View File

@ -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()

View File

@ -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;
}
}
}