From f2b974acc54d913b286c5ff153dcb0bbb0dbce62 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 27 Apr 2022 22:57:36 -0500 Subject: [PATCH] SoundUnit: ring modulation --- src/engine/platform/sound/su.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/platform/sound/su.cpp b/src/engine/platform/sound/su.cpp index 69b02a78..a9e6d243 100644 --- a/src/engine/platform/sound/su.cpp +++ b/src/engine/platform/sound/su.cpp @@ -33,6 +33,10 @@ void SoundUnit::NextSample(short* l, short* r) { ns[i]=((((cycle[i]>>15)&127)>chan[i].duty)*127)^(short)SCtriangle[(cycle[i]>>14)&255]; break; } + + if (chan[i].flags.ring) { + ns[i]=(ns[i]*ns[(i+1)&7])>>7; + } if (chan[i].flags.pcm) { if (chan[i].freq>0x8000) {