get gamecube adapter working

This commit is contained in:
Nathan Strong 2021-10-05 02:25:52 +00:00
parent c832828ddb
commit 2715b4c9c0
2 changed files with 6 additions and 8 deletions

View File

@ -220,6 +220,7 @@ void pad_connection_pad_refresh(joypad_connection_t *joyconn, pad_connection_int
switch(state) {
/* The pad slot is bound to a joypad that's no longer connected */
case PAD_CONNECT_BOUND:
RARCH_LOG("PAD_CONNECT_BOUND (0x%02x)\n", state);
joypad = iface->joypad(device_data, i);
slot = joypad_to_slot(joyconn, joypad);
input_autoconfigure_disconnect(slot, iface->get_name(joypad->connection));
@ -236,10 +237,14 @@ void pad_connection_pad_refresh(joypad_connection_t *joyconn, pad_connection_int
joypad->data = handle;
joypad->iface = iface;
joypad->input_driver = input_driver;
joypad->connected = true;
input_pad_connect(slot, input_driver);
}
break;
default:
if(state > 0x03) {
RARCH_LOG("Unrecognized state: 0x%02x", state);
}
break;
}
}
@ -260,7 +265,6 @@ void pad_connection_pad_register(joypad_connection_t *joyconn, pad_connection_in
for(i = 0; i < max_pad; i++) {
status = iface->multi_pad ? iface->status(device_data, i) : PAD_CONNECT_READY;
RARCH_LOG("pad %d: status = %d\n", i, status);
if(status == PAD_CONNECT_READY) {
found_slot = (slot == SLOT_AUTO) ? pad_connection_find_vacant_pad(joyconn) : slot;
if(found_slot < 0) {

View File

@ -44,7 +44,6 @@ static joypad_connection_t *get_pad(wiiu_hid_t *hid, unsigned slot)
}
result = &joypad_state.pads[slot];
if (!result->connected || !result->iface || !result->connection) {
RARCH_LOG("Pad not ready (connected: %d, iface: %08lx, connection: %08lx)\n", result->connected, (unsigned long)result->iface, (unsigned long)result->connection);
return NULL;
}
return result;
@ -430,16 +429,11 @@ static void synchronized_process_adapters(wiiu_hid_t *hid)
adapter->state = try_init_driver(adapter);
break;
case ADAPTER_STATE_READY:
RARCH_LOG("ADAPTER_STATE_READY");
case ADAPTER_STATE_READING:
if(adapter->pad_driver && adapter->pad_driver->multi_pad) {
pad_connection_pad_refresh(joypad_state.pads, adapter->pad_driver, adapter->pad_driver_data, adapter, &hidpad_driver);
}
break;
case ADAPTER_STATE_READING:
RARCH_LOG("ADAPTER_STATE_READING");
break;
case ADAPTER_STATE_DONE:
RARCH_LOG("ADAPTER_STATE_DONE");
break;
case ADAPTER_STATE_GC:
{