From dbff00404cbe76f3e65edeb37543041a9a7f290f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 17 Dec 2022 02:43:07 -0500 Subject: [PATCH] fix fix fix --- src/engine/platform/gb.cpp | 2 +- src/engine/platform/genesisext.cpp | 4 ++-- src/engine/platform/nes.cpp | 2 +- src/engine/platform/ym2203ext.cpp | 4 ++-- src/engine/platform/ym2608ext.cpp | 4 ++-- src/engine/platform/ym2610bext.cpp | 4 ++-- src/engine/platform/ym2610ext.cpp | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/engine/platform/gb.cpp b/src/engine/platform/gb.cpp index 2484dfbac..e84d212b6 100644 --- a/src/engine/platform/gb.cpp +++ b/src/engine/platform/gb.cpp @@ -163,7 +163,7 @@ void DivPlatformGB::tick(bool sysTick) { } } } - if (NEW_ARP_STRAT) { + if (NEW_ARP_STRAT && i!=3) { chan[i].handleArp(); } else if (chan[i].std.arp.had) { if (i==3) { // noise diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 75cbf9550..6bf151a0c 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -560,9 +560,9 @@ void DivPlatformGenesisExt::tick(bool sysTick) { if (extMode) for (int i=0; i<4; i++) { if (opChan[i].freqChanged) { if (parent->song.linearPitch==2) { - opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,0,false,false,2,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); + opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,2,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); } else { - int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,0,false,false,2,opChan[i].pitch2); + int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,2,opChan[i].pitch2); int block=(opChan[i].baseFreq&0xf800)>>11; if (fNum<0) fNum=0; if (fNum>2047) { diff --git a/src/engine/platform/nes.cpp b/src/engine/platform/nes.cpp index a545b46db..5e9793a8e 100644 --- a/src/engine/platform/nes.cpp +++ b/src/engine/platform/nes.cpp @@ -217,7 +217,7 @@ void DivPlatformNES::tick(bool sysTick) { rWrite(0x4000+i*4,(chan[i].envMode<<4)|chan[i].outVol|((chan[i].duty&3)<<6)); } } - if (NEW_ARP_STRAT) { + if (NEW_ARP_STRAT && i!=3) { chan[i].handleArp(); } else if (chan[i].std.arp.had) { if (i==3) { // noise diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index d21b8a9df..add360b06 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -367,9 +367,9 @@ void DivPlatformYM2203Ext::tick(bool sysTick) { if (extMode) for (int i=0; i<4; i++) { if (opChan[i].freqChanged) { if (parent->song.linearPitch==2) { - opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,0,false,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); + opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); } else { - int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,0,false,false,4,opChan[i].pitch2); + int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2); int block=(opChan[i].baseFreq&0xf800)>>11; if (fNum<0) fNum=0; if (fNum>2047) { diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index 47c63b59e..179a632a8 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -384,9 +384,9 @@ void DivPlatformYM2608Ext::tick(bool sysTick) { if (extMode) for (int i=0; i<4; i++) { if (opChan[i].freqChanged) { if (parent->song.linearPitch==2) { - opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,0,false,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); + opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); } else { - int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,0,false,false,4,opChan[i].pitch2); + int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2); int block=(opChan[i].baseFreq&0xf800)>>11; if (fNum<0) fNum=0; if (fNum>2047) { diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index 8c92b92ad..adde670a7 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -380,9 +380,9 @@ void DivPlatformYM2610BExt::tick(bool sysTick) { if (extMode) for (int i=0; i<4; i++) { if (opChan[i].freqChanged) { if (parent->song.linearPitch==2) { - opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,0,false,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); + opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); } else { - int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,0,false,false,4,opChan[i].pitch2); + int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2); int block=(opChan[i].baseFreq&0xf800)>>11; if (fNum<0) fNum=0; if (fNum>2047) { diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index e20d00a7b..a86df5858 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -380,9 +380,9 @@ void DivPlatformYM2610Ext::tick(bool sysTick) { if (extMode) for (int i=0; i<4; i++) { if (opChan[i].freqChanged) { if (parent->song.linearPitch==2) { - opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,0,false,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); + opChan[i].freq=parent->calcFreq(opChan[i].baseFreq,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2,chipClock,CHIP_FREQBASE,11); } else { - int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,0,false,false,4,opChan[i].pitch2); + int fNum=parent->calcFreq(opChan[i].baseFreq&0x7ff,opChan[i].pitch,opChan[i].fixedArp?opChan[i].baseNoteOverride:opChan[i].arpOff,opChan[i].fixedArp,false,4,opChan[i].pitch2); int block=(opChan[i].baseFreq&0xf800)>>11; if (fNum<0) fNum=0; if (fNum>2047) {