From 913457be40b31ad782a2a01449f8554da0b7e8f9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 11 Jan 2026 00:49:33 -0500 Subject: [PATCH] MSM5232: fix multi-threaded audio --- src/engine/platform/sound/oki/msm5232.cpp | 9 +++++++-- src/engine/platform/sound/oki/msm5232.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/sound/oki/msm5232.cpp b/src/engine/platform/sound/oki/msm5232.cpp index 0aad02af1..83979f66a 100644 --- a/src/engine/platform/sound/oki/msm5232.cpp +++ b/src/engine/platform/sound/oki/msm5232.cpp @@ -26,6 +26,13 @@ void msm5232_device::device_start() { int rate = m_clock/CLOCK_RATE_DIVIDER; + o2=0; + o4=0; + o8=0; + o16=0; + solo8=0; + solo16=0; + init(m_clock, rate); } @@ -528,8 +535,6 @@ void msm5232_device::EG_voices_advance() } -static int o2,o4,o8,o16,solo8,solo16; - void msm5232_device::TG_group_advance(int groupidx) { VOICE *voi = &m_voi[groupidx*4]; diff --git a/src/engine/platform/sound/oki/msm5232.h b/src/engine/platform/sound/oki/msm5232.h index 641b460ea..9c5c33dd1 100644 --- a/src/engine/platform/sound/oki/msm5232.h +++ b/src/engine/platform/sound/oki/msm5232.h @@ -81,6 +81,8 @@ private: int m_noise_rng; int m_noise_clocks; /* number of the noise_rng (output) level changes */ + int o2,o4,o8,o16,solo8,solo16; + unsigned int m_UpdateStep; /* rate tables */