diff --git a/src/engine/platform/ymz280b.cpp b/src/engine/platform/ymz280b.cpp index 7d1936524..4f9f6a93a 100644 --- a/src/engine/platform/ymz280b.cpp +++ b/src/engine/platform/ymz280b.cpp @@ -136,7 +136,7 @@ void DivPlatformYMZ280B::tick(bool sysTick) { DivSample* s=parent->getSample(chan[i].sample); unsigned char ctrl; switch (s->depth) { - case 2: ctrl=0x20; break; + case 3: ctrl=0x20; break; case 8: ctrl=0x40; break; case 16: ctrl=0x60; break; default: ctrl=0; @@ -146,7 +146,7 @@ void DivPlatformYMZ280B::tick(bool sysTick) { if (chan[i].freq<0) chan[i].freq=0; if (chan[i].freq>511) chan[i].freq=511; // ADPCM has half the range - if (s->depth==2 && chan[i].freq>255) chan[i].freq=255; + if (s->depth==3 && chan[i].freq>255) chan[i].freq=255; ctrl|=(chan[i].active?0x80:0)|((s->loopStart>=0)?0x10:0)|(chan[i].freq>>8); if (chan[i].keyOn) { unsigned int start=s->offYMZ280B; @@ -154,14 +154,14 @@ void DivPlatformYMZ280B::tick(bool sysTick) { unsigned int end=start+s->getCurBufLen(); if (chan[i].audPos>0) { switch (s->depth) { - case 2: start+=chan[i].audPos/2; break; + case 3: start+=chan[i].audPos/2; break; case 8: start+=chan[i].audPos; break; case 16: start+=chan[i].audPos*2; break; } } if (s->loopStart>=0) { switch (s->depth) { - case 2: loop=start+s->loopStart/2; break; + case 3: loop=start+s->loopStart/2; break; case 8: loop=start+s->loopStart; break; case 16: loop=start+s->loopStart*2; break; } diff --git a/src/engine/platform/ymz280b.h b/src/engine/platform/ymz280b.h index 65d2aa48e..4957d8998 100644 --- a/src/engine/platform/ymz280b.h +++ b/src/engine/platform/ymz280b.h @@ -18,7 +18,7 @@ */ #ifndef _YMZ280B_H -#define _QSOUND_H +#define _YMZ280B_H #include "../dispatch.h" #include diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index 7847a6621..108b1eb76 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -93,7 +93,7 @@ bool DivSample::initInternal(unsigned char d, int count) { dataDPCM=new unsigned char[lengthDPCM]; memset(dataDPCM,0,lengthDPCM); break; - case 2: // YMZ ADPCM + case 3: // YMZ ADPCM if (dataZ!=NULL) delete[] dataZ; lengthZ=(count+1)/2; // for padding AICA sample @@ -664,7 +664,7 @@ void DivSample::render() { } break; } - case 2: // YMZ ADPCM + case 3: // YMZ ADPCM ymz_decode(dataZ,data16,samples); break; case 4: // QSound ADPCM @@ -719,8 +719,8 @@ void DivSample::render() { if (accum>127) accum=127; } } - if (depth!=2) { // YMZ ADPCM - if (!initInternal(2,samples)) return; + if (depth!=3) { // YMZ ADPCM + if (!initInternal(3,samples)) return; ymz_encode(data16,dataZ,(samples+7)&(~0x7)); } if (depth!=4) { // QSound ADPCM @@ -759,7 +759,7 @@ void* DivSample::getCurBuf() { return data1; case 1: return dataDPCM; - case 2: + case 3: return dataZ; case 4: return dataQSoundA; @@ -787,7 +787,7 @@ unsigned int DivSample::getCurBufLen() { return length1; case 1: return lengthDPCM; - case 2: + case 3: return lengthZ; case 4: return lengthQSoundA; diff --git a/src/engine/sample.h b/src/engine/sample.h index 67a687c42..2a8385e9c 100644 --- a/src/engine/sample.h +++ b/src/engine/sample.h @@ -62,7 +62,7 @@ struct DivSample { // valid values are: // - 0: ZX Spectrum overlay drum (1-bit) // - 1: 1-bit NES DPCM (1-bit) - // - 2: YMZ ADPCM + // - 3: YMZ ADPCM // - 4: QSound ADPCM // - 5: ADPCM-A // - 6: ADPCM-B @@ -78,7 +78,7 @@ struct DivSample { short* data16; // 16 unsigned char* data1; // 0 unsigned char* dataDPCM; // 1 - unsigned char* dataZ; // 2 + unsigned char* dataZ; // 3 unsigned char* dataQSoundA; // 4 unsigned char* dataA; // 5 unsigned char* dataB; // 6 diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index 210f941c5..abafed4e1 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -1885,7 +1885,7 @@ void DivEngine::registerSystems() { sysDefs[DIV_SYSTEM_YMZ280B]=new DivSysDef( "Yamaha YMZ280B", NULL, 0xb8, 0, 8, false, true, 0x151, false, - "used in some arcade boards. Has 8 channels of either 4-bit ADPCM, 8-bit PCM or 16-bit PCM.", + "used in some arcade boards. Can play back either 4-bit ADPCM, 8-bit PCM or 16-bit PCM.", {"PCM 1", "PCM 2", "PCM 3", "PCM 4", "PCM 5", "PCM 6", "PCM 7", "PCM 8"}, {"1", "2", "3", "4", "5", "6", "7", "8"}, {DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM}, diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 13cb4986e..44022eded 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -116,8 +116,8 @@ const char* insTypes[DIV_INS_MAX]={ const char* sampleDepths[17]={ "1-bit PCM", "1-bit DPCM", - "YMZ/YMU/AICA ADPCM", NULL, + "YMZ/YMU/AICA ADPCM", "QSound ADPCM", "ADPCM-A", "ADPCM-B",