TIA: fix non-working arp macro

This commit is contained in:
tildearrow 2023-02-05 03:54:30 -05:00
parent 1a24fbe35f
commit 3cacbe4434
1 changed files with 17 additions and 12 deletions

View File

@ -135,9 +135,12 @@ void DivPlatformTIA::tick(bool sysTick) {
int bf=chan[i].baseFreq;
if (!parent->song.oldArpStrategy) {
if (!chan[i].fixedArp) {
bf+=chan[i].arpOff;
bf+=chan[i].arpOff<<8;
}
}
if (chan[i].fixedArp) {
chan[i].freq=chan[i].baseNoteOverride&31;
} else {
chan[i].freq=dealWithFreq(chan[i].shape,bf,chan[i].pitch+chan[i].pitch2);
if ((chan[i].shape==4 || chan[i].shape==5) && !(chan[i].baseFreq&0x80000000 && ((chan[i].baseFreq&0x7fffffff)<32))) {
if (bf<39*256) {
@ -151,6 +154,8 @@ void DivPlatformTIA::tick(bool sysTick) {
}
}
if (chan[i].freq>31) chan[i].freq=31;
}
if (chan[i].keyOff) {
rWrite(0x19+i,0);
}