Nuked-OPN2 + ymfm combo option for all OPN chips

modified Nuked doing FM and ymfm doing SSG/ADPCM
This commit is contained in:
tildearrow 2022-12-24 02:29:37 -05:00
parent 85d43a84a7
commit 6cce918c02
24 changed files with 19122 additions and 20 deletions

View file

@ -107,6 +107,11 @@ const char* pokeyCores[]={
"ASAP (C++ port)"
};
const char* opnCores[]={
"ymfm only",
"Nuked-OPN2 (FM) + ymfm (SSG/ADPCM)"
};
const char* pcspkrOutMethods[]={
"evdev SND_TONE",
"KIOCSOUND on /dev/tty1",
@ -1078,6 +1083,10 @@ void FurnaceGUI::drawSettings() {
ImGui::SameLine();
ImGui::Combo("##POKEYCore",&settings.pokeyCore,pokeyCores,2);
ImGui::Text("OPN/OPNA/OPNB cores");
ImGui::SameLine();
ImGui::Combo("##OPNCore",&settings.opnCore,opnCores,2);
ImGui::Separator();
ImGui::Text("PC Speaker strategy");
@ -2346,6 +2355,7 @@ void FurnaceGUI::syncSettings() {
settings.fdsCore=e->getConfInt("fdsCore",0);
settings.c64Core=e->getConfInt("c64Core",1);
settings.pokeyCore=e->getConfInt("pokeyCore",1);
settings.opnCore=e->getConfInt("opnCore",1);
settings.pcSpeakerOutMethod=e->getConfInt("pcSpeakerOutMethod",0);
settings.yrw801Path=e->getConfString("yrw801Path","");
settings.tg100Path=e->getConfString("tg100Path","");
@ -2472,6 +2482,7 @@ void FurnaceGUI::syncSettings() {
clampSetting(settings.fdsCore,0,1);
clampSetting(settings.c64Core,0,1);
clampSetting(settings.pokeyCore,0,1);
clampSetting(settings.opnCore,0,1);
clampSetting(settings.pcSpeakerOutMethod,0,4);
clampSetting(settings.mainFont,0,6);
clampSetting(settings.patFont,0,6);
@ -2616,7 +2627,8 @@ void FurnaceGUI::commitSettings() {
settings.nesCore!=e->getConfInt("nesCore",0) ||
settings.fdsCore!=e->getConfInt("fdsCore",0) ||
settings.c64Core!=e->getConfInt("c64Core",1) ||
settings.pokeyCore!=e->getConfInt("pokeyCore",1)
settings.pokeyCore!=e->getConfInt("pokeyCore",1) ||
settings.opnCore!=e->getConfInt("opnCore",1)
);
e->setConf("mainFontSize",settings.mainFontSize);
@ -2637,6 +2649,7 @@ void FurnaceGUI::commitSettings() {
e->setConf("fdsCore",settings.fdsCore);
e->setConf("c64Core",settings.c64Core);
e->setConf("pokeyCore",settings.pokeyCore);
e->setConf("opnCore",settings.opnCore);
e->setConf("pcSpeakerOutMethod",settings.pcSpeakerOutMethod);
e->setConf("yrw801Path",settings.yrw801Path);
e->setConf("tg100Path",settings.tg100Path);