Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010

# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/playback.cpp
#	src/engine/sysDef.cpp
#	src/gui/gui.cpp
This commit is contained in:
cam900 2022-03-08 13:38:24 +09:00
commit 2e6cc9fc7c
30 changed files with 1572 additions and 230 deletions

View file

@ -124,6 +124,9 @@ const char* cmdName[DIV_CMD_MAX]={
"X1_010_ENVELOPE_SLIDE",
"X1_010_AUTO_ENVELOPE",
"WS_SWEEP_TIME",
"WS_SWEEP_AMOUNT",
"ALWAYS_SET_VOLUME"
};
@ -273,6 +276,27 @@ bool DivEngine::perSystemEffect(int ch, unsigned char effect, unsigned char effe
return false;
}
break;
case DIV_SYSTEM_SWAN:
switch (effect) {
case 0x10: // select waveform
dispatchCmd(DivCommand(DIV_CMD_WAVE,ch,effectVal));
break;
case 0x11: // noise mode
dispatchCmd(DivCommand(DIV_CMD_STD_NOISE_MODE,ch,effectVal));
break;
case 0x12: // sweep period
dispatchCmd(DivCommand(DIV_CMD_WS_SWEEP_TIME,ch,effectVal));
break;
case 0x13: // sweep amount
dispatchCmd(DivCommand(DIV_CMD_WS_SWEEP_AMOUNT,ch,effectVal));
break;
case 0x17: // PCM enable
dispatchCmd(DivCommand(DIV_CMD_SAMPLE_MODE,ch,(effectVal>0)));
break;
default:
return false;
}
break;
default:
return false;
}