OPN/A/B/2: fix arp macro stacking

issue #2470
This commit is contained in:
tildearrow 2025-04-30 16:37:41 -05:00
parent 0e21998953
commit ec67106841
5 changed files with 15 additions and 5 deletions

View file

@ -515,7 +515,9 @@ void DivPlatformGenesisExt::tick(bool sysTick) {
} }
} }
if (opChan[i].std.arp.had) { if (NEW_ARP_STRAT) {
opChan[i].handleArp();
} else if (opChan[i].std.arp.had) {
if (!opChan[i].inPorta) { if (!opChan[i].inPorta) {
opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block); opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block);
} }

View file

@ -442,7 +442,9 @@ void DivPlatformYM2203Ext::tick(bool sysTick) {
} }
} }
if (opChan[i].std.arp.had) { if (NEW_ARP_STRAT) {
opChan[i].handleArp();
} else if (opChan[i].std.arp.had) {
if (!opChan[i].inPorta) { if (!opChan[i].inPorta) {
opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block); opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block);
} }

View file

@ -470,7 +470,9 @@ void DivPlatformYM2608Ext::tick(bool sysTick) {
} }
} }
if (opChan[i].std.arp.had) { if (NEW_ARP_STRAT) {
opChan[i].handleArp();
} else if (opChan[i].std.arp.had) {
if (!opChan[i].inPorta) { if (!opChan[i].inPorta) {
opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block); opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block);
} }

View file

@ -463,7 +463,9 @@ void DivPlatformYM2610BExt::tick(bool sysTick) {
} }
} }
if (opChan[i].std.arp.had) { if (NEW_ARP_STRAT) {
opChan[i].handleArp();
} else if (opChan[i].std.arp.had) {
if (!opChan[i].inPorta) { if (!opChan[i].inPorta) {
opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block); opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block);
} }

View file

@ -463,7 +463,9 @@ void DivPlatformYM2610Ext::tick(bool sysTick) {
} }
} }
if (opChan[i].std.arp.had) { if (NEW_ARP_STRAT) {
opChan[i].handleArp();
} else if (opChan[i].std.arp.had) {
if (!opChan[i].inPorta) { if (!opChan[i].inPorta) {
opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block); opChan[i].baseFreq=NOTE_FNUM_BLOCK(parent->calcArp(opChan[i].note,opChan[i].std.arp.val),11,chan[extChanOffs].state.block);
} }