TIA: fix non-working arp macro

This commit is contained in:
tildearrow 2023-02-05 03:54:30 -05:00
parent 1a24fbe35f
commit 3cacbe4434

View file

@ -135,9 +135,12 @@ void DivPlatformTIA::tick(bool sysTick) {
int bf=chan[i].baseFreq; int bf=chan[i].baseFreq;
if (!parent->song.oldArpStrategy) { if (!parent->song.oldArpStrategy) {
if (!chan[i].fixedArp) { 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); 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 ((chan[i].shape==4 || chan[i].shape==5) && !(chan[i].baseFreq&0x80000000 && ((chan[i].baseFreq&0x7fffffff)<32))) {
if (bf<39*256) { 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].freq>31) chan[i].freq=31;
}
if (chan[i].keyOff) { if (chan[i].keyOff) {
rWrite(0x19+i,0); rWrite(0x19+i,0);
} }