diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs index 41880b875c..5287dc059e 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.IEmulator.cs @@ -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; diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs index 0aba6bdd9e..8269f89144 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs @@ -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(Elf); + if (Elf.ShouldMonitor) + Core = BizInvoker.GetInvoker(Elf, Elf); + else + Core = BizInvoker.GetInvoker(Elf); _syncSettings = (GPGXSyncSettings)SyncSettings ?? new GPGXSyncSettings(); _settings = (GPGXSettings)Settings ?? new GPGXSettings();