From 8e92c5fd1752b20ef6db37babe5362c3d9fc8c70 Mon Sep 17 00:00:00 2001 From: feos Date: Sun, 14 Aug 2016 22:29:42 +0300 Subject: [PATCH] gpgx: move to normal tracing method too CallbackBasedTraceBuffer seems deprecated --- BizHawk.Client.EmuHawk/tools/TraceLogger.cs | 2 +- .../Consoles/Sega/gpgx/GPGX.IEmulator.cs | 5 + .../Consoles/Sega/gpgx/GPGX.ITraceable.cs | 86 +++++++++--------- .../Consoles/Sega/gpgx/GPGX.cs | 3 +- .../Consoles/Sega/gpgx/LibGPGX.cs | 12 ++- genplus-gx32/cinterface/callbacks.h | 1 + genplus-gx32/cinterface/cinterface.c | 6 ++ genplus-gx32/core/m68k/m68kcpu.c | 3 + output/dll/libgenplusgx.dll | Bin 1899520 -> 1899520 bytes 9 files changed, 70 insertions(+), 48 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/TraceLogger.cs b/BizHawk.Client.EmuHawk/tools/TraceLogger.cs index f5d9c9ae64..eb34d50733 100644 --- a/BizHawk.Client.EmuHawk/tools/TraceLogger.cs +++ b/BizHawk.Client.EmuHawk/tools/TraceLogger.cs @@ -108,7 +108,7 @@ namespace BizHawk.Client.EmuHawk { if (ToWindowRadio.Checked) TraceView.VirtualListSize = _instructions.Count; - else + else if (_streamWriter != null) { _streamWriter.Close(); _streamWriter = null; diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs index a61ab25a4f..99348a580f 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs @@ -48,6 +48,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx Frame++; _drivelight = false; + if (Tracer.Enabled) + LibGPGX.gpgx_set_trace_callback(_tracecb); + else + LibGPGX.gpgx_set_trace_callback(null); + LibGPGX.gpgx_advance(); UpdateVideo(); update_audio(); diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.ITraceable.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.ITraceable.cs index 7f173645b6..8eef480587 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.ITraceable.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.ITraceable.cs @@ -9,58 +9,60 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx { public partial class GPGX { - private readonly ITraceable Tracer; + public TraceBuffer Tracer { get; private set; } - public class GPGXTraceBuffer : CallbackBasedTraceBuffer + private LibGPGX.trace_cb _tracecb; + + private void MakeTrace() { - public GPGXTraceBuffer(IDebuggable debuggableCore, IMemoryDomains memoryDomains, IDisassemblable disassembler) - : base(debuggableCore, memoryDomains, disassembler) + var regs = GetCpuFlagsAndRegisters(); + uint pc = (uint)regs["M68K PC"].Value; + var length = 0; + var disasm = Disassemble(MemoryDomains.SystemBus, pc, out length).PadRight(40); + + var traceInfo = new TraceInfo { - Header = "M68K: PC, machine code, mnemonic, arguments, registers (D0-D7, A0-A7, SR, USP, status flags)"; - } + Disassembly = string.Format("{0:X6}: {1}", pc, disasm) + }; - public override void TraceFromCallback() + var sb = new StringBuilder(); + + foreach (var r in regs) { - var regs = DebuggableCore.GetCpuFlagsAndRegisters(); - uint pc = (uint)regs["M68K PC"].Value; - var length = 0; - var disasm = Disassembler.Disassemble(MemoryDomains.SystemBus, pc, out length); - - var traceInfo = new TraceInfo + if (r.Key.StartsWith("M68K")) // drop Z80 regs until it has its own debugger/tracer { - Disassembly = string.Format("{0:X6}: {1}", pc, disasm) - }; - - var sb = new StringBuilder(); - - foreach (var r in regs) - { - if (r.Key.StartsWith("M68K")) // drop Z80 regs until it has its own debugger/tracer + if (r.Key != "M68K SP" && r.Key != "M68K ISP" && // copies of a7 + r.Key != "M68K PC" && // already present in every line start + r.Key != "M68K IR") // copy of last opcode, already shown in raw bytes { - if (r.Key != "M68K SP" && r.Key != "M68K ISP" && // copies of a7 - r.Key != "M68K PC" && // already present in every line start - r.Key != "M68K IR") // copy of last opcode, already shown in raw bytes - { - sb.Append( - string.Format("{0}:{1} ", - r.Key.Replace("M68K", string.Empty).Trim(), - r.Value.Value.ToHexString(r.Value.BitSize / 4))); - } + sb.Append( + string.Format("{0}:{1} ", + r.Key.Replace("M68K", string.Empty).Trim(), + r.Value.Value.ToHexString(r.Value.BitSize / 4))); } } - var sr = regs["M68K SR"].Value; - sb.Append( - string.Format("{0}{1}{2}{3}{4}", - (sr & 16) > 0 ? "X" : "x", - (sr & 8) > 0 ? "N" : "n", - (sr & 4) > 0 ? "Z" : "z", - (sr & 2) > 0 ? "V" : "v", - (sr & 1) > 0 ? "C" : "c")); - - traceInfo.RegisterInfo = sb.ToString().Trim(); - - Put(traceInfo); } + var sr = regs["M68K SR"].Value; + sb.Append( + string.Format("{0}{1}{2}{3}{4}", + (sr & 16) > 0 ? "X" : "x", + (sr & 8) > 0 ? "N" : "n", + (sr & 4) > 0 ? "Z" : "z", + (sr & 2) > 0 ? "V" : "v", + (sr & 1) > 0 ? "C" : "c")); + + traceInfo.RegisterInfo = sb.ToString().Trim(); + + Tracer.Put(traceInfo); + } + + private const string TraceHeader = "M68K: PC, machine code, mnemonic, arguments, registers (D0-D7, A0-A7, SR, USP, status flags)"; + + private void ConnectTracer() + { + Tracer = new TraceBuffer { Header = TraceHeader }; + (ServiceProvider as BasicServiceProvider).Register(Tracer); + _tracecb = new LibGPGX.trace_cb(MakeTrace); } } } diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs index ece6cb5a6e..4153d47f4d 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs @@ -164,8 +164,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx InitMemCallbacks(); KillMemCallbacks(); - Tracer = new GPGXTraceBuffer(this, MemoryDomains, this); - (ServiceProvider as BasicServiceProvider).Register(Tracer); + ConnectTracer(); } catch { diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/LibGPGX.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/LibGPGX.cs index 9d5156c7b1..46d6c181a9 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/LibGPGX.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/LibGPGX.cs @@ -155,12 +155,18 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void mem_cb(uint addr); - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - public delegate void CDCallback(int addr, CDLog_AddrType addrtype, CDLog_Flags flags); - [DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void gpgx_set_mem_callback(mem_cb read, mem_cb write, mem_cb exec); + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void trace_cb(); + + [DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern void gpgx_set_trace_callback(trace_cb cb); + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void CDCallback(int addr, CDLog_AddrType addrtype, CDLog_Flags flags); + [DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void gpgx_set_cd_callback(CDCallback cd); diff --git a/genplus-gx32/cinterface/callbacks.h b/genplus-gx32/cinterface/callbacks.h index dd5325010f..23d3154ceb 100644 --- a/genplus-gx32/cinterface/callbacks.h +++ b/genplus-gx32/cinterface/callbacks.h @@ -8,6 +8,7 @@ typedef void (*CDCallback)(int32 addr, int32 addrtype, int32 flags); extern void (*biz_execcb)(unsigned addr); extern void (*biz_readcb)(unsigned addr); extern void (*biz_writecb)(unsigned addr); +extern void (*biz_tracecb)(void); extern CDCallback biz_cdcallback; extern unsigned biz_lastpc; diff --git a/genplus-gx32/cinterface/cinterface.c b/genplus-gx32/cinterface/cinterface.c index db35ab39a0..1b541a6a4c 100644 --- a/genplus-gx32/cinterface/cinterface.c +++ b/genplus-gx32/cinterface/cinterface.c @@ -60,6 +60,7 @@ extern void zap(void); void (*biz_execcb)(unsigned addr) = NULL; void (*biz_readcb)(unsigned addr) = NULL; void (*biz_writecb)(unsigned addr) = NULL; +void (*biz_tracecb)(void) = NULL; CDCallback biz_cdcallback = NULL; unsigned biz_lastpc = 0; @@ -595,6 +596,11 @@ GPGX_EX void gpgx_set_mem_callback(void (*read)(unsigned), void (*write)(unsigne biz_execcb = exec; } +GPGX_EX void gpgx_set_trace_callback(void (*trace)(void)) +{ + biz_tracecb = trace; +} + GPGX_EX void gpgx_set_cd_callback(CDCallback cdcallback) { biz_cdcallback = cdcallback; diff --git a/genplus-gx32/core/m68k/m68kcpu.c b/genplus-gx32/core/m68k/m68kcpu.c index d3a6ae23a0..d3a7eb390d 100644 --- a/genplus-gx32/core/m68k/m68kcpu.c +++ b/genplus-gx32/core/m68k/m68kcpu.c @@ -339,6 +339,9 @@ void m68k_run(unsigned int cycles) /* Set the address space for reads */ m68ki_use_data_space() /* auto-disable (see m68kcpu.h) */ + if (biz_tracecb) + biz_tracecb(); + if (biz_execcb) biz_execcb(REG_PC); diff --git a/output/dll/libgenplusgx.dll b/output/dll/libgenplusgx.dll index 609f7781e996d946f01737a67df3a95107d21f2a..cadb52f894b86d808661f072d9b3f39b077c1164 100644 GIT binary patch delta 59607 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 delta 59630 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 tCpahKA37)E*^n@{C3pq?a1nLfsV