diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 679a65462..c0c93a1fb 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -2461,7 +2461,11 @@ void DivPlatformOPL::setFlags(const DivConfig& flags) { switch (flags.getInt("chipType",0)) { case 1: // YMF289B chipFreqBase=32768*684; - rate=chipClock/768; + if (emuCore==2) { + rate=chipClock/684; + } else { + rate=chipClock/768; + } chipRateBase=chipClock/684; downsample=true; totalOutputs=2; // Stereo output only diff --git a/src/engine/platform/opl.h b/src/engine/platform/opl.h index 5f2fd7d28..e76aae834 100644 --- a/src/engine/platform/opl.h +++ b/src/engine/platform/opl.h @@ -82,6 +82,7 @@ class DivPlatformOPL: public DivDispatch { bool lastSH2; bool lastSY; bool waitingBusy; + int downsamplerStep; unsigned char* adpcmBMem; size_t adpcmBMemLen;