diff --git a/Assets/dll/gpgx.wbx.gz b/Assets/dll/gpgx.wbx.gz index 1901cd3df3..211dcf101c 100644 Binary files a/Assets/dll/gpgx.wbx.gz and b/Assets/dll/gpgx.wbx.gz differ diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs index b448e9f626..54ec5f4561 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs @@ -359,7 +359,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx if (!Core.gpgx_get_control(input, inputsize)) throw new Exception($"{nameof(Core.gpgx_get_control)}() failed"); - ControlConverter = new GPGXControlConverter(input, false); // _cds != null); + ControlConverter = new GPGXControlConverter(input, _cds != null); ControllerDefinition = ControlConverter.ControllerDef; } diff --git a/waterbox/gpgx/core/cd_hw/cdd.c b/waterbox/gpgx/core/cd_hw/cdd.c index 6fe7475864..25e2381f08 100644 --- a/waterbox/gpgx/core/cd_hw/cdd.c +++ b/waterbox/gpgx/core/cd_hw/cdd.c @@ -157,13 +157,14 @@ void cdd_hotswap(const toc_t *toc) if (toc) { cdd.loaded = 1; - memcpy(&cdd.toc, &toc, sizeof(cdd.toc)); + memcpy(&cdd.toc, toc, sizeof(cdd.toc)); } else { cdd.loaded = 0; memset(&cdd.toc, 0x00, sizeof(cdd.toc)); } + cdd_reset(); }