SNES: implement more effects

This commit is contained in:
tildearrow 2022-09-28 18:28:01 -05:00
parent 3329e98c51
commit 6f1a41de1e
3 changed files with 115 additions and 36 deletions

View file

@ -867,23 +867,11 @@ void DivEngine::registerSystems() {
{DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES, DIV_INS_SNES},
{},
{
{0x10, {DIV_CMD_WAVE, "10xx: Set waveform"}},
{0x11, {DIV_CMD_STD_NOISE_MODE, "11xx: Toggle noise mode"}},
{0x12, {DIV_CMD_SNES_ECHO, "12xx: Toggle echo on this channel"}},
{0x13, {DIV_CMD_SNES_PITCH_MOD, "13xx: Toggle pitch modulation"}},
{0x14, {DIV_CMD_SNES_INVERT, "14xy: Toggle invert (x: left; y: right)"}},
{0x15, {DIV_CMD_SNES_GAIN_MODE, "15xx: Set gain mode"}},
{0x16, {DIV_CMD_SNES_GAIN, "16xx: Set gain"}},
{0x18, {DIV_CMD_SNES_ECHO_ENABLE, "18xx: Enable echo buffer"}},
{0x19, {DIV_CMD_SNES_ECHO_DELAY, "19xx: Set echo delay"}},
{0x19, {DIV_CMD_SNES_ECHO_DELAY, "19xx: Set echo delay (0 to F)"}},
{0x1a, {DIV_CMD_SNES_ECHO_VOL_LEFT, "1Axx: Set left echo volume"}},
{0x1b, {DIV_CMD_SNES_ECHO_VOL_RIGHT, "1Bxx: Set right echo volume"}},
{0x1c, {DIV_CMD_SNES_ECHO_FEEDBACK, "1Cxx: Set echo feedback"}},
{0x1d, {DIV_CMD_STD_NOISE_FREQ, "1Dxx: Set noise frequency"}},
{0x20, {DIV_CMD_FM_AR, "20xx: Set attack"}},
{0x21, {DIV_CMD_FM_DR, "21xx: Set decay"}},
{0x22, {DIV_CMD_FM_SL, "22xx: Set sustain"}},
{0x23, {DIV_CMD_FM_RR, "23xx: Set release"}},
{0x30, {DIV_CMD_SNES_ECHO_FIR, "30xx: Set echo filter coefficient 0",constVal<0>,effectVal}},
{0x31, {DIV_CMD_SNES_ECHO_FIR, "31xx: Set echo filter coefficient 1",constVal<1>,effectVal}},
{0x32, {DIV_CMD_SNES_ECHO_FIR, "32xx: Set echo filter coefficient 2",constVal<2>,effectVal}},
@ -892,6 +880,20 @@ void DivEngine::registerSystems() {
{0x35, {DIV_CMD_SNES_ECHO_FIR, "35xx: Set echo filter coefficient 5",constVal<5>,effectVal}},
{0x36, {DIV_CMD_SNES_ECHO_FIR, "36xx: Set echo filter coefficient 6",constVal<6>,effectVal}},
{0x37, {DIV_CMD_SNES_ECHO_FIR, "37xx: Set echo filter coefficient 7",constVal<7>,effectVal}},
},
{
{0x10, {DIV_CMD_WAVE, "10xx: Set waveform"}},
{0x11, {DIV_CMD_STD_NOISE_MODE, "11xx: Toggle noise mode"}},
{0x12, {DIV_CMD_SNES_ECHO, "12xx: Toggle echo on this channel"}},
{0x13, {DIV_CMD_SNES_PITCH_MOD, "13xx: Toggle pitch modulation"}},
{0x14, {DIV_CMD_SNES_INVERT, "14xy: Toggle invert (x: left; y: right)"}},
{0x15, {DIV_CMD_SNES_GAIN_MODE, "15xx: Set envelope mode (0: ADSR, 1: gain/direct, 2: dec, 3: exp, 4: inc, 5: bent)"}},
{0x16, {DIV_CMD_SNES_GAIN, "16xx: Set gain (00 to 7F if direct; 00 to 1F otherwise)"}},
{0x1d, {DIV_CMD_STD_NOISE_FREQ, "1Dxx: Set noise frequency (00 to 1F)"}},
{0x20, {DIV_CMD_FM_AR, "20xx: Set attack (0 to F)"}},
{0x21, {DIV_CMD_FM_DR, "21xx: Set decay (0 to 7)"}},
{0x22, {DIV_CMD_FM_SL, "22xx: Set sustain (0 to 7)"}},
{0x23, {DIV_CMD_FM_RR, "23xx: Set release (00 to 1F)"}},
}
);