diff --git a/src/engine/platform/c140.cpp b/src/engine/platform/c140.cpp index aadc7c168..b679aaeee 100644 --- a/src/engine/platform/c140.cpp +++ b/src/engine/platform/c140.cpp @@ -448,7 +448,7 @@ void DivPlatformC140::renderSamples(int sysID) { } else { if (s->depth==DIV_SAMPLE_DEPTH_MULAW) { for (unsigned int i=0; idataMuLaw[i]<<8); + sampleMem[i+(memPos/sizeof(short))]=((s->dataMuLaw[i])<<8); } } else { memcpy(sampleMem+(memPos/sizeof(short)),s->data16,length); diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index 8ddcf2297..c2ff85a6a 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -1266,10 +1266,11 @@ void DivSample::render(unsigned int formatMask) { if (!initInternal(DIV_SAMPLE_DEPTH_MULAW,samples)) return; for (unsigned int i=0; i>24)|((s.i&0x03f80000)>>19))^0xff; + dataMuLaw[i]=(((data16[i]<0)?0x80:0)|(s.i&0x03f80000)>>19)^0xff; } } }