newVolumeScaling, part 4 (final)

This commit is contained in:
tildearrow 2022-06-01 18:27:06 -05:00
parent ad1ed7fe35
commit 2da92b0433
7 changed files with 6 additions and 8 deletions

View file

@ -107,7 +107,7 @@ void DivPlatformMMC5::tick(bool sysTick) {
chan[i].std.next();
if (chan[i].std.vol.had) {
// ok, why are the volumes like that?
chan[i].outVol=MIN(15,chan[i].std.vol.val)-(15-(chan[i].vol&15));
chan[i].outVol=VOL_SCALE_LINEAR_BROKEN(chan[i].vol&15,MIN(15,chan[i].std.vol.val),15);
if (chan[i].outVol<0) chan[i].outVol=0;
rWrite(0x5000+i*4,0x30|chan[i].outVol|((chan[i].duty&3)<<6));
}