From 480dc0f97e63711de4403facf59917b01d6ab9b5 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sat, 8 Jul 2017 22:02:44 -0700 Subject: [PATCH] GB Audio: Fix incorrect channel 4 iteration --- CHANGES | 1 + src/gb/audio.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 2ea61ae5c..3909b6eea 100644 --- a/CHANGES +++ b/CHANGES @@ -174,6 +174,7 @@ Bugfixes: - Qt: Fix patch loading while a game is running - Qt: Fix shader selector on Ubuntu (fixes mgba.io/i/767) - GB Serialize: Fix timer serialization + - GB Audio: Fix incorrect channel 4 iteration Misc: - Qt: Add language selector - GBA Timer: Improve accuracy of timers diff --git a/src/gb/audio.c b/src/gb/audio.c index 732b5c342..b8541b720 100644 --- a/src/gb/audio.c +++ b/src/gb/audio.c @@ -894,7 +894,7 @@ static void _updateChannel4(struct mTiming* timing, void* user, uint32_t cyclesL ch->lfsr >>= 1; ch->lfsr ^= (lsb * 0x60) << (ch->power ? 0 : 8); cycles += baseCycles; - } while (cycles < audio->sampleInterval); + } while (cycles + baseCycles < audio->sampleInterval); mTimingSchedule(timing, &audio->ch4Event, cycles - cyclesLate); }