From 63f67f33b86ec45167faca1284da583ca7c686bf Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 18 Dec 2022 06:40:14 +0900 Subject: [PATCH 1/4] Fix build --- src/engine/platform/ymz280b.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/platform/ymz280b.h b/src/engine/platform/ymz280b.h index d2f2f1bbd..810d52230 100644 --- a/src/engine/platform/ymz280b.h +++ b/src/engine/platform/ymz280b.h @@ -35,6 +35,7 @@ class DivPlatformYMZ280B: public DivDispatch { SharedChannel(255), audPos(0), sample(-1), + wave(-1), panning(8), setPos(false), isNewYMZ(false), From c801227b57b76ea74ac9ac3ada218bde6e66e9e2 Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 18 Dec 2022 06:40:36 +0900 Subject: [PATCH 2/4] Fix build(again) --- src/engine/platform/rf5c68.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/platform/rf5c68.h b/src/engine/platform/rf5c68.h index c22688c3b..2703a2900 100644 --- a/src/engine/platform/rf5c68.h +++ b/src/engine/platform/rf5c68.h @@ -35,6 +35,7 @@ class DivPlatformRF5C68: public DivDispatch { SharedChannel(255), audPos(0), sample(-1), + wave(-1), panning(255), setPos(false), macroVolMul(64) {} From a3dacf793b7606bce0ef7c643b65c5c3e193106a Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 18 Dec 2022 06:42:40 +0900 Subject: [PATCH 3/4] Fix build --- src/engine/platform/ay.h | 3 ++- src/engine/platform/ay8930.h | 3 ++- src/engine/platform/fmshared_OPN.h | 1 + src/engine/platform/qsound.h | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/ay.h b/src/engine/platform/ay.h index 430d5631c..e8d7efcec 100644 --- a/src/engine/platform/ay.h +++ b/src/engine/platform/ay.h @@ -80,7 +80,8 @@ class DivPlatformAY8910: public DivDispatch { nextPSGMode(PSGMode(1)), dac(DAC()), autoEnvNum(0), - autoEnvDen(0) {} + autoEnvDen(0), + konCycles(0) {} }; Channel chan[3]; bool isMuted[3]; diff --git a/src/engine/platform/ay8930.h b/src/engine/platform/ay8930.h index d51ebf0de..0bd2171a1 100644 --- a/src/engine/platform/ay8930.h +++ b/src/engine/platform/ay8930.h @@ -90,7 +90,8 @@ class DivPlatformAY8930: public DivDispatch { dac(DAC()), autoEnvNum(0), autoEnvDen(0), - duty(4) {} + duty(4), + konCycles(0) {} }; Channel chan[3]; bool isMuted[3]; diff --git a/src/engine/platform/fmshared_OPN.h b/src/engine/platform/fmshared_OPN.h index 19eec0aab..a8ec67723 100644 --- a/src/engine/platform/fmshared_OPN.h +++ b/src/engine/platform/fmshared_OPN.h @@ -133,6 +133,7 @@ class DivPlatformOPN: public DivPlatformFMBase { freqH(0), freqL(0), portaPauseFreq(0), + konCycles(0), mask(true) {} }; diff --git a/src/engine/platform/qsound.h b/src/engine/platform/qsound.h index 18eb886b4..dbdffd051 100644 --- a/src/engine/platform/qsound.h +++ b/src/engine/platform/qsound.h @@ -35,6 +35,7 @@ class DivPlatformQSound: public DivDispatch { SharedChannel(255), resVol(4095), sample(-1), + wave(-1), panning(0x10), echo(0), useWave(false), From 710cf0bdae9065814331fed58c25c65fabae0a63 Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 18 Dec 2022 06:54:19 +0900 Subject: [PATCH 4/4] Remove unused function in MSM6258 MSM6258 has no dedicated sample memory, instead sample data is feeding from CPU or DMA --- src/engine/platform/msm6258.cpp | 50 --------------------------------- src/engine/platform/msm6258.h | 10 +------ 2 files changed, 1 insertion(+), 59 deletions(-) diff --git a/src/engine/platform/msm6258.cpp b/src/engine/platform/msm6258.cpp index 04ed970ae..2d38e6f7f 100644 --- a/src/engine/platform/msm6258.cpp +++ b/src/engine/platform/msm6258.cpp @@ -355,53 +355,6 @@ void DivPlatformMSM6258::notifyInsChange(int ins) { void DivPlatformMSM6258::notifyInsDeletion(void* ins) { } -const void* DivPlatformMSM6258::getSampleMem(int index) { - return index == 0 ? adpcmMem : NULL; -} - -size_t DivPlatformMSM6258::getSampleMemCapacity(int index) { - return index == 0 ? 262144 : 0; -} - -size_t DivPlatformMSM6258::getSampleMemUsage(int index) { - return index == 0 ? adpcmMemLen : 0; -} - -bool DivPlatformMSM6258::isSampleLoaded(int index, int sample) { - if (index!=0) return false; - if (sample<0 || sample>255) return false; - return sampleLoaded[sample]; -} - -void DivPlatformMSM6258::renderSamples(int sysID) { - memset(adpcmMem,0,getSampleMemCapacity(0)); - memset(sampleLoaded,0,256*sizeof(bool)); - - // sample data - size_t memPos=0; - int sampleCount=parent->song.sampleLen; - if (sampleCount>128) sampleCount=128; - for (int i=0; isong.sample[i]; - if (!s->renderOn[0][sysID]) continue; - - int paddedLen=s->lengthVOX; - if (memPos>=getSampleMemCapacity(0)) { - logW("out of ADPCM memory for sample %d!",i); - break; - } - if (memPos+paddedLen>=getSampleMemCapacity(0)) { - memcpy(adpcmMem+memPos,s->dataVOX,getSampleMemCapacity(0)-memPos); - logW("out of ADPCM memory for sample %d!",i); - } else { - memcpy(adpcmMem+memPos,s->dataVOX,paddedLen); - sampleLoaded[i]=true; - } - memPos+=paddedLen; - } - adpcmMemLen=memPos+256; -} - void DivPlatformMSM6258::setFlags(const DivConfig& flags) { switch (flags.getInt("clockSel",0)) { case 3: @@ -426,8 +379,6 @@ void DivPlatformMSM6258::setFlags(const DivConfig& flags) { int DivPlatformMSM6258::init(DivEngine* p, int channels, int sugRate, const DivConfig& flags) { parent=p; - adpcmMem=new unsigned char[getSampleMemCapacity(0)]; - adpcmMemLen=0; dumpWrites=false; skipRegisterWrites=false; updateOsc=0; @@ -447,7 +398,6 @@ void DivPlatformMSM6258::quit() { delete oscBuf[i]; } delete msm; - delete[] adpcmMem; } DivPlatformMSM6258::~DivPlatformMSM6258() { diff --git a/src/engine/platform/msm6258.h b/src/engine/platform/msm6258.h index 28f04f92f..d64d40b43 100644 --- a/src/engine/platform/msm6258.h +++ b/src/engine/platform/msm6258.h @@ -48,9 +48,6 @@ class DivPlatformMSM6258: public DivDispatch { okim6258_device* msm; unsigned char lastBusy; - unsigned char* adpcmMem; - size_t adpcmMemLen; - bool sampleLoaded[256]; unsigned char sampleBank, msmPan, msmDivider, rateSel, msmClock, clockSel; signed char msmDividerCount, msmClockCount; short msmOut; @@ -80,12 +77,7 @@ class DivPlatformMSM6258: public DivDispatch { void poke(std::vector& wlist); void setFlags(const DivConfig& flags); const char** getRegisterSheet(); - const void* getSampleMem(int index); - size_t getSampleMemCapacity(int index); - size_t getSampleMemUsage(int index); - bool isSampleLoaded(int index, int sample); - void renderSamples(int chipID); - + int init(DivEngine* parent, int channels, int sugRate, const DivConfig& flags); void quit(); ~DivPlatformMSM6258();