Exemplo n.º 1
0
void uic64cart_proc(video_canvas_t *canvas, int idm)
{
    switch (idm) {
      case IDM_CART_ATTACH_CRT:
      case IDM_CART_ATTACH_8KB:
      case IDM_CART_ATTACH_16KB:
      case IDM_CART_ATTACH_AR:
      case IDM_CART_ATTACH_AR3:
      case IDM_CART_ATTACH_AR4:
      case IDM_CART_ATTACH_STARDOS:
      case IDM_CART_ATTACH_AT:
      case IDM_CART_ATTACH_EPYX:
      case IDM_CART_ATTACH_IEEE488:
      case IDM_CART_ATTACH_RR:
      case IDM_CART_ATTACH_IDE64:
      case IDM_CART_ATTACH_SS4:
      case IDM_CART_ATTACH_SS5:
      case IDM_CART_ATTACH_STB:
      case IDM_CART_ENABLE_EXPERT:
        uic64cart_attach(canvas, idm, c64_ui_cartridges);
        break;
      case IDM_CART_SET_DEFAULT:
        cartridge_set_default();
        break;
      case IDM_CART_DETACH:
        cartridge_detach_image();
        break;
      case IDM_CART_FREEZE:
        keyboard_clear_keymatrix();
        cartridge_trigger_freeze();
        break;
    }
}
Exemplo n.º 2
0
void uic64cart_proc(WPARAM wparam, HWND hwnd)
{
    switch (wparam & 0xffff) {
      case IDM_CART_ATTACH_CRT:
      case IDM_CART_ATTACH_8KB:
      case IDM_CART_ATTACH_16KB:
      case IDM_CART_ATTACH_AR:
      case IDM_CART_ATTACH_AR3:
      case IDM_CART_ATTACH_AR4:
      case IDM_CART_ATTACH_STARDOS:
      case IDM_CART_ATTACH_AT:
      case IDM_CART_ATTACH_EPYX:
      case IDM_CART_ATTACH_IEEE488:
      case IDM_CART_ATTACH_RR:
      case IDM_CART_ATTACH_IDE64:
      case IDM_CART_ATTACH_SS4:
      case IDM_CART_ATTACH_SS5:
      case IDM_CART_ATTACH_STB:
      case IDM_CART_ENABLE_EXPERT:
        uic64cart_attach(wparam, hwnd, c64_ui_cartridges);
        break;
      case IDM_CART_SET_DEFAULT:
        cartridge_set_default();
        break;
      case IDM_CART_DETACH:
        cartridge_detach_image();
        break;
      case IDM_CART_FREEZE:
        keyboard_clear_keymatrix();
        cartridge_trigger_freeze();
        break;
    }
}
Exemplo n.º 3
0
static UI_MENU_CALLBACK(c64_cart_freeze_callback)
{
    if (activated) {
        keyboard_clear_keymatrix();
        cartridge_trigger_freeze();
    }
    return NULL;
}
Exemplo n.º 4
0
static TUI_MENU_CALLBACK(freeze_cartridge_callback)
{
    if (been_activated) {
        keyboard_clear_keymatrix();
        cartridge_trigger_freeze();
    }
    /* This way, the "Not Really!" item is always the default one.  */
    *become_default = 0;

    return NULL;
}
Exemplo n.º 5
0
void uic64cart_proc(WPARAM wparam, HWND hwnd, int min_id, int max_id)
{
    if ((wparam & 0xffff) >= (unsigned int)min_id && (wparam & 0xffff) <= (unsigned int)max_id) {
        uic64cart_attach(wparam, hwnd, built_cartridges);
    }

    switch (wparam & 0xffff) {
        case IDM_CART_ATTACH_CRT:
            uic64cart_attach(wparam, hwnd, c64_ui_cartridges);
            break;
        case IDM_CART_SET_DEFAULT:
            cartridge_set_default();
            break;
        case IDM_CART_DETACH:
            cartridge_detach_image(-1);
            break;
        case IDM_CART_FREEZE:
            keyboard_clear_keymatrix();
            cartridge_trigger_freeze();
            break;
    }
}
Exemplo n.º 6
0
/* Install our custom keyboard interrupt.  */
void kbd_install(void)
{
    int r;
    static _go32_dpmi_seginfo my_kbd_handler_seginfo;

    my_kbd_handler_seginfo.pm_offset = (int)my_kbd_interrupt_handler;
    my_kbd_handler_seginfo.pm_selector = _go32_my_cs();
    r = _go32_dpmi_allocate_iret_wrapper(&my_kbd_handler_seginfo);
    if (r) {
        log_error(LOG_DEFAULT, "Cannot allocate IRET wrapper for the keyboard interrupt.");
        exit(-1);
    }

    r = _go32_dpmi_set_protected_mode_interrupt_vector(9, &my_kbd_handler_seginfo);
    if (r) {
        log_error(LOG_DEFAULT, "Cannot install the keyboard interrupt handler.");
        exit(-1);
    }

    /* Initialize the keyboard matrix.  */
    keyboard_clear_keymatrix();
    /* Reset modifier status.  */
    memset(&modifiers, 0, sizeof(modifiers));
}
Exemplo n.º 7
0
void kbd_arch_init(void)
{
    keyboard_clear_keymatrix();
}