diff --git a/src/engine/platform/pokey.cpp b/src/engine/platform/pokey.cpp index 8e1bef25..32c677ed 100644 --- a/src/engine/platform/pokey.cpp +++ b/src/engine/platform/pokey.cpp @@ -65,10 +65,12 @@ const char** DivPlatformPOKEY::getRegisterSheet() { } void DivPlatformPOKEY::acquire(short* bufL, short* bufR, size_t start, size_t len) { - if (useAltASAP) + if (useAltASAP) { acquireASAP(bufL, start, len); - else + } + else { acquireMZ(bufL, start, len); + } } void DivPlatformPOKEY::acquireMZ(short* buf, size_t start, size_t len) { @@ -394,10 +396,12 @@ DivDispatchOscBuffer* DivPlatformPOKEY::getOscBuffer(int ch) { } unsigned char* DivPlatformPOKEY::getRegisterPool() { - if (useAltASAP) + if (useAltASAP) { return const_cast(altASAP->getRegisterPool()); - else + } + else { return regPool; + } } int DivPlatformPOKEY::getRegisterPoolSize() { @@ -415,10 +419,12 @@ void DivPlatformPOKEY::reset() { addWrite(0xffffffff,0); } - if (useAltASAP) + if (useAltASAP) { altASAP->reset(); - else + } + else { ResetPokeyState(&pokey); + } audctl=0; audctlChanged=true; @@ -450,9 +456,9 @@ void DivPlatformPOKEY::setFlags(const DivConfig& flags) { oscBuf[i]->rate=rate/14; } - if (useAltASAP) + if (useAltASAP) { altASAP=std::make_unique(chipClock, chipClock); - + } } void DivPlatformPOKEY::poke(unsigned int addr, unsigned short val) { @@ -473,8 +479,9 @@ int DivPlatformPOKEY::init(DivEngine* p, int channels, int sugRate, const DivCon oscBuf[i]=new DivDispatchOscBuffer; } - if (!useAltASAP) + if (!useAltASAP) { MZPOKEYSND_Init(&pokey); + } setFlags(flags); reset(); @@ -487,7 +494,7 @@ void DivPlatformPOKEY::quit() { } } -void DivPlatformPOKEY::setAltASAP(bool value){ +void DivPlatformPOKEY::setAltASAP(bool value) { useAltASAP=value; } diff --git a/src/engine/platform/sound/pokey/AltASAP.cpp b/src/engine/platform/sound/pokey/AltASAP.cpp index befc5b7d..ec5bbf74 100644 --- a/src/engine/platform/sound/pokey/AltASAP.cpp +++ b/src/engine/platform/sound/pokey/AltASAP.cpp @@ -612,7 +612,7 @@ private: }; -Pokey::Pokey( uint32_t pokeyClock, uint32_t sampleRate ) : mPokey{}, mPokeyClock{ pokeyClock }, mSampleRate{ sampleRate } +Pokey::Pokey( uint32_t pokeyClock, uint32_t sampleRate ) : mPokey{ std::make_unique( mPokeyClock, mSampleRate ) }, mPokeyClock{ pokeyClock }, mSampleRate{ sampleRate } { } diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 95f83d94..9f7de2ae 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -103,8 +103,8 @@ const char* c64Cores[]={ }; const char* pokeyCores[]={ - "mzpokeysnd", - "altASAP" + "Atari800 (mzpokeysnd)", + "ASAP (C++ port)" }; const char* pcspkrOutMethods[]={