diff --git a/CHANGES b/CHANGES index a1e618cad..322565353 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,7 @@ Emulation fixes: - GBA Memory: Fix STM to VRAM (fixes mgba.io/i/1430) - GB Video: Increment BCPS/OCPS even in mode 3 (fixes mgba.io/i/1462) - GB Audio: Deschedule channel 3 when disabled (fixes mgba.io/i/1463) + - GB Audio: Deschedule channel 1 when disabled by sweep (fixes mgba.io/i/1467) Other fixes: - Switch: Fix threading-related crash on second launch - Qt: Fix FPS target maxing out at 59.727 (fixes mgba.io/i/1421) diff --git a/src/gb/audio.c b/src/gb/audio.c index df92eb848..ce8791308 100644 --- a/src/gb/audio.c +++ b/src/gb/audio.c @@ -511,6 +511,9 @@ void GBAudioUpdateFrame(struct GBAudio* audio, struct mTiming* timing) { audio->playingCh1 = _updateSweep(&audio->ch1, false); *audio->nr52 &= ~0x0001; *audio->nr52 |= audio->playingCh1; + if (!audio->playingCh1) { + mTimingDeschedule(audio->timing, &audio->ch1Event); + } } } // Fall through