Merge branch 'master' into ymf289b
This commit is contained in:
commit
25eb720631
230 changed files with 69242 additions and 87659 deletions
|
|
@ -310,6 +310,7 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
case DIV_SYSTEM_GB: {
|
||||
int chipType=flags.getInt("chipType",0);
|
||||
bool noAntiClick=flags.getBool("noAntiClick",false);
|
||||
bool invertWave=flags.getBool("invertWave",true);
|
||||
bool enoughAlready=flags.getBool("enoughAlready",false);
|
||||
|
||||
if (ImGui::Checkbox("Disable anti-click",&noAntiClick)) {
|
||||
|
|
@ -332,6 +333,26 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
chipType=3;
|
||||
altered=true;
|
||||
}
|
||||
ImGui::Text("Wave channel orientation:");
|
||||
if (chipType==3) {
|
||||
if (ImGui::RadioButton("Normal",!invertWave)) {
|
||||
invertWave=false;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("Inverted",invertWave)) {
|
||||
invertWave=true;
|
||||
altered=true;
|
||||
}
|
||||
} else {
|
||||
if (ImGui::RadioButton("Exact data (inverted)",!invertWave)) {
|
||||
invertWave=false;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("Exact output (normal)",invertWave)) {
|
||||
invertWave=true;
|
||||
altered=true;
|
||||
}
|
||||
}
|
||||
if (ImGui::Checkbox("Pretty please one more compat flag when I use arpeggio and my sound length",&enoughAlready)) {
|
||||
altered=true;
|
||||
}
|
||||
|
|
@ -340,6 +361,7 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
e->lockSave([&]() {
|
||||
flags.set("chipType",chipType);
|
||||
flags.set("noAntiClick",noAntiClick);
|
||||
flags.set("invertWave",invertWave);
|
||||
flags.set("enoughAlready",enoughAlready);
|
||||
});
|
||||
}
|
||||
|
|
@ -434,6 +456,9 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
case DIV_SYSTEM_FDS:
|
||||
case DIV_SYSTEM_MMC5: {
|
||||
int clockSel=flags.getInt("clockSel",0);
|
||||
bool dpcmMode=flags.getBool("dpcmMode",true);
|
||||
|
||||
ImGui::Text("Clock rate:");
|
||||
|
||||
if (ImGui::RadioButton("NTSC (1.79MHz)",clockSel==0)) {
|
||||
clockSel=0;
|
||||
|
|
@ -448,9 +473,21 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
altered=true;
|
||||
}
|
||||
|
||||
ImGui::Text("DPCM channel mode:");
|
||||
|
||||
if (ImGui::RadioButton("DPCM (muffled samples; low CPU usage)",dpcmMode)) {
|
||||
dpcmMode=true;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("PCM (crisp samples; high CPU usage)",!dpcmMode)) {
|
||||
dpcmMode=false;
|
||||
altered=true;
|
||||
}
|
||||
|
||||
if (altered) {
|
||||
e->lockSave([&]() {
|
||||
flags.set("clockSel",clockSel);
|
||||
flags.set("dpcmMode",dpcmMode);
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
|
@ -621,6 +658,9 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
chipType=3;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("note: AY-3-8914 is not supported by the VGM format!");
|
||||
}
|
||||
}
|
||||
ImGui::BeginDisabled(type==DIV_SYSTEM_AY8910 && chipType==2);
|
||||
if (ImGui::Checkbox("Stereo##_AY_STEREO",&stereo)) {
|
||||
|
|
@ -681,6 +721,7 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
case DIV_SYSTEM_AMIGA: {
|
||||
bool clockSel=flags.getInt("clockSel",0);
|
||||
int chipType=flags.getInt("chipType",0);
|
||||
int chipMem=flags.getInt("chipMem",21);
|
||||
int stereoSep=flags.getInt("stereoSep",0);
|
||||
bool bypassLimits=flags.getBool("bypassLimits",false);
|
||||
|
||||
|
|
@ -690,6 +731,8 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
if (stereoSep>127) stereoSep=127;
|
||||
altered=true;
|
||||
} rightClickable
|
||||
|
||||
ImGui::Text("Model:");
|
||||
if (ImGui::RadioButton("Amiga 500 (OCS)",chipType==0)) {
|
||||
chipType=0;
|
||||
altered=true;
|
||||
|
|
@ -698,6 +741,26 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
chipType=1;
|
||||
altered=true;
|
||||
}
|
||||
|
||||
ImGui::Text("Chip memory:");
|
||||
if (ImGui::RadioButton("2MB (ECS/AGA max)",chipMem==21)) {
|
||||
chipMem=21;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("1MB",chipMem==20)) {
|
||||
chipMem=20;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("512KB (OCS max)",chipMem==19)) {
|
||||
chipMem=19;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("256KB",chipMem==18)) {
|
||||
chipMem=18;
|
||||
altered=true;
|
||||
}
|
||||
|
||||
|
||||
if (ImGui::Checkbox("PAL",&clockSel)) {
|
||||
altered=true;
|
||||
}
|
||||
|
|
@ -709,6 +772,7 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
e->lockSave([&]() {
|
||||
flags.set("clockSel",(int)clockSel);
|
||||
flags.set("chipType",chipType);
|
||||
flags.set("chipMem",chipMem);
|
||||
flags.set("stereoSep",stereoSep);
|
||||
flags.set("bypassLimits",bypassLimits);
|
||||
});
|
||||
|
|
@ -831,6 +895,10 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
clockSel=1;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("14.32MHz (NTSC)",clockSel==2)) {
|
||||
clockSel=2;
|
||||
altered=true;
|
||||
}
|
||||
|
||||
if (ImGui::Checkbox("Stereo",&stereo)) {
|
||||
altered=true;
|
||||
|
|
@ -1719,7 +1787,57 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
}
|
||||
break;
|
||||
}
|
||||
case DIV_SYSTEM_SM8521: {
|
||||
case DIV_SYSTEM_NAMCO:
|
||||
case DIV_SYSTEM_NAMCO_15XX: {
|
||||
bool romMode=flags.getBool("romMode",false);
|
||||
|
||||
ImGui::Text("Waveform storage mode:");
|
||||
if (ImGui::RadioButton("RAM",!romMode)) {
|
||||
romMode=false;
|
||||
altered=true;
|
||||
}
|
||||
if (ImGui::RadioButton("ROM (up to 8 waves)",romMode)) {
|
||||
romMode=true;
|
||||
altered=true;
|
||||
}
|
||||
|
||||
if (altered) {
|
||||
e->lockSave([&]() {
|
||||
flags.set("romMode",romMode);
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DIV_SYSTEM_NAMCO_CUS30: {
|
||||
bool newNoise=flags.getBool("newNoise",true);
|
||||
|
||||
if (InvCheckbox("Compatible noise frequencies",&newNoise)) {
|
||||
altered=true;
|
||||
}
|
||||
|
||||
if (altered) {
|
||||
e->lockSave([&]() {
|
||||
flags.set("newNoise",newNoise);
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DIV_SYSTEM_SEGAPCM:
|
||||
case DIV_SYSTEM_SEGAPCM_COMPAT: {
|
||||
bool oldSlides=flags.getBool("oldSlides",false);
|
||||
|
||||
if (ImGui::Checkbox("Legacy slides and pitch (compatibility)",&oldSlides)) {
|
||||
altered=true;
|
||||
}
|
||||
|
||||
if (altered) {
|
||||
e->lockSave([&]() {
|
||||
flags.set("oldSlides",oldSlides);
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DIV_SYSTEM_SM8521:/* {
|
||||
bool noAntiClick=flags.getBool("noAntiClick",false);
|
||||
|
||||
if (ImGui::Checkbox("Disable anti-click",&noAntiClick)) {
|
||||
|
|
@ -1732,17 +1850,18 @@ bool FurnaceGUI::drawSysConf(int chan, DivSystem type, DivConfig& flags, bool mo
|
|||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
case DIV_SYSTEM_SWAN:
|
||||
case DIV_SYSTEM_BUBSYS_WSG:
|
||||
case DIV_SYSTEM_PET:
|
||||
case DIV_SYSTEM_VBOY:
|
||||
case DIV_SYSTEM_GA20:
|
||||
ImGui::Text("nothing to configure");
|
||||
break;
|
||||
case DIV_SYSTEM_PV1000:
|
||||
case DIV_SYSTEM_VERA:
|
||||
break;
|
||||
case DIV_SYSTEM_YMU759:
|
||||
supportsCustomRate=false;
|
||||
ImGui::Text("nothing to configure");
|
||||
break;
|
||||
default: {
|
||||
bool sysPal=flags.getInt("clockSel",0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue