From 8a9fb029a29a8a0f653ce4a8e011453834ef1fda Mon Sep 17 00:00:00 2001 From: angelosa Date: Tue, 7 Jan 2025 09:22:22 +0100 Subject: [PATCH] amiga/paula.cpp: refine silence on empty DMA buffers --- src/mame/amiga/paula.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mame/amiga/paula.cpp b/src/mame/amiga/paula.cpp index 26b1e1df22b..644599ff898 100644 --- a/src/mame/amiga/paula.cpp +++ b/src/mame/amiga/paula.cpp @@ -363,11 +363,12 @@ void paula_device::sound_stream_update(sound_stream &stream, std::vectorcurlength == 0) { dma_reload(chan, false); - // reload the data pointer, otherwise aliasing / buzzing outside the given buffer will be heard - // For example: Xenon 2 sets up location=0x63298 length=0x20 + // silence the data pointer, avoid DC offset + // - xenon2 sets up location=0x63298 length=0x20 // for silencing channels on-the-fly without relying on irqs. // Without this the location will read at 0x632d8 (data=0x7a7d), causing annoying buzzing. - chan->dat = m_chipmem_r(chan->curlocation); + // - Ocean games (bchvolly, batmancc) also rely on this + chan->dat = 0; //m_chipmem_r(chan->curlocation); } }