コード例 #1
0
ファイル: joystick.c プロジェクト: markjreed/vice-emu
static void joystick_latch_matrix(CLOCK offset)
{
    BYTE idx;

    if (network_connected()) {
        idx = network_joystick_value[0];
        if (idx > 0) {
            joystick_value[idx] = network_joystick_value[idx];
        } else {
            memcpy(joystick_value, network_joystick_value, sizeof(joystick_value));
        }
    } else {
        memcpy(joystick_value, latch_joystick_value, sizeof(joystick_value));
    }

    if (joystick_machine_func != NULL) {
        joystick_machine_func();
    }

    if (joyport_joystick[0]) {
        joyport_display_joyport(JOYPORT_ID_JOY1, joystick_value[1]);
    }
    if (joyport_joystick[1]) {
        joyport_display_joyport(JOYPORT_ID_JOY2, joystick_value[2]);
    }
    if (joyport_joystick[2]) {
        joyport_display_joyport(JOYPORT_ID_JOY3, joystick_value[3]);
    }
    if (joyport_joystick[3]) {
        joyport_display_joyport(JOYPORT_ID_JOY4, joystick_value[4]);
    }
    if (joyport_joystick[4]) {
        joyport_display_joyport(JOYPORT_ID_JOY4, joystick_value[5]);
    }
}
コード例 #2
0
ファイル: cx21.c プロジェクト: OpenEmu/VICE-Core
static uint8_t cx21_read_dig(int p)
{
    uint8_t retval = 0;

    if (keys[KEYPAD_KEY_3]) {
        if (port & 1) {
            retval = 0x10;
        }
    }

    if (keys[KEYPAD_KEY_6]) {
        if (port & 2) {
            retval = 0x10;
        }
    }

    if (keys[KEYPAD_KEY_9]) {
        if (port & 4) {
            retval = 0x10;
        }
    }

    if (keys[KEYPAD_KEY_HASH]) {
        if (port & 8) {
            retval = 0x10;
        }
    }

    joyport_display_joyport(JOYPORT_ID_CX21_KEYPAD, (uint8_t)retval);

    return (uint8_t)~retval;
}
コード例 #3
0
ファイル: cardkey.c プロジェクト: Rakashazi/emu-ex-plus-alpha
static BYTE cardkey_read_dig(int port)
{
    unsigned int retval = 0;
    unsigned int tmp;

    /* KEY3 */
    tmp = keys[KEYPAD_KEY_0] |
          keys[KEYPAD_KEY_1] |
          keys[KEYPAD_KEY_2] |
          keys[KEYPAD_KEY_3] |
          keys[KEYPAD_KEY_4] |
          keys[KEYPAD_KEY_5] |
          keys[KEYPAD_KEY_6] |
          keys[KEYPAD_KEY_7];
    tmp <<= 3;
    retval |= tmp;

    /* KEY2 */
    tmp = keys[KEYPAD_KEY_0] |
          keys[KEYPAD_KEY_1] |
          keys[KEYPAD_KEY_2] |
          keys[KEYPAD_KEY_3] |
          keys[KEYPAD_KEY_8] |
          keys[KEYPAD_KEY_9] |
          keys[KEYPAD_KEY_PLUS] |
          keys[KEYPAD_KEY_MINUS];
    tmp <<= 2;
    retval |= tmp;

    /* KEY1 */
    tmp = keys[KEYPAD_KEY_0] |
          keys[KEYPAD_KEY_1] |
          keys[KEYPAD_KEY_8] |
          keys[KEYPAD_KEY_9] |
          keys[KEYPAD_KEY_4] |
          keys[KEYPAD_KEY_5] |
          keys[KEYPAD_KEY_DIV] |
          keys[KEYPAD_KEY_MULT];
    tmp <<= 1;
    retval |= tmp;

    /* KEY0 */
    tmp = keys[KEYPAD_KEY_0] |
          keys[KEYPAD_KEY_8] |
          keys[KEYPAD_KEY_4] |
          keys[KEYPAD_KEY_DIV] |
          keys[KEYPAD_KEY_2] |
          keys[KEYPAD_KEY_PLUS] |
          keys[KEYPAD_KEY_6] |
          keys[KEYPAD_KEY_DOT];
    retval |= tmp;

    retval |= 0xf0;

    joyport_display_joyport(JOYPORT_ID_CARDCO_KEYPAD, (BYTE)~retval);

    return (BYTE)retval;
}
コード例 #4
0
static BYTE paperclip64_read(int port)
{
    BYTE retval = 0xff;

    if (counter != -1) {
        retval &= (keys[counter] | 0xfc);
        joyport_display_joyport(JOYPORT_ID_BBRTC, (BYTE)(~retval & 3));
    }
    return retval;
}