From 9d6d2c9c6b1c585dd9cf1164f34943718fc16a76 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 6 Jan 2023 14:26:14 -0800 Subject: [PATCH] GB Audio: Fix regression in channel updating with NR5x (fixes #2775) --- src/gb/audio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gb/audio.c b/src/gb/audio.c index 8bce46e07..d2d6a9260 100644 --- a/src/gb/audio.c +++ b/src/gb/audio.c @@ -499,7 +499,7 @@ void GBAudioRun(struct GBAudio* audio, int32_t timestamp, int channels) { if (!audio->enable) { return; } - if (audio->p && channels != 0xF && timestamp - audio->lastSample > (int) (SAMPLE_INTERVAL * audio->timingFactor)) { + if (audio->p && channels != 0x1F && timestamp - audio->lastSample > (int) (SAMPLE_INTERVAL * audio->timingFactor)) { GBAudioSample(audio, timestamp); } @@ -779,7 +779,7 @@ void GBAudioSample(struct GBAudio* audio, int32_t timestamp) { for (sample = audio->sampleIndex; timestamp >= interval && sample < GB_MAX_SAMPLES; ++sample, timestamp -= interval) { int16_t sampleLeft = 0; int16_t sampleRight = 0; - GBAudioRun(audio, sample * interval + audio->lastSample, 0xF); + GBAudioRun(audio, sample * interval + audio->lastSample, 0x1F); GBAudioSamplePSG(audio, &sampleLeft, &sampleRight); sampleLeft = (sampleLeft * audio->masterVolume * 6) >> 7; sampleRight = (sampleRight * audio->masterVolume * 6) >> 7;