From 47e29104988ba9fef94dd382577edf9e99e0c128 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 21 Nov 2025 04:58:56 -0500 Subject: [PATCH] giga-refactor, part 20 convert compat SegaPCM to normal SegaPCM with 5 channels convert Neo Geo CD to YM2610 --- src/engine/dispatchContainer.cpp | 3 -- src/engine/engine.cpp | 4 +- src/engine/engine.h | 2 +- src/engine/fileOps/dmf.cpp | 52 +++++++++++++++++++------- src/engine/fileOps/fur.cpp | 20 +++++++--- src/engine/legacySample.cpp | 3 -- src/engine/sysDef.cpp | 63 ++++++-------------------------- src/engine/sysDef.h | 4 +- src/engine/vgmOps.cpp | 9 ----- src/gui/debug.cpp | 10 +---- src/gui/gui.h | 2 +- src/gui/guiConst.cpp | 6 --- src/gui/presets.cpp | 10 ++--- src/gui/sampleEdit.cpp | 1 - src/gui/sysConf.cpp | 7 +--- src/gui/sysMiscInfo.cpp | 3 -- 16 files changed, 79 insertions(+), 120 deletions(-) diff --git a/src/engine/dispatchContainer.cpp b/src/engine/dispatchContainer.cpp index c5ed67e91..f1893ffd1 100644 --- a/src/engine/dispatchContainer.cpp +++ b/src/engine/dispatchContainer.cpp @@ -345,7 +345,6 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do ((DivPlatformArcade*)dispatch)->setYMFM(eng->getConfInt("arcadeCore",0)==0); } break; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_FULL: dispatch=new DivPlatformYM2610; if (isRender) { @@ -354,7 +353,6 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do ((DivPlatformYM2610*)dispatch)->setCombo(eng->getConfInt("opnbCore",1)); } break; - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL_EXT: dispatch=new DivPlatformYM2610Ext; if (isRender) { @@ -599,7 +597,6 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do dispatch=new DivPlatformQSound; break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: dispatch=new DivPlatformSegaPCM; break; case DIV_SYSTEM_X1_010: diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 92d22dca4..92d748df4 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -2248,11 +2248,11 @@ int DivEngine::getEffectiveSampleRate(int rate) { return 1278409/(1280000/rate); case DIV_SYSTEM_PCE: return 1789773/(1789773/rate); - case DIV_SYSTEM_SEGAPCM: case DIV_SYSTEM_SEGAPCM_COMPAT: + case DIV_SYSTEM_SEGAPCM: return (31250*MIN(255,(rate*255/31250)))/255; case DIV_SYSTEM_QSOUND: return (24038*MIN(65535,(rate*4096/24038)))/4096; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B: case DIV_SYSTEM_YM2610B_EXT: + case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B: case DIV_SYSTEM_YM2610B_EXT: return 18518; case DIV_SYSTEM_VERA: return (48828*MIN(128,(rate*128/48828)))/128; diff --git a/src/engine/engine.h b/src/engine/engine.h index 869d0a12c..5a274d2c8 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -56,7 +56,7 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "inf2/dev240 - DO NOT LOAD!" +#define DIV_VERSION "dev240" #define DIV_ENGINE_VERSION 240 // for imports #define DIV_VERSION_MOD 0xff01 diff --git a/src/engine/fileOps/dmf.cpp b/src/engine/fileOps/dmf.cpp index 98f2edecb..878eec1c1 100644 --- a/src/engine/fileOps/dmf.cpp +++ b/src/engine/fileOps/dmf.cpp @@ -397,7 +397,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { if (ds.system[0]==DIV_SYSTEM_C64_8580 || ds.system[0]==DIV_SYSTEM_C64_6581) { ins->type=DIV_INS_C64; } - if (ds.system[0]==DIV_SYSTEM_YM2610 || ds.system[0]==DIV_SYSTEM_YM2610_EXT + if (ds.system[0]==DIV_SYSTEM_YM2610_CRAP || ds.system[0]==DIV_SYSTEM_YM2610_CRAP_EXT || ds.system[0]==DIV_SYSTEM_YM2610_FULL || ds.system[0]==DIV_SYSTEM_YM2610_FULL_EXT || ds.system[0]==DIV_SYSTEM_YM2610B || ds.system[0]==DIV_SYSTEM_YM2610B_EXT) { if (!mode) { @@ -629,7 +629,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { } // piece of crap offset by 1 - if (ds.system[0]==DIV_SYSTEM_YM2610 || ds.system[0]==DIV_SYSTEM_YM2610_EXT) { + if (ds.system[0]==DIV_SYSTEM_YM2610_CRAP || ds.system[0]==DIV_SYSTEM_YM2610_CRAP_EXT) { ins->std.waveMacro.val[j]++; } } @@ -1169,8 +1169,21 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ds.systemFlags[0].set("brokenPitch",true); } - ds.systemName=getSongSystemLegacyName(ds,!getConfInt("noMultiSystem",0)); ds.initDefaultSystemChans(); + + // flatten 5-channel SegaPCM and Neo Geo CD + for (int i=0; iordersLen; j++) { if (curOrders->ord[i][j]>0x7f) { logE("order %d, %d is out of range (0-127)!",i,j); @@ -1320,7 +1340,7 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { } else if (song.system[0]==DIV_SYSTEM_YM2612_EXT && song.system[1]==DIV_SYSTEM_SMS) { w->writeC(systemToFileDMF(DIV_SYSTEM_GENESIS_EXT)); sys=DIV_SYSTEM_GENESIS_EXT; - } else if (song.system[0]==DIV_SYSTEM_YM2151 && song.system[1]==DIV_SYSTEM_SEGAPCM_COMPAT) { + } else if (song.system[0]==DIV_SYSTEM_YM2151 && song.system[1]==DIV_SYSTEM_SEGAPCM) { w->writeC(systemToFileDMF(DIV_SYSTEM_ARCADE)); sys=DIV_SYSTEM_ARCADE; } else if (song.system[0]==DIV_SYSTEM_SMS && song.system[1]==DIV_SYSTEM_OPLL) { @@ -1335,6 +1355,12 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { } else if (song.system[0]==DIV_SYSTEM_AY8910 && song.system[1]==DIV_SYSTEM_SCC) { w->writeC(systemToFileDMF(DIV_SYSTEM_MSX2)); sys=DIV_SYSTEM_MSX2; + } else if (song.system[0]==DIV_SYSTEM_YM2610_FULL) { + w->writeC(systemToFileDMF(DIV_SYSTEM_YM2610_CRAP)); + sys=DIV_SYSTEM_YM2610_CRAP; + } else if (song.system[0]==DIV_SYSTEM_YM2610_FULL_EXT) { + w->writeC(systemToFileDMF(DIV_SYSTEM_YM2610_CRAP_EXT)); + sys=DIV_SYSTEM_YM2610_CRAP_EXT; } else { w->writeC(systemToFileDMF(song.system[0])); sys=song.system[0]; @@ -1360,7 +1386,7 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { w->writeI(curSubSong->patLen); w->writeC(curSubSong->ordersLen); - for (int i=0; iordersLen; j++) { w->writeC(curOrders->ord[i][j]); if (version>=25) { @@ -1429,8 +1455,8 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { case DIV_SYSTEM_PCE: i->type=DIV_INS_PCE; break; - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_EXT: + case DIV_SYSTEM_YM2610_FULL: + case DIV_SYSTEM_YM2610_FULL_EXT: i->type=DIV_INS_AY; break; default: @@ -1582,7 +1608,7 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { w->writeC(realWaveMacroLen); for (int j=0; jwriteI(i->std.waveMacro.val[j]-1); } else { w->writeI(i->std.waveMacro.val[j]); @@ -1646,7 +1672,7 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { bool relWarning=false; - for (int i=0; iwriteC(curPat[i].effectCols); @@ -1675,13 +1701,13 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { alwaysConvert=true; } break; - case DIV_SYSTEM_YM2610: + case DIV_SYSTEM_YM2610_CRAP: if (i>=7) { convertSampleUsage=true; alwaysConvert=true; } break; - case DIV_SYSTEM_YM2610_EXT: + case DIV_SYSTEM_YM2610_CRAP_EXT: if (i>=10) { convertSampleUsage=true; alwaysConvert=true; diff --git a/src/engine/fileOps/fur.cpp b/src/engine/fileOps/fur.cpp index fd3db86d6..ae84ce173 100644 --- a/src/engine/fileOps/fur.cpp +++ b/src/engine/fileOps/fur.cpp @@ -166,8 +166,8 @@ void DivEngine::convertOldFlags(unsigned int oldFlags, DivConfig& newFlags, DivS break; } break; - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_EXT: + case DIV_SYSTEM_YM2610_CRAP: + case DIV_SYSTEM_YM2610_CRAP_EXT: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B: @@ -1234,6 +1234,17 @@ bool DivEngine::loadFur(unsigned char* file, size_t len, int variantID) { ds.initDefaultSystemChans(); ds.chans=tchans; + // flatten 5-channel SegaPCM and Neo Geo CD + for (int i=0; i", + DivChanDefFunc() ); - sysDefs[DIV_SYSTEM_YM2610_EXT]=new DivSysDef( + sysDefs[DIV_SYSTEM_YM2610_CRAP_EXT]=new DivSysDef( _("Neo Geo CD Extended Channel 2"), NULL, 0x49, 0x49, 16, 16, 16, - true, true, 0x151, false, (1U<", + DivChanDefFunc() ); sysDefs[DIV_SYSTEM_MSX2]=new DivSysDef( @@ -2033,11 +1994,9 @@ void DivEngine::registerSystems() { sysDefs[DIV_SYSTEM_SEGAPCM_COMPAT]=new DivSysDef( _("SegaPCM (compatible 5-channel mode)"), NULL, 0xa9, 0, 5, 5, 5, - false, true, 0x151, false, 1U<), - {}, - segaPCMPostEffectHandlerMap + false, true, 0x151, true, 1U<", + DivChanDefFunc() ); sysDefs[DIV_SYSTEM_X1_010]=new DivSysDef( diff --git a/src/engine/sysDef.h b/src/engine/sysDef.h index acad043ea..6e2037b59 100644 --- a/src/engine/sysDef.h +++ b/src/engine/sysDef.h @@ -166,8 +166,8 @@ enum DivSystem { DIV_SYSTEM_C64_8580, DIV_SYSTEM_ARCADE, // ** COMPOUND SYSTEM - DO NOT USE! ** DIV_SYSTEM_MSX2, // ** COMPOUND SYSTEM - DO NOT USE! ** - DIV_SYSTEM_YM2610, - DIV_SYSTEM_YM2610_EXT, + DIV_SYSTEM_YM2610_CRAP, + DIV_SYSTEM_YM2610_CRAP_EXT, DIV_SYSTEM_AY8910, DIV_SYSTEM_AMIGA, diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 9cdeb9767..15da9da0b 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -168,7 +168,6 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write } break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: for (int i=0; i<16; i++) { w->writeC(0xc0); w->writeS((0x86|baseAddr2S)+(i<<3)); @@ -182,10 +181,8 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC(0); } break; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610B: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B_EXT: case DIV_SYSTEM_YM2610_CSM: @@ -979,7 +976,6 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeC(write.val); break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: w->writeC(0xc0); w->writeS(baseAddr2S|(write.addr&0xffff)); w->writeC(write.val); @@ -989,10 +985,8 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write w->writeS_BE(baseAddr2S|(write.addr&0x1fff)); w->writeC(write.val); break; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610B: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B_EXT: case DIV_SYSTEM_YM2610_CSM: @@ -1507,7 +1501,6 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p } break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: if (!hasSegaPCM) { hasSegaPCM=4000000; CHIP_VOL(4,0.67); @@ -1537,10 +1530,8 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p howManyChips++; } break; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610B: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL_EXT: case DIV_SYSTEM_YM2610B_EXT: case DIV_SYSTEM_YM2610_CSM: diff --git a/src/gui/debug.cpp b/src/gui/debug.cpp index a77e4af1f..58a4ff853 100644 --- a/src/gui/debug.cpp +++ b/src/gui/debug.cpp @@ -278,8 +278,6 @@ void putDispatchChip(void* data, int type) { ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); break; } - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: { DivPlatformYM2610* ch=(DivPlatformYM2610*)data; @@ -362,8 +360,7 @@ void putDispatchChip(void* data, int type) { ImGui::TextColored(ch->useYMFM?colorOn:colorOff,">> UseYMFM"); break; } - case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: { + case DIV_SYSTEM_SEGAPCM: { DivPlatformSegaPCM* ch=(DivPlatformSegaPCM*)data; ImGui::Text("> SegaPCM"); COMMON_CHIP_DEBUG; @@ -629,7 +626,6 @@ void putDispatchChan(void* data, int chanNum, int type) { } break; } - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_FULL: { DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; ImGui::Text("> YM2610"); @@ -642,7 +638,6 @@ void putDispatchChan(void* data, int chanNum, int type) { OPNB_CHAN_DEBUG; break; } - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL_EXT: { if (chanNum>=1 && chanNum<=4) { DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; @@ -739,8 +734,7 @@ void putDispatchChan(void* data, int chanNum, int type) { COMMON_CHAN_DEBUG_BOOL; break; } - case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: { + case DIV_SYSTEM_SEGAPCM: { DivPlatformSegaPCM::Channel* ch=(DivPlatformSegaPCM::Channel*)data; ImGui::Text("> SegaPCM"); COMMON_CHAN_DEBUG; diff --git a/src/gui/gui.h b/src/gui/gui.h index 4a2d96e9a..7b727eec1 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -81,7 +81,7 @@ #define FM_PREVIEW_SIZE 512 #define CHECK_HIDDEN_SYSTEM(x) \ - (x==DIV_SYSTEM_YMU759 || x==DIV_SYSTEM_DUMMY || x==DIV_SYSTEM_SEGAPCM_COMPAT || x==DIV_SYSTEM_PONG || x==DIV_SYSTEM_UPD1771C) + (x==DIV_SYSTEM_YMU759 || x==DIV_SYSTEM_DUMMY || x==DIV_SYSTEM_PONG || x==DIV_SYSTEM_UPD1771C) enum FurnaceGUIRenderBackend { GUI_BACKEND_SDL=0, diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 84300b6e7..c94d711f6 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -1274,9 +1274,6 @@ const int availableSystems[]={ DIV_SYSTEM_C64_PCM, DIV_SYSTEM_YM2151, DIV_SYSTEM_SEGAPCM, - DIV_SYSTEM_SEGAPCM_COMPAT, - DIV_SYSTEM_YM2610, - DIV_SYSTEM_YM2610_EXT, DIV_SYSTEM_YM2610_FULL, DIV_SYSTEM_YM2610_FULL_EXT, DIV_SYSTEM_YM2610_CSM, @@ -1376,8 +1373,6 @@ const int chipsFM[]={ DIV_SYSTEM_YM2612_DUALPCM, DIV_SYSTEM_YM2612_DUALPCM_EXT, DIV_SYSTEM_YM2151, - DIV_SYSTEM_YM2610, - DIV_SYSTEM_YM2610_EXT, DIV_SYSTEM_YM2610_FULL, DIV_SYSTEM_YM2610_FULL_EXT, DIV_SYSTEM_YM2610_CSM, @@ -1476,7 +1471,6 @@ const int chipsSpecial[]={ // sample const int chipsSample[]={ DIV_SYSTEM_SEGAPCM, - DIV_SYSTEM_SEGAPCM_COMPAT, DIV_SYSTEM_AMIGA, DIV_SYSTEM_QSOUND, DIV_SYSTEM_X1_010, diff --git a/src/gui/presets.cpp b/src/gui/presets.cpp index c8d8ca449..4f8d9f4ba 100644 --- a/src/gui/presets.cpp +++ b/src/gui/presets.cpp @@ -3988,17 +3988,17 @@ void FurnaceGUI::initSystemPresets() { ENTRY( _("Arcade (YM2151 and SegaPCM)"), { CH(DIV_SYSTEM_YM2151, 1.0f, 0, ""), - CH(DIV_SYSTEM_SEGAPCM_COMPAT, 1.0f, 0, "") + CH(DIV_SYSTEM_SEGAPCM, 1.0f, 0, "") } ); ENTRY( - _("Neo Geo CD"), { - CH(DIV_SYSTEM_YM2610, 1.0f, 0, "") + _("Neo Geo"), { + CH(DIV_SYSTEM_YM2610_FULL, 1.0f, 0, "") } ); ENTRY( - _("Neo Geo CD (extended channel 2)"), { - CH(DIV_SYSTEM_YM2610_EXT, 1.0f, 0, "") + _("Neo Geo (extended channel 2)"), { + CH(DIV_SYSTEM_YM2610_FULL_EXT, 1.0f, 0, "") } ); ENTRY( diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 6fcc0dca2..9160fdfa9 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -396,7 +396,6 @@ void FurnaceGUI::drawSampleEdit() { } break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: if (sample->samples>65280) { SAMPLE_WARN(warnLength,_("SegaPCM: maximum sample length is 65280")); } diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index 288e5e03d..6688ee1cb 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -796,8 +796,6 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl } break; } - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_CSM: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: @@ -821,7 +819,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl } ImGui::Unindent(); - if (type==DIV_SYSTEM_YM2610_EXT || type==DIV_SYSTEM_YM2610_FULL_EXT || type==DIV_SYSTEM_YM2610B_EXT || type==DIV_SYSTEM_YM2610_CSM || type==DIV_SYSTEM_YM2610B_CSM) { + if (type==DIV_SYSTEM_YM2610_FULL_EXT || type==DIV_SYSTEM_YM2610B_EXT || type==DIV_SYSTEM_YM2610_CSM || type==DIV_SYSTEM_YM2610B_CSM) { if (ImGui::Checkbox(_("Disable ExtCh FM macros (compatibility)"),&noExtMacros)) { altered=true; } @@ -2420,8 +2418,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl } break; } - case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: { + case DIV_SYSTEM_SEGAPCM: { bool oldSlides=flags.getBool("oldSlides",false); if (ImGui::Checkbox(_("Legacy slides and pitch (compatibility)"),&oldSlides)) { diff --git a/src/gui/sysMiscInfo.cpp b/src/gui/sysMiscInfo.cpp index 8d6680984..026ac4c92 100644 --- a/src/gui/sysMiscInfo.cpp +++ b/src/gui/sysMiscInfo.cpp @@ -189,7 +189,6 @@ const char* FurnaceGUI::getSystemPartNumber(DivSystem sys, DivConfig& flags) { return "YM2414"; break; case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: return "SegaPCM"; break; case DIV_SYSTEM_VRC7: @@ -207,9 +206,7 @@ const char* FurnaceGUI::getSystemPartNumber(DivSystem sys, DivConfig& flags) { case DIV_SYSTEM_SCC: return "SCC"; break; - case DIV_SYSTEM_YM2610: case DIV_SYSTEM_YM2610_CSM: - case DIV_SYSTEM_YM2610_EXT: case DIV_SYSTEM_YM2610_FULL: case DIV_SYSTEM_YM2610_FULL_EXT: return "YM2610";