# HG changeset patch # User Matti Hamalainen # Date 1352195760 -7200 # Node ID 45108b3d88dbd8cd2da9d28f8df3f3f8248d629b # Parent 91a36a4b79c69db40b4ebedf4dc91c9ed57110d1 Add resid-fp and resid backend to sidplay2fp support. diff -r 91a36a4b79c6 -r 45108b3d88db src/xs_config.c --- a/src/xs_config.c Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_config.c Tue Nov 06 11:56:00 2012 +0200 @@ -157,6 +157,7 @@ { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_clock_force", &xs_cfg.forceSpeed, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sp2_opt", &xs_cfg.sid2OptLevel, 0 }, +{ WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid_fp", &xs_cfg.sid2Builder, XS_BLD_RESID_FP }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid", &xs_cfg.sid2Builder, XS_BLD_RESID }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_hardsid", &xs_cfg.sid2Builder, XS_BLD_HARDSID }, @@ -1248,6 +1249,7 @@ gtk_widget_set_sensitive(LUW("cfg_chn_autopan"), !isActive); + gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid_fp"), HAVE_RESID_BUILDER && HAVE_SIDPLAY2_FP && isActive); gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid"), HAVE_RESID_BUILDER && isActive); gtk_widget_set_sensitive(LUW("cfg_emu_sp2_hardsid"), HAVE_HARDSID_BUILDER && isActive); } diff -r 91a36a4b79c6 -r 45108b3d88db src/xs_config.h --- a/src/xs_config.h Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_config.h Tue Nov 06 11:56:00 2012 +0200 @@ -19,7 +19,8 @@ enum XS_BUILDER { XS_BLD_RESID = 1, - XS_BLD_HARDSID + XS_BLD_HARDSID, + XS_BLD_RESID_FP }; enum XS_RESOLUTION { diff -r 91a36a4b79c6 -r 45108b3d88db src/xs_sidplay2.cc --- a/src/xs_sidplay2.cc Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_sidplay2.cc Tue Nov 06 11:56:00 2012 +0200 @@ -69,6 +69,7 @@ #ifdef HAVE_RESID_BUILDER # ifdef HAVE_SIDPLAY2_FP # include +# include # else # include # endif @@ -265,8 +266,22 @@ switch (xs_cfg.sid2Builder) { #ifdef HAVE_RESID_BUILDER +#ifdef HAVE_SIDPLAY2_FP case XS_BLD_RESID: -#ifdef HAVE_SIDPLAY2_FP + { + ReSIDBuilder *rs = new ReSIDBuilder("ReSID builder"); + if (rs) + { + engine->config.sidEmulation = rs; + if (!*rs) return FALSE; + rs->create((engine->emu.info()).maxsids); + if (!*rs) return FALSE; + rs->bias(0.0f); + } + } + break; + + case XS_BLD_RESID_FP: { ReSIDfpBuilder *rs = new ReSIDfpBuilder("ReSID builder FP!"); if (rs) @@ -283,7 +298,11 @@ rs->filter8580Curve((double)m_filter.filterCurve8580); */ } + } + break; #else + case XS_BLD_RESID: + { engine->config.sidEmulation = ReSIDBuilderCreate("ReSID builder"); SidLazyIPtr rs(engine->config.sidEmulation); if (rs) @@ -292,10 +311,10 @@ rs->create((engine->emu.info()).maxsids); if (!*rs) return FALSE; } -#endif } break; #endif +#endif #ifdef HAVE_HARDSID_BUILDER case XS_BLD_HARDSID: diff -r 91a36a4b79c6 -r 45108b3d88db xmms-sid.glade --- a/xmms-sid.glade Tue Nov 06 11:26:59 2012 +0200 +++ b/xmms-sid.glade Tue Nov 06 11:56:00 2012 +0200 @@ -653,6 +653,22 @@ GtkRadioButton + cfg_emu_sp2_resid_fp + reSID-FP is the heaviest and most accurate software SID-chip simulator based on SID reverse-engineering, created by Dag Lem, Antti Lankila and others. It is probably the closest thing to real SID available as software-only emulation. + True + + False + True + emutype + + 0 + False + False + + + + + GtkRadioButton cfg_emu_sp2_resid reSID is the software SID-chip simulator based on SID reverse-engineering, created by Dag Lem. It is probably the closest thing to real SID available as software-only emulation. True