absolute C64 duty macros!

exclusive to .fur format
This commit is contained in:
tildearrow 2022-01-10 16:54:58 -05:00
parent 3fdcd3a4fc
commit 9f6bb570c9
3 changed files with 24 additions and 8 deletions

View file

@ -51,7 +51,12 @@ void DivPlatformC64::tick() {
}
}
if (chan[i].std.hadDuty) {
chan[i].duty-=((signed char)chan[i].std.duty-12)*4;
DivInstrument* ins=parent->getIns(chan[i].ins);
if (ins->c64.dutyIsAbs) {
chan[i].duty=chan[i].std.duty;
} else {
chan[i].duty-=((signed char)chan[i].std.duty-12)*4;
}
rWrite(i*7+2,chan[i].duty&0xff);
rWrite(i*7+3,chan[i].duty>>8);
}