Mercurial > hg > xmms-sid
comparison src/xs_sidplayfp.cpp @ 977:d9ad299059a4
Update to be compatible with libsidplayfp 1.0.1 API.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 28 Mar 2013 15:01:40 +0200 |
parents | ae99f7489e79 |
children | 9bd29db2d1bf |
comparison
equal
deleted
inserted
replaced
976:56368ab7d282 | 977:d9ad299059a4 |
---|---|
99 #define SID2_RESAMPLE_INTERPOLATE SidConfig::RESAMPLE_INTERPOLATE | 99 #define SID2_RESAMPLE_INTERPOLATE SidConfig::RESAMPLE_INTERPOLATE |
100 | 100 |
101 #define SID2_MOS8580 SidConfig::MOS8580 | 101 #define SID2_MOS8580 SidConfig::MOS8580 |
102 #define SID2_MOS6581 SidConfig::MOS6581 | 102 #define SID2_MOS6581 SidConfig::MOS6581 |
103 | 103 |
104 #define SID2_CLOCK_PAL SidConfig::CLOCK_PAL | 104 #define SID2_CLOCK_PAL SidConfig::PAL |
105 #define SID2_CLOCK_NTSC SidConfig::CLOCK_NTSC | 105 #define SID2_CLOCK_NTSC SidConfig::NTSC |
106 | 106 |
107 #define SIDTUNE_CLOCK_UNKNOWN SidTuneInfo::CLOCK_UNKNOWN | 107 #define SIDTUNE_CLOCK_UNKNOWN SidTuneInfo::CLOCK_UNKNOWN |
108 #define SIDTUNE_CLOCK_PAL SidTuneInfo::CLOCK_PAL | 108 #define SIDTUNE_CLOCK_PAL SidTuneInfo::CLOCK_PAL |
109 #define SIDTUNE_CLOCK_NTSC SidTuneInfo::CLOCK_NTSC | 109 #define SIDTUNE_CLOCK_NTSC SidTuneInfo::CLOCK_NTSC |
110 #define SIDTUNE_CLOCK_ANY SidTuneInfo::CLOCK_ANY | 110 #define SIDTUNE_CLOCK_ANY SidTuneInfo::CLOCK_ANY |
137 | 137 |
138 /* Initialize SIDPlayFP | 138 /* Initialize SIDPlayFP |
139 */ | 139 */ |
140 gboolean xs_sidplayfp_init(XSEngineState * state) | 140 gboolean xs_sidplayfp_init(XSEngineState * state) |
141 { | 141 { |
142 (void) state; | |
142 assert(state); | 143 assert(state); |
143 | 144 |
144 XSDEBUG("SIDPlayFP backend initializing.\n"); | 145 XSDEBUG("SIDPlayFP backend initializing.\n"); |
145 | 146 |
146 memset(xs_rom_imagedata, 0, sizeof(xs_rom_imagedata)); | 147 memset(xs_rom_imagedata, 0, sizeof(xs_rom_imagedata)); |
250 | 251 |
251 /* Clockspeed settings */ | 252 /* Clockspeed settings */ |
252 switch (xs_cfg.clockSpeed) | 253 switch (xs_cfg.clockSpeed) |
253 { | 254 { |
254 case XS_CLOCK_NTSC: | 255 case XS_CLOCK_NTSC: |
256 #ifdef HAVE_SIDPLAYFP_V1 | |
257 engine->config.defaultC64Model = SID2_CLOCK_NTSC; | |
258 #else | |
255 engine->config.clockDefault = SID2_CLOCK_NTSC; | 259 engine->config.clockDefault = SID2_CLOCK_NTSC; |
260 #endif | |
256 break; | 261 break; |
257 | 262 |
258 default: | 263 default: |
259 case XS_CLOCK_PAL: | 264 case XS_CLOCK_PAL: |
260 engine->config.clockDefault = SID2_CLOCK_PAL; | 265 #ifdef HAVE_SIDPLAYFP_V1 |
266 #else | |
267 engine->config.defaultC64Model = SID2_CLOCK_PAL; | |
268 #endif | |
261 xs_cfg.clockSpeed = XS_CLOCK_PAL; | 269 xs_cfg.clockSpeed = XS_CLOCK_PAL; |
262 break; | 270 break; |
263 } | 271 } |
264 | 272 |
265 | 273 |
266 /* Configure rest of the emulation */ | 274 /* Configure rest of the emulation */ |
275 | |
276 #ifdef HAVE_SIDPLAYFP_V1 | |
277 engine->config.forceC64Model = xs_cfg.forceSpeed; | |
278 engine->config.defaultSidModel = xs_cfg.mos8580 ? SID2_MOS8580 : SID2_MOS6581; | |
279 XSDEBUG("init builder #%i, maxsids=%i\n", xs_cfg.sid2Builder, (engine->emu.info()).maxsids()); | |
280 #else | |
267 engine->config.sidDefault = xs_cfg.mos8580 ? SID2_MOS8580 : SID2_MOS6581; | 281 engine->config.sidDefault = xs_cfg.mos8580 ? SID2_MOS8580 : SID2_MOS6581; |
268 engine->config.clockForced = xs_cfg.forceSpeed; | 282 engine->config.clockForced = xs_cfg.forceSpeed; |
269 | |
270 #ifndef HAVE_SIDPLAYFP_V1 | |
271 engine->config.sidSamples = TRUE; | 283 engine->config.sidSamples = TRUE; |
272 engine->config.sidModel = xs_cfg.forceModel ? engine->config.sidDefault : SID2_MODEL_CORRECT; | 284 engine->config.sidModel = xs_cfg.forceModel ? engine->config.sidDefault : SID2_MODEL_CORRECT; |
273 engine->config.clockSpeed = xs_cfg.forceSpeed ? engine->config.clockDefault : SID2_CLOCK_CORRECT; | 285 engine->config.clockSpeed = xs_cfg.forceSpeed ? engine->config.clockDefault : SID2_CLOCK_CORRECT; |
274 | 286 |
275 /* Initialize builder object */ | 287 /* Initialize builder object */ |
276 XSDEBUG("init builder #%i, maxsids=%i\n", xs_cfg.sid2Builder, (engine->emu.info()).maxsids); | 288 XSDEBUG("init builder #%i, maxsids=%i\n", xs_cfg.sid2Builder, (engine->emu.info()).maxsids); |
277 #else | |
278 XSDEBUG("init builder #%i, maxsids=%i\n", xs_cfg.sid2Builder, (engine->emu.info()).maxsids()); | |
279 #endif | 289 #endif |
280 | 290 |
281 switch (xs_cfg.sid2Builder) | 291 switch (xs_cfg.sid2Builder) |
282 { | 292 { |
283 #ifdef HAVE_RESID_BUILDER | 293 #ifdef HAVE_RESID_BUILDER |