prepare for proper center rate

the correct rate is 8372Hz rather than 8363Hz
sadly this will require a compat flag so I am not making this change
effective until 0.7

issue #2347
This commit is contained in:
tildearrow 2025-02-06 02:14:21 -05:00
parent b95f9885a4
commit 9dee51851f
39 changed files with 57 additions and 46 deletions

View file

@ -139,7 +139,7 @@ void DivPlatformYMZ280B::tick(bool sysTick) {
case DIV_SAMPLE_DEPTH_16BIT: ctrl=0x60; break;
default: ctrl=0;
}
double off=(s->centerRate>=1)?((double)s->centerRate/8363.0):1.0;
double off=(s->centerRate>=1)?((double)s->centerRate/parent->getCenterRate()):1.0;
chan[i].freq=(int)round(off*parent->calcFreq(chan[i].baseFreq,chan[i].pitch,chan[i].fixedArp?chan[i].baseNoteOverride:chan[i].arpOff,chan[i].fixedArp,false,2,chan[i].pitch2,chipClock,CHIP_FREQBASE)/256.0)-1;
if (chan[i].freq<0) chan[i].freq=0;
if (chan[i].freq>511) chan[i].freq=511;