void CreateNewContextAndRemoveOldOne()
{
Console.WriteLine("----------------------------------------------");
// Stops the current context if it has one already.
if (PspRunner != null)
{
PspRunner.StopSynchronized();
InjectContext.GetInstance<PspMemory>().Dispose();
InjectContext.GetInstance<GpuImpl>().StopSynchronized();
InjectContext.GetInstance<PspAudioImpl>().StopSynchronized();
PspRunner = null;
_InjectContext.Dispose();
_InjectContext = null;
GC.Collect();
}
lock (this)
{
_InjectContext = PspInjectContext.CreateInjectContext(StoredConfig, Test: false);
_InjectContext.SetInstanceType<IGuiExternalInterface, PspEmulator>();
_InjectContext.InjectDependencesTo(this);
PspRunner.StartSynchronized();
}
//GpuImpl.InitSynchronizedOnce();
}