fix some bugs with Ares64 tracer, fix trace header too
This commit is contained in:
parent
20ecfb81ea
commit
8ea09eebf5
src/BizHawk.Emulation.Cores/Consoles/Nintendo/Ares64
|
@ -13,6 +13,16 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
|||
|
||||
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 regsStr = "";
|
||||
foreach (var r in regs)
|
||||
|
@ -25,11 +35,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
|||
|
||||
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(
|
||||
disassembly: disasmStr,
|
||||
registerInfo: regsStr));
|
||||
|
|
|
@ -116,7 +116,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Ares64
|
|||
|
||||
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);
|
||||
|
||||
_disassembler = new(_core);
|
||||
|
|
Loading…
Reference in New Issue