Fixed an edge case with DAC discharge emulation
This commit is contained in:
parent
2e9e3424ec
commit
c66b6fbafc
@ -28,7 +28,6 @@ static void update_sample(GB_gameboy_t *gb, unsigned index, int8_t value, unsign
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
gb->apu.samples[index] = value;
|
gb->apu.samples[index] = value;
|
||||||
gb->apu_output.dac_discharge[index] = 1.0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gb->apu_output.sample_rate) {
|
if (gb->apu_output.sample_rate) {
|
||||||
@ -887,6 +886,11 @@ void GB_apu_write(GB_gameboy_t *gb, uint8_t reg, uint8_t value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
gb->io_registers[reg] = value;
|
gb->io_registers[reg] = value;
|
||||||
|
for (unsigned i = 0; i < GB_N_CHANNELS; i++) {
|
||||||
|
if (gb->apu.is_active[i]) {
|
||||||
|
gb->apu_output.dac_discharge[i] = 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t GB_apu_get_current_buffer_length(GB_gameboy_t *gb)
|
size_t GB_apu_get_current_buffer_length(GB_gameboy_t *gb)
|
||||||
|
Loading…
Reference in New Issue
Block a user