From 72668155ca2372dacf1e89a5afbae60d073c6c4a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 11 Feb 2023 18:11:01 -0500 Subject: [PATCH] ES5506: oeathohteakvtsavegkbrsgdthnlrbh --- .../vgsound_emu-modified/vgsound_emu/src/es550x/es5506.cpp | 7 +++---- .../vgsound_emu/src/es550x/es550x_alu.cpp | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es5506.cpp b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es5506.cpp index 04466f749..39972e175 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es5506.cpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es5506.cpp @@ -68,7 +68,6 @@ void es5506_core::voice_tick() { m_ch[ca] += m_voice[i].ch(); } - m_voice[i].ch().reset(); } } @@ -95,9 +94,6 @@ void es5506_core::voice_t::fetch(u8 cycle) void es5506_core::voice_t::tick(u8 voice) { - m_output[0] = m_output[1] = 0; - m_ch.reset(); - // Filter execute if (m_alu.busy()) @@ -118,6 +114,9 @@ void es5506_core::voice_t::tick(u8 voice) } } else { m_filter.tick(m_alu.interpolation()); + m_output[0] = m_output[1] = 0; + m_ch.reset(); + } // Envelope if (m_ecount != 0) diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x_alu.cpp b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x_alu.cpp index c78c9472f..b0621ef77 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x_alu.cpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x_alu.cpp @@ -19,7 +19,7 @@ void es550x_shared_core::es550x_voice_t::es550x_alu_t::reset() m_sample[0] = m_sample[1] = 0; } -bool es550x_shared_core::es550x_voice_t::es550x_alu_t::busy() { return m_cr.stop() == 0; } +bool es550x_shared_core::es550x_voice_t::es550x_alu_t::busy() { return !(m_cr.m_stop0 || m_cr.m_stop1); } bool es550x_shared_core::es550x_voice_t::es550x_alu_t::tick() {