This is not correct, this bug only affects the PCM registers and not actual output. Currently not emulated at all.
This commit is contained in:
parent
2f9de4942c
commit
9d8adbb581
10
Core/apu.c
10
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 ?
|
||||
|
@ -114,7 +114,6 @@ typedef struct
|
||||
|
||||
bool skip_div_event;
|
||||
bool current_lfsr_sample;
|
||||
bool previous_lfsr_sample;
|
||||
} GB_apu_t;
|
||||
|
||||
typedef enum {
|
||||
|
Loading…
Reference in New Issue
Block a user