dev231 - YM2612: actually be YM2612 by default

pull request #2533
This commit is contained in:
tildearrow 2025-06-02 12:59:10 -05:00
parent 967e717396
commit ffbe910c99
6 changed files with 40 additions and 16 deletions

View file

@ -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

View file

@ -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;

View file

@ -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);

View file

@ -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(

View file

@ -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

View file

@ -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;