OPM/OPZ: FMS/AMS effects
This commit is contained in:
parent
7210187df5
commit
1d786a0c77
|
@ -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]];
|
||||
|
|
|
@ -679,6 +679,26 @@ int DivPlatformTX81Z::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_FMS2: {
|
||||
chan[c.chan].state.fms2=c.value&7;
|
||||
rWrite(chanOffs[c.chan]+ADDR_FMS2_AMS2,((chan[c.chan].state.fms2&7)<<4)|(chan[c.chan].state.ams2&3));
|
||||
break;
|
||||
}
|
||||
case DIV_CMD_FM_AMS2: {
|
||||
chan[c.chan].state.ams2=c.value&3;
|
||||
rWrite(chanOffs[c.chan]+ADDR_FMS2_AMS2,((chan[c.chan].state.fms2&7)<<4)|(chan[c.chan].state.ams2&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]];
|
||||
|
|
Loading…
Reference in a new issue