fix atari 2600 and pc engine similarly

This commit is contained in:
adelikat 2015-01-15 15:56:41 +00:00
parent 798f882457
commit bd74041cde
2 changed files with 11 additions and 10 deletions

View File

@ -26,6 +26,9 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
[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)
{ {
var ser = new BasicServiceProvider(this);
ServiceProvider = ser;
Tracer = new TraceBuffer(); Tracer = new TraceBuffer();
MemoryCallbacks = new MemoryCallbackSystem(); MemoryCallbacks = new MemoryCallbackSystem();
InputCallbacks = new InputCallbackSystem(); InputCallbacks = new InputCallbackSystem();
@ -47,11 +50,10 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
RebootCore(); RebootCore();
SetupMemoryDomains(); SetupMemoryDomains();
var ser = new BasicServiceProvider(this);
ser.Register<IDisassemblable>(Cpu); ser.Register<IDisassemblable>(Cpu);
ser.Register<ITraceable>(Tracer); ser.Register<ITraceable>(Tracer);
ser.Register<IVideoProvider>(_tia); ser.Register<IVideoProvider>(_tia);
ServiceProvider = ser;
} }
public IEmulatorServiceProvider ServiceProvider { get; private set; } public IEmulatorServiceProvider ServiceProvider { get; private set; }

View File

@ -157,6 +157,9 @@ namespace BizHawk.Emulation.Cores.PCEngine
void Init(GameInfo game, byte[] rom) void Init(GameInfo game, byte[] rom)
{ {
var ser = new BasicServiceProvider(this);
ServiceProvider = ser;
Controller = NullController.GetNullController(); Controller = NullController.GetNullController();
Cpu = new HuC6280(this); Cpu = new HuC6280(this);
VCE = new VCE(); VCE = new VCE();
@ -297,15 +300,11 @@ namespace BizHawk.Emulation.Cores.PCEngine
Cpu.ResetPC(); Cpu.ResetPC();
SetupMemoryDomains(); SetupMemoryDomains();
{
var ser = new BasicServiceProvider(this);
ServiceProvider = ser;
Tracer = new TraceBuffer(); Tracer = new TraceBuffer();
ser.Register<ITraceable>(Tracer); ser.Register<ITraceable>(Tracer);
ser.Register<IDisassemblable>(Cpu); ser.Register<IDisassemblable>(Cpu);
ser.Register<IVideoProvider>((IVideoProvider)VPC ?? VDC1); ser.Register<IVideoProvider>((IVideoProvider)VPC ?? VDC1);
} }
}
int lagCount; int lagCount;
int frame; int frame;