parent
967e717396
commit
ffbe910c99
|
@ -54,8 +54,8 @@ class DivWorkPool;
|
||||||
|
|
||||||
#define DIV_UNSTABLE
|
#define DIV_UNSTABLE
|
||||||
|
|
||||||
#define DIV_VERSION "dev230"
|
#define DIV_VERSION "dev231"
|
||||||
#define DIV_ENGINE_VERSION 230
|
#define DIV_ENGINE_VERSION 231
|
||||||
// for imports
|
// for imports
|
||||||
#define DIV_VERSION_MOD 0xff01
|
#define DIV_VERSION_MOD 0xff01
|
||||||
#define DIV_VERSION_FC 0xff02
|
#define DIV_VERSION_FC 0xff02
|
||||||
|
|
|
@ -2126,6 +2126,21 @@ bool DivEngine::loadFur(unsigned char* file, size_t len, int variantID) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// YM2612 chip type
|
||||||
|
if (ds.version<231) {
|
||||||
|
for (int i=0; i<ds.systemLen; i++) {
|
||||||
|
if (ds.system[i]==DIV_SYSTEM_YM2612 ||
|
||||||
|
ds.system[i]==DIV_SYSTEM_YM2612_EXT ||
|
||||||
|
ds.system[i]==DIV_SYSTEM_YM2612_EXT ||
|
||||||
|
ds.system[i]==DIV_SYSTEM_YM2612_DUALPCM ||
|
||||||
|
ds.system[i]==DIV_SYSTEM_YM2612_DUALPCM_EXT ||
|
||||||
|
ds.system[i]==DIV_SYSTEM_YM2612_CSM) {
|
||||||
|
if (!ds.systemFlags[i].has("chipType") && !ds.systemFlags[i].has("ladderEffect")) {
|
||||||
|
ds.systemFlags[i].set("chipType",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (active) quitDispatch();
|
if (active) quitDispatch();
|
||||||
BUSY_BEGIN_SOFT;
|
BUSY_BEGIN_SOFT;
|
||||||
|
|
|
@ -1857,9 +1857,11 @@ void DivPlatformGenesis::setFlags(const DivConfig& flags) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (flags.has("chipType")) {
|
if (flags.has("chipType")) {
|
||||||
chipType=flags.getInt("chipType",0);
|
chipType=flags.getInt("chipType",1);
|
||||||
} else {
|
} else if (flags.has("ladderEffect")) {
|
||||||
chipType=flags.getBool("ladderEffect",false)?1:0;
|
chipType=flags.getBool("ladderEffect",false)?1:0;
|
||||||
|
} else {
|
||||||
|
chipType=1;
|
||||||
}
|
}
|
||||||
noExtMacros=flags.getBool("noExtMacros",false);
|
noExtMacros=flags.getBool("noExtMacros",false);
|
||||||
fbAllOps=flags.getBool("fbAllOps",false);
|
fbAllOps=flags.getBool("fbAllOps",false);
|
||||||
|
|
|
@ -3168,27 +3168,27 @@ void FurnaceGUI::initSystemPresets() {
|
||||||
);
|
);
|
||||||
ENTRY(
|
ENTRY(
|
||||||
_("Yamaha YM3438 (OPN2C)"), {
|
_("Yamaha YM3438 (OPN2C)"), {
|
||||||
CH(DIV_SYSTEM_YM2612, 1.0f, 0, "")
|
CH(DIV_SYSTEM_YM2612, 1.0f, 0, "chipType=0")
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
SUB_ENTRY(
|
SUB_ENTRY(
|
||||||
_("Yamaha YM3438 (extended channel 3)"), {
|
_("Yamaha YM3438 (extended channel 3)"), {
|
||||||
CH(DIV_SYSTEM_YM2612_EXT, 1.0f, 0, "")
|
CH(DIV_SYSTEM_YM2612_EXT, 1.0f, 0, "chipType=0")
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
SUB_ENTRY(
|
SUB_ENTRY(
|
||||||
_("Yamaha YM3438 (OPN2C) CSM"), {
|
_("Yamaha YM3438 (OPN2C) CSM"), {
|
||||||
CH(DIV_SYSTEM_YM2612_CSM, 1.0f, 0, "")
|
CH(DIV_SYSTEM_YM2612_CSM, 1.0f, 0, "chipType=0")
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
SUB_ENTRY(
|
SUB_ENTRY(
|
||||||
_("Yamaha YM3438 (OPN2C) with DualPCM"), {
|
_("Yamaha YM3438 (OPN2C) with DualPCM"), {
|
||||||
CH(DIV_SYSTEM_YM2612_DUALPCM, 1.0f, 0, "")
|
CH(DIV_SYSTEM_YM2612_DUALPCM, 1.0f, 0, "chipType=0")
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
SUB_ENTRY(
|
SUB_ENTRY(
|
||||||
_("Yamaha YM3438 (extended channel 3) with DualPCM"), {
|
_("Yamaha YM3438 (extended channel 3) with DualPCM"), {
|
||||||
CH(DIV_SYSTEM_YM2612_DUALPCM_EXT, 1.0f, 0, "")
|
CH(DIV_SYSTEM_YM2612_DUALPCM_EXT, 1.0f, 0, "chipType=0")
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
ENTRY(
|
ENTRY(
|
||||||
|
|
|
@ -1450,6 +1450,13 @@ void FurnaceGUI::drawSampleEdit() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mobileUI) {
|
||||||
|
sameLineMaybe();
|
||||||
|
if (ImGui::Button(ICON_FA_ELLIPSIS_H "##SMobMenu")) {
|
||||||
|
ImGui::OpenPopup("SRightClick");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
// time
|
// time
|
||||||
|
|
|
@ -36,10 +36,10 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
|
||||||
case DIV_SYSTEM_YM2612_DUALPCM_EXT:
|
case DIV_SYSTEM_YM2612_DUALPCM_EXT:
|
||||||
case DIV_SYSTEM_YM2612_CSM: {
|
case DIV_SYSTEM_YM2612_CSM: {
|
||||||
int clockSel=flags.getInt("clockSel",0);
|
int clockSel=flags.getInt("clockSel",0);
|
||||||
int chipType=0;
|
int chipType=1;
|
||||||
if (flags.has("chipType")) {
|
if (flags.has("chipType")) {
|
||||||
chipType=flags.getInt("chipType",0);
|
chipType=flags.getInt("chipType",1);
|
||||||
} else {
|
} else if (flags.has("ladderEffect")) {
|
||||||
chipType=flags.getBool("ladderEffect",0)?1:0;
|
chipType=flags.getBool("ladderEffect",0)?1:0;
|
||||||
}
|
}
|
||||||
int interruptSimCycles=flags.getInt("interruptSimCycles",0);
|
int interruptSimCycles=flags.getInt("interruptSimCycles",0);
|
||||||
|
@ -73,14 +73,14 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
|
||||||
|
|
||||||
ImGui::Text(_("Chip type:"));
|
ImGui::Text(_("Chip type:"));
|
||||||
ImGui::Indent();
|
ImGui::Indent();
|
||||||
if (ImGui::RadioButton(_("YM3438 (9-bit DAC)"),chipType==0)) {
|
|
||||||
chipType=0;
|
|
||||||
altered=true;
|
|
||||||
}
|
|
||||||
if (ImGui::RadioButton(_("YM2612 (9-bit DAC with distortion)"),chipType==1)) {
|
if (ImGui::RadioButton(_("YM2612 (9-bit DAC with distortion)"),chipType==1)) {
|
||||||
chipType=1;
|
chipType=1;
|
||||||
altered=true;
|
altered=true;
|
||||||
}
|
}
|
||||||
|
if (ImGui::RadioButton(_("YM3438 (9-bit DAC)"),chipType==0)) {
|
||||||
|
chipType=0;
|
||||||
|
altered=true;
|
||||||
|
}
|
||||||
if (ImGui::RadioButton(_("YMF276 (external DAC)"),chipType==2)) {
|
if (ImGui::RadioButton(_("YMF276 (external DAC)"),chipType==2)) {
|
||||||
chipType=2;
|
chipType=2;
|
||||||
altered=true;
|
altered=true;
|
||||||
|
|
Loading…
Reference in a new issue