SoundUnit: fix 4xxx not working

This commit is contained in:
tildearrow 2022-08-25 01:34:21 -05:00
parent 96b3ccab8a
commit fc5b26c49a
2 changed files with 2 additions and 2 deletions

View File

@ -357,7 +357,7 @@ int DivPlatformSoundUnit::dispatch(DivCommand c) {
writeControlUpper(c.chan);
break;
case DIV_CMD_C64_FINE_CUTOFF:
chan[c.chan].baseCutoff=c.value;
chan[c.chan].baseCutoff=c.value*4;
if (!chan[c.chan].std.ex1.has) {
chan[c.chan].cutoff=chan[c.chan].baseCutoff;
chWrite(c.chan,0x06,chan[c.chan].cutoff&0xff);

View File

@ -1447,7 +1447,7 @@ void DivEngine::registerSystems() {
{0x21, {DIV_CMD_SU_SWEEP_ENABLE, "21xx: Toggle volume sweep (bit 0-4: speed; bit 5: direciton is up; bit 6: loop; bit 7: alternate)", constVal<1>, effectVal}},
{0x22, {DIV_CMD_SU_SWEEP_ENABLE, "22xx: Toggle cutoff sweep (bit 0-6: speed; bit 7: direction is up)", constVal<2>, effectVal}},
};
const EffectHandler suCutoffHandler(DIV_CMD_C64_FINE_DUTY, "4xxx: Set cutoff (0 to FFF)", effectValLong<12>);
const EffectHandler suCutoffHandler(DIV_CMD_C64_FINE_CUTOFF, "4xxx: Set cutoff (0 to FFF)", effectValLong<12>);
for (int i=0; i<16; i++) {
suEffectHandlerMap.emplace(0x40+i, suCutoffHandler);
}