psx tracer: tiny cleanup

This commit is contained in:
feos 2016-08-21 22:37:35 +03:00
parent 91fd016868
commit 00d77a4253
2 changed files with 10 additions and 8 deletions

View File

@ -10,7 +10,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
{
public partial class Octoshock
{
public ITraceable Tracer { get { return tracer; } }
public TraceBuffer Tracer { get; private set; }
public static string TraceHeader = "R3000A: PC, raw bytes, mnemonic, registers (GPRs, lo, hi, sr, cause, epc)";
@ -34,5 +34,12 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
RegisterInfo = sb.ToString().Trim()
});
}
private void ConnectTracer()
{
Tracer = new TraceBuffer() { Header = TraceHeader };
ServiceProvider = new BasicServiceProvider(this);
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
}
}
}

View File

@ -121,10 +121,6 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
static Octoshock CurrOctoshockCore;
IntPtr psx;
TraceBuffer tracer = new TraceBuffer()
{
Header = TraceHeader
};
bool disposed = false;
public void Dispose()
@ -250,8 +246,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
void Load(CoreComm comm, List<DiscSystem.Disc> discs, List<string> discNames, byte[] exe, object settings, object syncSettings, PSF psf)
{
ServiceProvider = new BasicServiceProvider(this);
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(tracer);
ConnectTracer();
CoreComm = comm;
DriveLightEnabled = true;
@ -699,7 +694,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
OctoshockDll.shock_SetRenderOptions(psx, ref ropts);
//prep tracer
if (tracer.Enabled)
if (Tracer.Enabled)
OctoshockDll.shock_SetTraceCallback(psx, IntPtr.Zero, ShockTraceCallback);
else
OctoshockDll.shock_SetTraceCallback(psx, IntPtr.Zero, null);