C64: implement 6581 bias on dSID

for PCM
This commit is contained in:
tildearrow 2025-01-31 14:59:38 -05:00
parent 1ceffc659c
commit e22d46e619

View file

@ -352,6 +352,11 @@ double dSID_render(struct SID_chip* sid) {
sid->SIDct->plp = tmp;
if (sid->M[0x18] & LP)
output += tmp;
// tildearrow: 6581 bias for software PCM
if (sid->g.model==6581) {
return (0.03 + (output / SID_OUT_SCALE)) * (sid->M[0x18] & 0xF);
}
return (output / SID_OUT_SCALE) * (sid->M[0x18] & 0xF);
}