MSM5232: effects

This commit is contained in:
tildearrow 2022-10-02 02:30:22 -05:00
parent cef1fa9d99
commit 19cd491e5f
2 changed files with 21 additions and 1 deletions

View File

@ -229,10 +229,22 @@ int DivPlatformMSM5232::dispatch(DivCommand c) {
}
break;
}
case DIV_CMD_WAVE:
groupControl[c.chan>>2]=c.value&0x1f;
updateGroup[c.chan>>2]=true;
break;
case DIV_CMD_STD_NOISE_MODE:
chan[c.chan].noise=c.value;
chan[c.chan].freqChanged=true;
break;
case DIV_CMD_FM_AR:
groupAR[c.chan>>2]=attackMap[c.value&7];
updateGroupAR[c.chan>>2]=true;
break;
case DIV_CMD_FM_DR:
groupDR[c.chan>>2]=decayMap[c.value&15];
updateGroupDR[c.chan>>2]=true;
break;
case DIV_CMD_LEGATO:
chan[c.chan].baseFreq=NOTE_LINEAR(c.value+((chan[c.chan].std.arp.will && !chan[c.chan].std.arp.mode)?(chan[c.chan].std.arp.val):(0)));
chan[c.chan].freqChanged=true;

View File

@ -1610,7 +1610,15 @@ void DivEngine::registerSystems() {
{"Channel 1", "Channel 2", "Channel 3", "Channel 4", "Channel 5", "Channel 6", "Channel 7", "Channel 8"},
{"CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8"},
{DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE},
{DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232}
{DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232, DIV_INS_MSM5232},
{},
{},
{
{0x10, {DIV_CMD_WAVE, "10xy: Set group control (x: sustain; y: part toggle bitmask)"}},
{0x11, {DIV_CMD_STD_NOISE_MODE, "11xx: Set noise mode"}},
{0x12, {DIV_CMD_FM_AR, "12xx: Set group attack (0 to 5)"}},
{0x13, {DIV_CMD_FM_DR, "13xx: Set group decay (0 to 11)"}}
}
);
sysDefs[DIV_SYSTEM_YM2612_FRAC]=new DivSysDef(