Break off ITracer from IDebuggable, rename to ITraceable and make it an IEmulatorService, refactor things accordingly
This commit is contained in:
parent
5d4f9a715a
commit
0f2197cec1
|
@ -17,8 +17,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
public partial class TraceLogger : Form, IToolFormAutoConfig
|
public partial class TraceLogger : Form, IToolFormAutoConfig
|
||||||
{
|
{
|
||||||
[RequiredService]
|
[RequiredService]
|
||||||
private IDebuggable _debugtarget { get; set; }
|
private ITraceable Tracer { get; set; }
|
||||||
private ITracer Tracer { get { return _debugtarget.Tracer; } }
|
|
||||||
|
|
||||||
[ConfigPersist]
|
[ConfigPersist]
|
||||||
private int MaxLines { get; set; }
|
private int MaxLines { get; set; }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Common
|
namespace BizHawk.Emulation.Common
|
||||||
{
|
{
|
||||||
public class TraceBuffer : ITracer
|
public class TraceBuffer : ITraceable
|
||||||
{
|
{
|
||||||
private readonly StringBuilder buffer;
|
private readonly StringBuilder buffer;
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<Compile Include="Interfaces\ISoundProvider.cs" />
|
<Compile Include="Interfaces\ISoundProvider.cs" />
|
||||||
<Compile Include="Interfaces\IStatable.cs" />
|
<Compile Include="Interfaces\IStatable.cs" />
|
||||||
<Compile Include="Interfaces\ISyncSoundProvider.cs" />
|
<Compile Include="Interfaces\ISyncSoundProvider.cs" />
|
||||||
<Compile Include="Interfaces\ITracer.cs" />
|
<Compile Include="Interfaces\ITraceable.cs" />
|
||||||
<Compile Include="Interfaces\IVideoProvider.cs" />
|
<Compile Include="Interfaces\IVideoProvider.cs" />
|
||||||
<Compile Include="MemoryDomain.cs" />
|
<Compile Include="MemoryDomain.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
|
|
@ -115,22 +115,12 @@ namespace BizHawk.Emulation.Common.IEmulatorExtensions
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: this is a pretty ugly way to handle this
|
return core.ServiceProvider.HasService<ITraceable>();
|
||||||
var debuggable = (IDebuggable)core.ServiceProvider.GetService<IDebuggable>();
|
}
|
||||||
if (debuggable != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var tracer = debuggable.Tracer;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (NotImplementedException)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
public static ITraceable AsTracer(this IEmulator core)
|
||||||
|
{
|
||||||
|
return (ITraceable)core.ServiceProvider.GetService<ITraceable>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool MemoryCallbacksAvailable(this IEmulator core)
|
public static bool MemoryCallbacksAvailable(this IEmulator core)
|
||||||
|
|
|
@ -17,8 +17,6 @@ namespace BizHawk.Emulation.Common
|
||||||
/// <param name="value"></param>
|
/// <param name="value"></param>
|
||||||
void SetCpuRegister(string register, int value);
|
void SetCpuRegister(string register, int value);
|
||||||
|
|
||||||
ITracer Tracer { get; }
|
|
||||||
|
|
||||||
IMemoryCallbackSystem MemoryCallbacks { get; }
|
IMemoryCallbackSystem MemoryCallbacks { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Allows the cpu to dump trace info to a trace stream
|
/// Allows the cpu to dump trace info to a trace stream
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface ITracer
|
public interface ITraceable : IEmulatorService
|
||||||
{
|
{
|
||||||
// TODO: would it be faster (considering both disk and screen output) to keep the data as a List<string> directly?
|
// TODO: would it be faster (considering both disk and screen output) to keep the data as a List<string> directly?
|
||||||
|
|
|
@ -120,12 +120,6 @@ namespace BizHawk.Emulation.Cores.Calculators
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get { throw new NotImplementedException(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
|
|
|
@ -51,12 +51,6 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get { throw new NotImplementedException(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks
|
public IMemoryCallbackSystem MemoryCallbacks
|
||||||
{
|
{
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
|
|
|
@ -56,8 +56,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
public bool CanStep(StepType type)
|
public bool CanStep(StepType type)
|
||||||
|
|
|
@ -21,6 +21,8 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
private readonly GameInfo _game;
|
private readonly GameInfo _game;
|
||||||
private int _frame;
|
private int _frame;
|
||||||
|
|
||||||
|
private ITraceable Tracer { get; set; }
|
||||||
|
|
||||||
[CoreConstructor("A26")]
|
[CoreConstructor("A26")]
|
||||||
public Atari2600(CoreComm comm, GameInfo game, byte[] rom, object settings, object syncSettings)
|
public Atari2600(CoreComm comm, GameInfo game, byte[] rom, object settings, object syncSettings)
|
||||||
{
|
{
|
||||||
|
@ -47,6 +49,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
|
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
ser.Register<IDisassemblable>(Cpu);
|
ser.Register<IDisassemblable>(Cpu);
|
||||||
|
ser.Register<ITraceable>(Tracer);
|
||||||
ServiceProvider = ser;
|
ServiceProvider = ser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,12 +54,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari7800
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get { throw new NotImplementedException(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks
|
public IMemoryCallbackSystem MemoryCallbacks
|
||||||
{
|
{
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
|
|
|
@ -121,12 +121,6 @@ namespace BizHawk.Emulation.Cores.ColecoVision
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get { throw new NotImplementedException(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks
|
public IMemoryCallbackSystem MemoryCallbacks
|
||||||
{
|
{
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
|
|
|
@ -65,6 +65,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
Header = " -Addr--- -Opcode- -Instruction------------------- -R0----- -R1----- -R2----- -R3----- -R4----- -R5----- -R6----- -R7----- -R8----- -R9----- -R10---- -R11---- -R12---- -R13(SP) -R14(LR) -R15(PC) -CPSR--- -SPSR---"
|
Header = " -Addr--- -Opcode- -Instruction------------------- -R0----- -R1----- -R2----- -R3----- -R4----- -R5----- -R6----- -R7----- -R8----- -R9----- -R10---- -R11---- -R12---- -R13(SP) -R14(LR) -R15(PC) -CPSR--- -SPSR---"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
|
||||||
|
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
|
|
||||||
comm.VsyncNum = 262144;
|
comm.VsyncNum = 262144;
|
||||||
|
@ -112,8 +114,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
// TODO: optimize managed to unmanaged using the ActiveChanged event
|
// TODO: optimize managed to unmanaged using the ActiveChanged event
|
||||||
public IInputCallbackSystem InputCallbacks { [FeatureNotImplemented]get { return _inputCallbacks; } }
|
public IInputCallbackSystem InputCallbacks { [FeatureNotImplemented]get { return _inputCallbacks; } }
|
||||||
|
|
||||||
|
private ITraceable Tracer { get; set; }
|
||||||
public ITracer Tracer { get; private set; }
|
|
||||||
|
|
||||||
public string SystemId { get { return "GBA"; } }
|
public string SystemId { get { return "GBA"; } }
|
||||||
public bool DeterministicEmulation { get { return true; } }
|
public bool DeterministicEmulation { get { return true; } }
|
||||||
|
|
|
@ -71,6 +71,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
throw new InvalidOperationException("LoadRom() returned false!");
|
throw new InvalidOperationException("LoadRom() returned false!");
|
||||||
|
|
||||||
Tracer = new TraceBuffer();
|
Tracer = new TraceBuffer();
|
||||||
|
ser.Register<ITraceable>(Tracer);
|
||||||
|
|
||||||
CoreComm.VsyncNum = 262144;
|
CoreComm.VsyncNum = 262144;
|
||||||
CoreComm.VsyncDen = 4389;
|
CoreComm.VsyncDen = 4389;
|
||||||
|
@ -117,7 +118,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
public int LagCount { get; set; }
|
public int LagCount { get; set; }
|
||||||
public bool IsLagFrame { get; private set; }
|
public bool IsLagFrame { get; private set; }
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
private ITraceable Tracer { get; set; }
|
||||||
|
|
||||||
public string SystemId { get { return "GBA"; } }
|
public string SystemId { get { return "GBA"; } }
|
||||||
|
|
||||||
|
|
|
@ -129,6 +129,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
ser.Register<IDisassemblable>(new GBDisassembler());
|
ser.Register<IDisassemblable>(new GBDisassembler());
|
||||||
ServiceProvider = ser;
|
ServiceProvider = ser;
|
||||||
Tracer = new TraceBuffer();
|
Tracer = new TraceBuffer();
|
||||||
|
ser.Register<ITraceable>(Tracer);
|
||||||
InitMemoryCallbacks();
|
InitMemoryCallbacks();
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
|
|
||||||
|
@ -264,7 +265,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
private ITraceable Tracer { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// true if the emulator is currently emulating CGB
|
/// true if the emulator is currently emulating CGB
|
||||||
|
|
|
@ -92,12 +92,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||||
private readonly MemoryCallbackSystem _memorycallbacks = new MemoryCallbackSystem();
|
private readonly MemoryCallbackSystem _memorycallbacks = new MemoryCallbackSystem();
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get { return _memorycallbacks; } }
|
public IMemoryCallbackSystem MemoryCallbacks { get { return _memorycallbacks; } }
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get { throw new NotImplementedException(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IVideoProvider VideoProvider { get { return this; } }
|
public IVideoProvider VideoProvider { get { return this; } }
|
||||||
public ISoundProvider SoundProvider { get { return null; } }
|
public ISoundProvider SoundProvider { get { return null; } }
|
||||||
public ISyncSoundProvider SyncSoundProvider { get { return this; } }
|
public ISyncSoundProvider SyncSoundProvider { get { return this; } }
|
||||||
|
|
|
@ -60,15 +60,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
public bool CanStep(StepType type) { return false; }
|
public bool CanStep(StepType type) { return false; }
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
this.SyncSettings = (NESSyncSettings)SyncSettings ?? new NESSyncSettings();
|
this.SyncSettings = (NESSyncSettings)SyncSettings ?? new NESSyncSettings();
|
||||||
this.ControllerSettings = this.SyncSettings.Controls;
|
this.ControllerSettings = this.SyncSettings.Controls;
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
Tracer = new TraceBuffer();
|
|
||||||
MemoryCallbacks = new MemoryCallbackSystem();
|
MemoryCallbacks = new MemoryCallbackSystem();
|
||||||
BootGodDB.Initialize();
|
BootGodDB.Initialize();
|
||||||
videoProvider = new MyVideoProvider(this);
|
videoProvider = new MyVideoProvider(this);
|
||||||
|
@ -53,6 +53,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
ser.Register<IDisassemblable>(cpu);
|
ser.Register<IDisassemblable>(cpu);
|
||||||
|
|
||||||
|
Tracer = new TraceBuffer();
|
||||||
|
ser.Register<ITraceable>(Tracer);
|
||||||
|
|
||||||
if (board is BANDAI_FCG_1)
|
if (board is BANDAI_FCG_1)
|
||||||
{
|
{
|
||||||
var reader = (board as BANDAI_FCG_1).reader;
|
var reader = (board as BANDAI_FCG_1).reader;
|
||||||
|
@ -951,7 +954,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
public void Step(StepType type) { throw new NotImplementedException(); }
|
public void Step(StepType type) { throw new NotImplementedException(); }
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
private ITraceable Tracer { get; set; }
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
NESSettings Settings = new NESSettings();
|
NESSettings Settings = new NESSettings();
|
||||||
|
|
|
@ -408,15 +408,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
public void Step(StepType type) { throw new NotImplementedException(); }
|
public void Step(StepType type) { throw new NotImplementedException(); }
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IMemoryCallbackSystem MemoryCallbacks
|
public IMemoryCallbackSystem MemoryCallbacks
|
||||||
{
|
{
|
||||||
[FeatureNotImplemented]
|
[FeatureNotImplemented]
|
||||||
|
|
|
@ -38,6 +38,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
||||||
ServiceProvider = new BasicServiceProvider(this);
|
ServiceProvider = new BasicServiceProvider(this);
|
||||||
MemoryCallbacks = new MemoryCallbackSystem();
|
MemoryCallbacks = new MemoryCallbackSystem();
|
||||||
Tracer = new TraceBuffer();
|
Tracer = new TraceBuffer();
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
|
||||||
|
|
||||||
_game = game;
|
_game = game;
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
|
@ -251,7 +252,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
||||||
// TODO: optimize managed to unmanaged using the ActiveChanged event
|
// TODO: optimize managed to unmanaged using the ActiveChanged event
|
||||||
public IInputCallbackSystem InputCallbacks { [FeatureNotImplemented]get { return _inputCallbacks; } }
|
public IInputCallbackSystem InputCallbacks { [FeatureNotImplemented]get { return _inputCallbacks; } }
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
public ITraceable Tracer { get; private set; }
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
public bool CanStep(StepType type) { return false; }
|
public bool CanStep(StepType type) { return false; }
|
||||||
|
|
|
@ -70,6 +70,8 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
||||||
{
|
{
|
||||||
ServiceProvider = new BasicServiceProvider(this);
|
ServiceProvider = new BasicServiceProvider(this);
|
||||||
Tracer = new TraceBuffer();
|
Tracer = new TraceBuffer();
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
|
||||||
|
|
||||||
MemoryCallbacks = new MemoryCallbackSystem();
|
MemoryCallbacks = new MemoryCallbackSystem();
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
|
|
||||||
|
@ -94,7 +96,7 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
||||||
|
|
||||||
public string BoardName { get { return null; } }
|
public string BoardName { get { return null; } }
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
private ITraceable Tracer { get; set; }
|
||||||
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
public IMemoryCallbackSystem MemoryCallbacks { get; private set; }
|
||||||
|
|
||||||
public PCEngine(CoreComm comm, GameInfo game, Disc disc, object Settings, object syncSettings)
|
public PCEngine(CoreComm comm, GameInfo game, Disc disc, object Settings, object syncSettings)
|
||||||
|
|
|
@ -303,15 +303,6 @@ namespace BizHawk.Emulation.Cores.Sega.Genesis
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int vdpcallback(int level) // Musashi handler
|
int vdpcallback(int level) // Musashi handler
|
||||||
{
|
{
|
||||||
InterruptCallback(level);
|
InterruptCallback(level);
|
||||||
|
|
|
@ -108,7 +108,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
IsSG1000 = game.System == "SG";
|
IsSG1000 = game.System == "SG";
|
||||||
RomData = rom;
|
RomData = rom;
|
||||||
Tracer = new TraceBuffer();
|
Tracer = new TraceBuffer();
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
|
||||||
if (RomData.Length % BankSize != 0)
|
if (RomData.Length % BankSize != 0)
|
||||||
Array.Resize(ref RomData, ((RomData.Length / BankSize) + 1) * BankSize);
|
Array.Resize(ref RomData, ((RomData.Length / BankSize) + 1) * BankSize);
|
||||||
RomBanks = (byte)(RomData.Length / BankSize);
|
RomBanks = (byte)(RomData.Length / BankSize);
|
||||||
|
@ -216,7 +216,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
|
|
||||||
public IEmulatorServiceProvider ServiceProvider { get; private set; }
|
public IEmulatorServiceProvider ServiceProvider { get; private set; }
|
||||||
|
|
||||||
public ITracer Tracer { get; private set; }
|
private ITraceable Tracer { get; set; }
|
||||||
|
|
||||||
string DetermineRegion(string gameRegion)
|
string DetermineRegion(string gameRegion)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
public GPGX(CoreComm comm, byte[] rom, DiscSystem.Disc CD, object Settings, object SyncSettings)
|
public GPGX(CoreComm comm, byte[] rom, DiscSystem.Disc CD, object Settings, object SyncSettings)
|
||||||
{
|
{
|
||||||
ServiceProvider = new BasicServiceProvider(this);
|
ServiceProvider = new BasicServiceProvider(this);
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(_tracer);
|
||||||
// this can influence some things internally
|
// this can influence some things internally
|
||||||
string romextension = "GEN";
|
string romextension = "GEN";
|
||||||
|
|
||||||
|
@ -392,14 +392,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
|
|
||||||
private readonly TraceBuffer _tracer = new TraceBuffer();
|
private readonly TraceBuffer _tracer = new TraceBuffer();
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _tracer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// TODO: use render and rendersound
|
// TODO: use render and rendersound
|
||||||
|
|
|
@ -201,6 +201,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
public Octoshock(CoreComm comm, List<DiscSystem.Disc> discs, List<string> discNames, byte[] exe, object settings, object syncSettings)
|
public Octoshock(CoreComm comm, List<DiscSystem.Disc> discs, List<string> discNames, byte[] exe, object settings, object syncSettings)
|
||||||
{
|
{
|
||||||
ServiceProvider = new BasicServiceProvider(this);
|
ServiceProvider = new BasicServiceProvider(this);
|
||||||
|
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(tracer);
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
DriveLightEnabled = true;
|
DriveLightEnabled = true;
|
||||||
|
|
||||||
|
@ -996,7 +997,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
OctoshockDll.shock_SetRegister_CPU(psx, index, (uint)value);
|
OctoshockDll.shock_SetRegister_CPU(psx, index, (uint)value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ITracer Tracer { get { return tracer; } }
|
public ITraceable Tracer { get { return tracer; } }
|
||||||
|
|
||||||
public int ShockTraceCallback(IntPtr opaque, uint PC, uint inst, string dis)
|
public int ShockTraceCallback(IntPtr opaque, uint PC, uint inst, string dis)
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,15 +133,6 @@ namespace BizHawk.Emulation.Cores.WonderSwan
|
||||||
|
|
||||||
public IEmulatorServiceProvider ServiceProvider { get; private set; }
|
public IEmulatorServiceProvider ServiceProvider { get; private set; }
|
||||||
|
|
||||||
public ITracer Tracer
|
|
||||||
{
|
|
||||||
[FeatureNotImplemented]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
if (Core != IntPtr.Zero)
|
if (Core != IntPtr.Zero)
|
||||||
|
|
Loading…
Reference in New Issue