fix some bugs with Ares64 tracer, fix trace header too
This commit is contained in:
parent
20ecfb81ea
commit
8ea09eebf5
|
@ -13,6 +13,16 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
||||||
|
|
||||||
private void MakeTrace(IntPtr disasm)
|
private void MakeTrace(IntPtr disasm)
|
||||||
{
|
{
|
||||||
|
var disasmStr = Mershul.PtrToStringUtf8(disasm);
|
||||||
|
if (!disasmStr.StartsWith("CPU")) // garbage, ignore
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
disasmStr = disasmStr.Remove(0, 5); // remove "CPU "
|
||||||
|
disasmStr = disasmStr.Replace("\n", ""); // remove newlines
|
||||||
|
disasmStr = Regex.Replace(disasmStr, @"\{.*\}", ""); // remove any {*} patterns
|
||||||
|
disasmStr = disasmStr.PadRight(36); // pad
|
||||||
|
|
||||||
var regs = GetCpuFlagsAndRegisters();
|
var regs = GetCpuFlagsAndRegisters();
|
||||||
var regsStr = "";
|
var regsStr = "";
|
||||||
foreach (var r in regs)
|
foreach (var r in regs)
|
||||||
|
@ -25,11 +35,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
||||||
|
|
||||||
regsStr = regsStr.Remove(regsStr.Length - 1, 1);
|
regsStr = regsStr.Remove(regsStr.Length - 1, 1);
|
||||||
|
|
||||||
var disasmStr = Mershul.PtrToStringUtf8(disasm);
|
|
||||||
disasmStr = disasmStr.Remove(0, 5); // remove "CPU "
|
|
||||||
disasmStr = disasmStr.Replace("\n", ""); // remove newlines
|
|
||||||
disasmStr = Regex.Replace(disasmStr, @"\{.*\}", ""); // remove any {*} patterns
|
|
||||||
|
|
||||||
Tracer.Put(new(
|
Tracer.Put(new(
|
||||||
disassembly: disasmStr,
|
disassembly: disasmStr,
|
||||||
registerInfo: regsStr));
|
registerInfo: regsStr));
|
||||||
|
|
|
@ -116,7 +116,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
||||||
|
|
||||||
PostInit();
|
PostInit();
|
||||||
|
|
||||||
Tracer = new TraceBuffer("r3400: PC, mnemonic, operands, registers (GPRs, Load/Link Bit, MultHI, MultLO, Implementation/Revision, Control/Status, FGRs)");
|
Tracer = new TraceBuffer("r3400: PC, mnemonic, operands, registers (GPRs, MultLO, MultHI)");
|
||||||
_serviceProvider.Register(Tracer);
|
_serviceProvider.Register(Tracer);
|
||||||
|
|
||||||
_disassembler = new(_core);
|
_disassembler = new(_core);
|
||||||
|
|
Loading…
Reference in New Issue