示例#1
0
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;
}
示例#2
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;
}
示例#3
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;
}
示例#4
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;
}
示例#5
0
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;
示例#6
0
static int simon_common_attach(void)
{
    if (c64export_add(&export_res_simon) < 0) {
        return -1;
    }
    simon_list_item = c64io_register(&simon_device);
    return 0;
}
示例#7
0
/* ---------------------------------------------------------------------*/
static int supergames_common_attach(void)
{
    if (c64export_add(&export_res) < 0) {
        return -1;
    }
    supergames_list_item = c64io_register(&supergames_device);
    return 0;
}
示例#8
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;
}
示例#9
0
static int magicdesk_common_attach(void)
{
    if (c64export_add(&export_res) < 0) {
        return -1;
    }
    magicdesk_list_item = c64io_register(&magicdesk_device);
    return 0;
}
示例#10
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;
}
示例#11
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;
}
示例#12
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;
}
示例#13
0
文件: stb.c 项目: twinaphex/vice-next
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;
}
示例#14
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;
}
示例#15
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;
        }
    }
}
示例#16
0
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;
}