From 320d965f78c931e7ef78d9ffb04c55d29353a2f0 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 12 Aug 2023 03:42:10 -0500 Subject: [PATCH] =?UTF-8?q?fix=20=C2=B5-law=20encoding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/platform/c140.cpp | 2 +- src/engine/sample.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/engine/platform/c140.cpp b/src/engine/platform/c140.cpp index aadc7c16..b679aaee 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 8ddcf229..c2ff85a6 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; } } }