From 68fc62073d2d6705613439c81d278c3070f1fa96 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sat, 22 Jun 2019 23:17:58 -0700 Subject: [PATCH] GB Audio: Only reset channel 3 sample in DMG mode --- CHANGES | 1 + src/gb/audio.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index c452e9fb7..0fed364fe 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,7 @@ Emulation fixes: - GB I/O: Filter IE top bits properly (fixes mgba.io/i/1329) - GBA Video: Fix wrapped sprite mosaic clamping (fixes mgba.io/i/1432) - GBA Memory: Fix STM to VRAM (fixes mgba.io/i/1430) + - GB Audio: Only reset channel 3 sample in DMG mode Other fixes: - Qt: Fix some Qt display driver race conditions - Core: Improved lockstep driver reliability (Le Hoang Quyen) diff --git a/src/gb/audio.c b/src/gb/audio.c index 08ba1fa9e..01e66802b 100644 --- a/src/gb/audio.c +++ b/src/gb/audio.c @@ -329,7 +329,9 @@ void GBAudioWriteNR34(struct GBAudio* audio, uint8_t value) { } } audio->ch3.window = 0; - audio->ch3.sample = 0; + if (audio->style == GB_AUDIO_DMG) { + audio->ch3.sample = 0; + } } mTimingDeschedule(audio->timing, &audio->ch3Fade); mTimingDeschedule(audio->timing, &audio->ch3Event);