From d981e59c59d25c24f4bc50fd37685ef5d6e4e168 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 4 Oct 2022 00:46:16 -0500 Subject: [PATCH] (12*sampleBank+c.value%12) --- src/engine/platform/ay.cpp | 1 + src/engine/platform/msm6258.cpp | 2 +- src/engine/platform/msm6295.cpp | 2 +- src/engine/platform/x1_010.cpp | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/ay.cpp b/src/engine/platform/ay.cpp index b01d6a9f5..ab2c2c72f 100644 --- a/src/engine/platform/ay.cpp +++ b/src/engine/platform/ay.cpp @@ -776,6 +776,7 @@ void DivPlatformAY8910::setFlags(const DivConfig& flags) { if (extMode) { chipClock=extClock; rate=chipClock/extDiv; + clockSel=false; } else { clockSel=flags.getBool("halfClock",false); switch (flags.getInt("clockSel",0)) { diff --git a/src/engine/platform/msm6258.cpp b/src/engine/platform/msm6258.cpp index 3d8ec38c5..17e88ae6d 100644 --- a/src/engine/platform/msm6258.cpp +++ b/src/engine/platform/msm6258.cpp @@ -167,7 +167,7 @@ int DivPlatformMSM6258::dispatch(DivCommand c) { chan[c.chan].sample=-1; chan[c.chan].macroInit(NULL); chan[c.chan].outVol=chan[c.chan].vol; - if ((12*sampleBank+c.value%12)>=parent->song.sampleLen) { + if ((12*sampleBank+c.value%12)<0 || (12*sampleBank+c.value%12)>=parent->song.sampleLen) { break; } //DivSample* s=parent->getSample(12*sampleBank+c.value%12); diff --git a/src/engine/platform/msm6295.cpp b/src/engine/platform/msm6295.cpp index 0f570d9c3..d22aabd55 100644 --- a/src/engine/platform/msm6295.cpp +++ b/src/engine/platform/msm6295.cpp @@ -158,7 +158,7 @@ int DivPlatformMSM6295::dispatch(DivCommand c) { chan[c.chan].sample=-1; chan[c.chan].macroInit(NULL); chan[c.chan].outVol=chan[c.chan].vol; - if ((12*sampleBank+c.value%12)>=parent->song.sampleLen) { + if ((12*sampleBank+c.value%12)<0 || (12*sampleBank+c.value%12)>=parent->song.sampleLen) { break; } //DivSample* s=parent->getSample(12*sampleBank+c.value%12); diff --git a/src/engine/platform/x1_010.cpp b/src/engine/platform/x1_010.cpp index 371e311b4..6f220242c 100644 --- a/src/engine/platform/x1_010.cpp +++ b/src/engine/platform/x1_010.cpp @@ -561,6 +561,7 @@ int DivPlatformX1_010::dispatch(DivCommand c) { } else { chan[c.chan].macroInit(NULL); chan[c.chan].outVol=chan[c.chan].vol; + // huh? if ((12*sampleBank+c.value%12)>=parent->song.sampleLen) { chWrite(c.chan,0,0); // reset chWrite(c.chan,1,0);