From 9d8adbb5818d39143a143e18549c84a8f092b618 Mon Sep 17 00:00:00 2001 From: Lior Halphon Date: Fri, 7 Jun 2019 18:37:19 +0300 Subject: [PATCH] This is not correct, this bug only affects the PCM registers and not actual output. Currently not emulated at all. --- Core/apu.c | 10 ---------- Core/apu.h | 1 - 2 files changed, 11 deletions(-) diff --git a/Core/apu.c b/Core/apu.c index 7a54c43..664530d 100644 --- a/Core/apu.c +++ b/Core/apu.c @@ -489,16 +489,6 @@ void GB_apu_run(GB_gameboy_t *gb) } gb->apu.current_lfsr_sample = gb->apu.noise_channel.lfsr & 1; - if (gb->model == GB_MODEL_CGB_C) { - /* Todo: This was confirmed to happen on a CGB-C. This may or may not happen on pre-CGB models. - Because this degrades audio quality, and testing this on a pre-CGB device requires audio records, - I'll assume these devices are innocent until proven guilty. - - Also happens on CGB-B, but not on CGB-D. - */ - gb->apu.current_lfsr_sample &= gb->apu.previous_lfsr_sample; - } - gb->apu.previous_lfsr_sample = gb->apu.noise_channel.lfsr & 1; update_sample(gb, GB_NOISE, gb->apu.current_lfsr_sample ? diff --git a/Core/apu.h b/Core/apu.h index 2a49c04..f8f56e9 100644 --- a/Core/apu.h +++ b/Core/apu.h @@ -114,7 +114,6 @@ typedef struct bool skip_div_event; bool current_lfsr_sample; - bool previous_lfsr_sample; } GB_apu_t; typedef enum {