From 9f376fbca88db3e9fd169a8b145b7d6932a020a9 Mon Sep 17 00:00:00 2001 From: Floogle <18466542+skyfloogle@users.noreply.github.com> Date: Sun, 1 Mar 2026 09:40:02 +0100 Subject: [PATCH] VSU: fix modmask triggering for every channel --- emu/cores/vsu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/emu/cores/vsu.c b/emu/cores/vsu.c index e56c8e83..b85c4739 100644 --- a/emu/cores/vsu.c +++ b/emu/cores/vsu.c @@ -304,7 +304,10 @@ static void VSU_Write(void* info, UINT16 A, UINT8 V) chip->Frequency[ch] |= V << 0; chip->EffFreq[ch] &= 0xFF00; chip->EffFreq[ch] |= V << 0; - chip->ModLock = 1; + if (ch == 4) + { + chip->ModLock = 1; + } break; case 0x3: @@ -312,7 +315,10 @@ static void VSU_Write(void* info, UINT16 A, UINT8 V) chip->Frequency[ch] |= (V & 0x7) << 8; chip->EffFreq[ch] &= 0x00FF; chip->EffFreq[ch] |= (V & 0x7) << 8; - chip->ModLock = 2; + if (ch == 4) + { + chip->ModLock = 2; + } break; case 0x4: