mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 02:32:36 +01:00
Added USB passthrough for H050 USJ PCB
This commit is contained in:
parent
44a1df4353
commit
48f47de95c
@ -189,6 +189,7 @@ usb_handler_thread::usb_handler_thread()
|
||||
|
||||
bool found_skylander = false;
|
||||
bool found_usio = false;
|
||||
bool found_h050 = false;
|
||||
|
||||
for (ssize_t index = 0; index < ndev; index++)
|
||||
{
|
||||
@ -279,6 +280,12 @@ usb_handler_thread::usb_handler_thread()
|
||||
|
||||
// Densha de GO! controller
|
||||
check_device(0x0AE4, 0x0004, 0x0004, "Densha de GO! Type 2 Controller");
|
||||
|
||||
// H050 USJ
|
||||
if (check_device(0x0B9A, 0x0900, 0x0900, "H050 USJ(C) PCB rev00"))
|
||||
{
|
||||
found_h050 = true;
|
||||
}
|
||||
}
|
||||
|
||||
libusb_free_device_list(list, 1);
|
||||
@ -289,7 +296,7 @@ usb_handler_thread::usb_handler_thread()
|
||||
usb_devices.push_back(std::make_shared<usb_device_skylander>(get_new_location()));
|
||||
}
|
||||
|
||||
if (!found_usio)
|
||||
if (!found_usio && !found_h050) // Only one of these two IO boards should be present at the same time; otherwise, an exception will be thrown by the game.
|
||||
{
|
||||
sys_usbd.notice("Adding emulated v406 usio");
|
||||
usb_devices.push_back(std::make_shared<usb_device_usio>(get_new_location()));
|
||||
@ -758,9 +765,10 @@ error_code sys_usbd_register_ldd(ppu_thread& ppu, u32 handle, vm::ptr<char> s_pr
|
||||
}
|
||||
else if (s_product.get_ptr() == "PS3A-USJ"sv)
|
||||
{
|
||||
// Arcade v406 USIO board
|
||||
// Arcade IO boards
|
||||
sys_usbd.warning("sys_usbd_register_ldd(handle=0x%x, s_product=%s, slen_product=0x%x) -> Redirecting to sys_usbd_register_extra_ldd", handle, s_product, slen_product);
|
||||
sys_usbd_register_extra_ldd(ppu, handle, s_product, slen_product, 0x0B9A, 0x0910, 0x0910); // usio
|
||||
sys_usbd_register_extra_ldd(ppu, handle, s_product, slen_product, 0x0B9A, 0x0900, 0x0900); // H050 USJ
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user