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();