gpgx - fully connect lockable swappable elfrunner. core should theoretically be multi-instance safe now

This commit is contained in:
nattthebear 2016-03-25 22:19:18 -04:00
parent ae7bafe86f
commit 0e9a34a074
2 changed files with 7 additions and 5 deletions

View File

@ -33,9 +33,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
if (Controller["Power"])
Core.gpgx_reset(true);
// do we really have to get each time? nothing has changed
if (!Core.gpgx_get_control(input, inputsize))
throw new Exception("gpgx_get_control() failed!");
// this shouldn't be needed, as nothing has changed
// if (!Core.gpgx_get_control(input, inputsize))
// throw new Exception("gpgx_get_control() failed!");
ControlConverter.ScreenWidth = vwidth;
ControlConverter.ScreenHeight = vheight;

View File

@ -69,8 +69,10 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
try
{
Elf = new ElfRunner(Path.Combine(comm.CoreFileProvider.DllPath(), "gpgx.elf"), 256 * 1024, 36 * 1024 * 1024, 4 * 1024 * 1024);
Core = BizInvoker.GetInvoker<LibGPGX>(Elf);
if (Elf.ShouldMonitor)
Core = BizInvoker.GetInvoker<LibGPGX>(Elf, Elf);
else
Core = BizInvoker.GetInvoker<LibGPGX>(Elf);
_syncSettings = (GPGXSyncSettings)SyncSettings ?? new GPGXSyncSettings();
_settings = (GPGXSettings)Settings ?? new GPGXSettings();