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); } } }
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; }
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); }
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; }
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; }