OPM/OPZ: FMS/AMS effects

This commit is contained in:
tildearrow 2025-05-21 15:18:59 -05:00
parent 7210187df5
commit 1d786a0c77
2 changed files with 30 additions and 0 deletions

View file

@ -630,6 +630,16 @@ int DivPlatformArcade::dispatch(DivCommand c) {
}
break;
}
case DIV_CMD_FM_FMS: {
chan[c.chan].state.fms=c.value&7;
rWrite(chanOffs[c.chan]+ADDR_FMS_AMS,((chan[c.chan].state.fms&7)<<4)|(chan[c.chan].state.ams&3));
break;
}
case DIV_CMD_FM_AMS: {
chan[c.chan].state.ams=c.value&3;
rWrite(chanOffs[c.chan]+ADDR_FMS_AMS,((chan[c.chan].state.fms&7)<<4)|(chan[c.chan].state.ams&3));
break;
}
case DIV_CMD_FM_MULT: {
unsigned short baseAddr=chanOffs[c.chan]|opOffs[orderedOps[c.value]];
DivInstrumentFM::Operator& op=chan[c.chan].state.op[orderedOps[c.value]];