static int mach5_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } mach5_io1_list_item = c64io_register(&mach5_io1_device); mach5_io2_list_item = c64io_register(&mach5_io2_device); return 0; }
static int warpspeed_common_attach(void) { if (c64export_add(&export_res_warpspeed) < 0) { return -1; } warpspeed_io1_list_item = c64io_register(&warpspeed_io1_device); warpspeed_io2_list_item = c64io_register(&warpspeed_io2_device); return 0; }
static int freezeframe_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } freezeframe_io1_list_item = c64io_register(&freezeframe_io1_device); freezeframe_io2_list_item = c64io_register(&freezeframe_io2_device); return 0; }
int machine_sid2_check_range(unsigned int sid2_adr) { if (machine_class == VICE_MACHINE_C128) { if (sid2_adr >= 0xd420 && sid2_adr <= 0xd4e0) { if (stereo_sid_list_item != NULL) { c64io_unregister(stereo_sid_list_item); stereo_sid_list_item = NULL; } current_device = NULL; return 0; } if (sid2_adr >= 0xd700 && sid2_adr <= 0xd7e0) { if (stereo_sid_list_item != NULL) { c64io_unregister(stereo_sid_list_item); stereo_sid_list_item = NULL; } current_device = NULL; return 0; } } else { if (sid2_adr >= 0xd420 && sid2_adr <= 0xd7e0) { if (stereo_sid_list_item != NULL) { c64io_unregister(stereo_sid_list_item); stereo_sid_list_item = NULL; } current_device = NULL; return 0; } } if (sid2_adr >= 0xde00 && sid2_adr <= 0xdfe0) { stereo_sid_device.start_address = sid2_adr; stereo_sid_device.end_address = sid2_adr + 0x1f; current_device = &stereo_sid_device; if (stereo_sid_list_item != NULL) { c64io_unregister(stereo_sid_list_item); stereo_sid_list_item = c64io_register(&stereo_sid_device); } else { if (sid_stereo) { stereo_sid_list_item = c64io_register(&stereo_sid_device); } } return 0; } return -1; }
static int set_ramcart_enabled(int val, void *param) { if(!ramcart_enabled && val) { cart_power_off(); if (ramcart_activate() < 0) return -1; if (c64export_add(&export_res) < 0) return -1; ramcart_io1_list_item = c64io_register(&ramcart_io1_device); ramcart_io2_list_item = c64io_register(&ramcart_io2_device); ramcart_enabled = 1; /* FIXME */ export.exrom = 1;
static int simon_common_attach(void) { if (c64export_add(&export_res_simon) < 0) { return -1; } simon_list_item = c64io_register(&simon_device); return 0; }
/* ---------------------------------------------------------------------*/ static int supergames_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } supergames_list_item = c64io_register(&supergames_device); return 0; }
static int rex_common_attach(void) { if (c64export_add(&export_res_rex) < 0) { return -1; } rex_list_item = c64io_register(&rex_device); return 0; }
static int magicdesk_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } magicdesk_list_item = c64io_register(&magicdesk_device); return 0; }
static int dsm_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } dsm_io1_list_item = c64io_register(&dsm_io1_device); return 0; }
static int westermann_common_attach(void) { if (c64export_add(&export_res_westermann) < 0) { return -1; } westermann_list_item = c64io_register(&westermann_device); return 0; }
static int snapshot64_common_attach(void) { if (c64export_add(&export_res) < 0) { return -1; } ss64_io2_list_item = c64io_register(&ss64_io2_device); return 0; }
static int stb_common_attach(void) { /* add export */ if (c64export_add(&export_res) < 0) { return -1; } stb_list_item = c64io_register(&stb_device); return 0; }
static int set_emu_id_enabled(int val, void *param) { if (val != emu_id_enabled) { if (!val) { c64io_unregister(emu_id_list_item); emu_id_list_item = NULL; } else { emu_id_list_item = c64io_register(&emu_id_device); } emu_id_enabled = val; } return 0; }
void machine_sid2_enable(int val) { if (val) { if (current_device != NULL) { stereo_sid_list_item = c64io_register(&stereo_sid_device); } } else { if (stereo_sid_list_item != NULL) { c64io_unregister(stereo_sid_list_item); stereo_sid_list_item = NULL; } } }
static int set_sfx_soundsampler_enabled(int val, void *param) { if (sfx_soundsampler_enabled != val) { if (val) { if (c64export_add(&export_res) < 0) { return -1; } sfx_soundsampler_list_item = c64io_register(&sfx_soundsampler_device); sfx_soundsampler_enabled = 1; } else { c64export_remove(&export_res); c64io_unregister(sfx_soundsampler_list_item); sfx_soundsampler_list_item = NULL; sfx_soundsampler_enabled = 0; } } return 0; }