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

This commit is contained in:
cam900 2023-07-22 10:39:28 +09:00
commit 0889a8fe92
559 changed files with 31100 additions and 15654 deletions

View file

@ -495,6 +495,13 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
case DIV_SYSTEM_C64_8580:
case DIV_SYSTEM_C64_6581: {
int clockSel=flags.getInt("clockSel",0);
bool keyPriority=flags.getBool("keyPriority",true);
int testAttack=flags.getInt("testAttack",0);
int testDecay=flags.getInt("testDecay",0);
int testSustain=flags.getInt("testSustain",0);
int testRelease=flags.getInt("testRelease",0);
ImGui::Text("Clock rate:");
if (ImGui::RadioButton("NTSC (1.02MHz)",clockSel==0)) {
clockSel=0;
@ -509,9 +516,48 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
altered=true;
}
ImGui::Text("Global parameter priority:");
if (ImGui::RadioButton("Left to right",!keyPriority)) {
keyPriority=false;
altered=true;
}
if (ImGui::RadioButton("Last used channel",keyPriority)) {
keyPriority=true;
altered=true;
}
ImGui::Text("Hard reset envelope:");
if (CWSliderInt("Attack",&testAttack,0,15)) {
if (testAttack<0) testAttack=0;
if (testAttack>15) testAttack=15;
altered=true;
}
if (CWSliderInt("Decay",&testDecay,0,15)) {
if (testDecay<0) testDecay=0;
if (testDecay>15) testDecay=15;
altered=true;
}
if (CWSliderInt("Sustain",&testSustain,0,15)) {
if (testSustain<0) testSustain=0;
if (testSustain>15) testSustain=15;
altered=true;
}
if (CWSliderInt("Release",&testRelease,0,15)) {
if (testRelease<0) testRelease=0;
if (testRelease>15) testRelease=15;
altered=true;
}
if (altered) {
e->lockSave([&]() {
flags.set("clockSel",clockSel);
flags.set("keyPriority",keyPriority);
flags.set("testAttack",testAttack);
flags.set("testDecay",testDecay);
flags.set("testSustain",testSustain);
flags.set("testRelease",testRelease);
});
}
break;
@ -863,7 +909,7 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
if (echoBufSize1<0) echoBufSize1=0;
if (echoBufSize1>2725) echoBufSize1=2725;
echoDelay=2725-echoBufSize1;
altered=true;;
altered=true;
} rightClickable
ImGui::Text("Echo feedback:");
if (CWSliderInt("##EchoFeedback",&echoFeedback,0,255)) {
@ -1851,6 +1897,26 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
}
break;
}*/
case DIV_SYSTEM_K053260: {
int clockSel=flags.getInt("clockSel",0);
ImGui::Text("Clock rate:");
if (ImGui::RadioButton("3.58MHz (NTSC)",clockSel==0)) {
clockSel=0;
altered=true;
}
if (ImGui::RadioButton("4MHz",clockSel==1)) {
clockSel=1;
altered=true;
}
if (altered) {
e->lockSave([&]() {
flags.set("clockSel",clockSel);
});
}
break;
}
case DIV_SYSTEM_SWAN:
case DIV_SYSTEM_BUBSYS_WSG:
case DIV_SYSTEM_PET: