From 3ea0ad1e0af868ba71cf1fcc4ab5f712067f177e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 28 Jun 2022 23:32:36 -0500 Subject: [PATCH] OPL: fix pitch macro fixes #535 --- src/engine/platform/opl.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index da760af7e..fa1009b05 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -601,8 +601,9 @@ void DivPlatformOPL::tick(bool sysTick) { if (chan[i].freqChanged) { chan[i].freq=parent->calcFreq(chan[i].baseFreq,chan[i].pitch,false,octave(chan[i].baseFreq)*2,chan[i].pitch2,chipClock,CHIP_FREQBASE); if (chan[i].fixedFreq>0) chan[i].freq=chan[i].fixedFreq; + if (chan[i].freq<0) chan[i].freq=0; if (chan[i].freq>131071) chan[i].freq=131071; - int freqt=toFreq(chan[i].freq)+chan[i].pitch2; + int freqt=toFreq(chan[i].freq); chan[i].freqH=freqt>>8; chan[i].freqL=freqt&0xff; immWrite(chanMap[i]+ADDR_FREQ,chan[i].freqL);