Initial Flexibility to set SID type
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void *sid_init(void);
|
void *sid_init(uint8_t type);
|
||||||
void sid_close(void *priv);
|
void sid_close(void *priv);
|
||||||
void sid_reset(void *priv);
|
void sid_reset(void *priv);
|
||||||
uint8_t sid_read(uint16_t addr, void *priv);
|
uint8_t sid_read(uint16_t addr, void *priv);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ typedef struct psid_t {
|
|||||||
psid_t *psid;
|
psid_t *psid;
|
||||||
|
|
||||||
void *
|
void *
|
||||||
sid_init(void)
|
sid_init(uint8_t type)
|
||||||
{
|
{
|
||||||
reSIDfp::SamplingMethod method = reSIDfp::RESAMPLE;
|
reSIDfp::SamplingMethod method = reSIDfp::RESAMPLE;
|
||||||
float cycles_per_sec = 14318180.0 / 16.0;
|
float cycles_per_sec = 14318180.0 / 16.0;
|
||||||
@@ -28,7 +28,13 @@ sid_init(void)
|
|||||||
psid = new psid_t;
|
psid = new psid_t;
|
||||||
psid->sid = new SID;
|
psid->sid = new SID;
|
||||||
|
|
||||||
psid->sid->setChipModel(reSIDfp::MOS6581);
|
switch (type) {
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
|
psid->sid->setChipModel(reSIDfp::MOS6581);
|
||||||
|
case 1:
|
||||||
|
psid->sid->setChipModel(reSIDfp::MOS8580);
|
||||||
|
}
|
||||||
|
|
||||||
psid->sid->reset();
|
psid->sid->reset();
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ ssi2001_init(UNUSED(const device_t *info))
|
|||||||
ssi2001_t *ssi2001 = malloc(sizeof(ssi2001_t));
|
ssi2001_t *ssi2001 = malloc(sizeof(ssi2001_t));
|
||||||
memset(ssi2001, 0, sizeof(ssi2001_t));
|
memset(ssi2001, 0, sizeof(ssi2001_t));
|
||||||
|
|
||||||
ssi2001->psid = sid_init();
|
ssi2001->psid = sid_init(0);
|
||||||
sid_reset(ssi2001->psid);
|
sid_reset(ssi2001->psid);
|
||||||
uint16_t addr = device_get_config_hex16("base");
|
uint16_t addr = device_get_config_hex16("base");
|
||||||
ssi2001->gameport_enabled = device_get_config_int("gameport");
|
ssi2001->gameport_enabled = device_get_config_int("gameport");
|
||||||
|
|||||||
Reference in New Issue
Block a user