コード例 #1
0
ファイル: joystick.c プロジェクト: alpine9000/fs-uae
void fs_uae_reconfigure_input_ports_amiga()
{
    fs_emu_log("fs_uae_reconfigure_input_ports_amiga\n");
    int modes = INPUTEVENT_AMIGA_JOYPORT_MODE_0_LAST -
            INPUTEVENT_AMIGA_JOYPORT_MODE_0_NONE + 1;
    //for (int i = 0; i < FS_UAE_NUM_INPUT_PORTS; i++) {
    // only the 4 real ports are reconfigured via input events, the 5th
    // custom joystick port is a local virtual joystick for mapping custom
    // input events only
    for (int i = 0; i < 4; i++) {
        fs_uae_input_port *port = g_fs_uae_input_ports + i;
        if (port->new_mode != port->mode) {
            fs_log("sending event to set port %d to mode %d\n", i, port->new_mode);
            int action = INPUTEVENT_AMIGA_JOYPORT_MODE_0_NONE + modes * i + \
                    port->new_mode;
            fs_emu_queue_action(action, 1);
        }
        if (port->new_autofire_mode != port->autofire_mode) {
            fs_log("sending event to set port %d to autofire mode %d\n", i,
                    port->new_autofire_mode);
            int action = INPUTEVENT_AMIGA_JOYPORT_0_AUTOFIRE + i;
            fs_emu_queue_action(action, 1);
        }
    }
}
コード例 #2
0
ファイル: input.c プロジェクト: jens-maus/fs-uae
static int hotkey_function(int key_code, int key_mod) {
    //write_log("hotkey: %d mod %d\n", key_code, key_mod);
    switch (key_code) {
    case FS_ML_KEY_R:
        fs_emu_log("hot key: soft reset\n");
        fs_emu_warning(_("Soft Reset"));
        fs_emu_queue_action(INPUTEVENT_SPC_SOFTRESET, 1);
        return 0;
    case FS_ML_KEY_T:
        fs_emu_log("hot key: hard reset\n");
        fs_emu_warning(_("Hard Reset"));
        fs_emu_queue_action(INPUTEVENT_SPC_HARDRESET, 1);
        return 0;
    case FS_ML_KEY_A:
        fs_emu_log("hot key: freeze button\n");
        fs_emu_queue_action(INPUTEVENT_SPC_FREEZEBUTTON, 1);
        return 0;
    case FS_ML_KEY_D:
        fs_emu_log("hot key: enter debugger\n");
        if (fs_config_get_boolean("console_debugger") == 1) {
            fs_emu_warning(_("Activated debugger"));
            fs_emu_queue_action(INPUTEVENT_SPC_ENTERDEBUGGER, 1);
        }
        else {
            fs_emu_warning(_("Option \"%s\" is not enabled"),
                           "console_debugger");
        }
        return 0;
    }
    return 0;
}
コード例 #3
0
ファイル: menu.c プロジェクト: jens-maus/fs-uae
static void insert_disk(int drive_index, int disk_index) {
    if (disk_index == -1) {
        fs_emu_log("menu: eject disk from drive %d\n", drive_index);
        int action = INPUTEVENT_SPC_EFLOPPY0 + drive_index;
        fs_emu_queue_action(action, 1);
        //fs_emu_queue_action(action, 0);
        return;
    }
    fs_emu_log("menu: insert disk index %d into df%d\n", disk_index,
               drive_index);
    int action = INPUTEVENT_SPC_DISKSWAPPER_0_0;
    action += drive_index * AMIGA_FLOPPY_LIST_SIZE + disk_index;
    fs_emu_queue_action(action, 1);
}
コード例 #4
0
ファイル: menu.c プロジェクト: jens-maus/fs-uae
static int save_function(fs_emu_menu_item *item, void **data) {
    int slot = item->idata;
    fs_emu_log("save_function slot = %d\n", slot);
    g_last_save_slot = slot;

    //amiga_state_save(slot);
    fs_emu_queue_action(INPUTEVENT_SPC_STATESAVE1 + slot, 1);
    return FS_EMU_MENU_RESULT_CLOSE | FS_EMU_MENU_RESULT_ROOT;
}
コード例 #5
0
ファイル: menu.c プロジェクト: jens-maus/fs-uae
static int soft_reset_function(fs_emu_menu_item *item, void **data) {
    fs_emu_log("soft_reset_function\n");
    fs_emu_queue_action(INPUTEVENT_SPC_SOFTRESET, 1);
    return FS_EMU_MENU_RESULT_CLOSE | FS_EMU_MENU_RESULT_ROOT;
}