From b9a4b568b69c47ad0622d81225b9fd176a5d30e2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 23 Sep 2022 13:28:57 -0500 Subject: [PATCH] i honestly don't agree with this compat flag --- src/engine/fileOps.cpp | 2 -- src/engine/platform/opl.cpp | 6 ++---- src/engine/song.h | 2 -- src/gui/compatFlags.cpp | 4 ---- 4 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 7eb148ea..2757ac27 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -179,7 +179,6 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ds.brokenPortaArp=false; ds.snNoLowPeriods=true; ds.ignorePCEDACVolume=true; - ds.newY8950PCMFreq=false; ds.delayBehavior=0; ds.jumpTreatment=2; @@ -1103,7 +1102,6 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { ds.autoSystem=false; } ds.ignorePCEDACVolume=true; - ds.newY8950PCMFreq=false; ds.isDMF=false; reader.readS(); // reserved diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index 148ce279..d44d6271 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -28,8 +28,6 @@ #define KVSL(x,y) ((chan[x].state.op[orderedOpsL1[ops==4][y]].kvs==2 && isOutputL[ops==4][chan[x].state.alg][y]) || chan[x].state.op[orderedOpsL1[ops==4][y]].kvs==1) -#define OPLPCMDiv (parent->song.newY8950PCMFreq?((oplType==3)?288:72):144) - #define CHIP_FREQBASE chipFreqBase // N = invalid @@ -276,7 +274,7 @@ double DivPlatformOPL::NOTE_ADPCMB(int note) { if (adpcmChan<0) return 0; if (chan[adpcmChan].sample>=0 && chan[adpcmChan].samplesong.sampleLen) { double off=65535.0*(double)(parent->getSample(chan[adpcmChan].sample)->centerRate)/8363.0; - return parent->calcBaseFreq((double)chipClock/OPLPCMDiv,off,note,false); + return parent->calcBaseFreq((double)chipClock/144,off,note,false); } return 0; } @@ -506,7 +504,7 @@ void DivPlatformOPL::tick(bool sysTick) { if (chan[adpcmChan].freqChanged || chan[adpcmChan].keyOn || chan[adpcmChan].keyOff) { if (chan[adpcmChan].sample>=0 && chan[adpcmChan].samplesong.sampleLen) { double off=65535.0*(double)(parent->getSample(chan[adpcmChan].sample)->centerRate)/8363.0; - chan[adpcmChan].freq=parent->calcFreq(chan[adpcmChan].baseFreq,chan[adpcmChan].pitch,false,4,chan[adpcmChan].pitch2,(double)chipClock/OPLPCMDiv,off); + chan[adpcmChan].freq=parent->calcFreq(chan[adpcmChan].baseFreq,chan[adpcmChan].pitch,false,4,chan[adpcmChan].pitch2,(double)chipClock/144,off); } else { chan[adpcmChan].freq=0; } diff --git a/src/engine/song.h b/src/engine/song.h index 9f5ca154..28a31c75 100644 --- a/src/engine/song.h +++ b/src/engine/song.h @@ -512,7 +512,6 @@ struct DivSong { bool brokenPortaArp; bool snNoLowPeriods; bool ignorePCEDACVolume; - bool newY8950PCMFreq; bool autoSystem; std::vector ins; @@ -619,7 +618,6 @@ struct DivSong { brokenPortaArp(false), snNoLowPeriods(false), ignorePCEDACVolume(true), - newY8950PCMFreq(false), autoSystem(true) { for (int i=0; i<32; i++) { system[i]=DIV_SYSTEM_NULL; diff --git a/src/gui/compatFlags.cpp b/src/gui/compatFlags.cpp index 80e9b0f5..c3627efa 100644 --- a/src/gui/compatFlags.cpp +++ b/src/gui/compatFlags.cpp @@ -147,10 +147,6 @@ void FurnaceGUI::drawCompatFlags() { if (ImGui::IsItemHovered()) { ImGui::SetTooltip("when enabled, PC Engine DAC Volume is ignored."); } - ImGui::Checkbox("New Y8950 Frequency calculation",&e->song.newY8950PCMFreq); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("when enabled, use corrected Y8950 frequency calculation"); - } ImGui::Text("Pitch linearity:"); if (ImGui::RadioButton("None",e->song.linearPitch==0)) {