mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-29 22:20:48 +00:00
Skylander - Traptanium portal cleanup
- Remove "Status" query responses from reset request - Add additional request types for newer portal
This commit is contained in:
parent
63e4ac80bd
commit
99d6f9c7a9
@ -245,9 +245,28 @@ void usb_device_skylander::control_transfer(u8 bmRequestType, u8 bRequest, u16 w
|
|||||||
g_skyportal.set_leds(buf[1], buf[2], buf[3]);
|
g_skyportal.set_leds(buf[1], buf[2], buf[3]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'J':
|
||||||
|
{
|
||||||
|
// Sync status from game?
|
||||||
|
ensure(buf_size == 7);
|
||||||
|
q_result[0] = 0x4A;
|
||||||
|
q_queries.push(q_result);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'L':
|
||||||
|
{
|
||||||
|
// Audio Download status?
|
||||||
|
ensure(buf_size == 5);
|
||||||
|
q_result[0] = 0x4C;
|
||||||
|
q_queries.push(q_result);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'M':
|
case 'M':
|
||||||
{
|
{
|
||||||
// ?
|
// Audio Firmware version
|
||||||
|
// Return version of 0 to prevent attempts to
|
||||||
|
// play audio on the portal
|
||||||
|
ensure(buf_size == 2);
|
||||||
q_result[0] = 0x4D;
|
q_result[0] = 0x4D;
|
||||||
q_result[1] = buf[1];
|
q_result[1] = buf[1];
|
||||||
q_queries.push(q_result);
|
q_queries.push(q_result);
|
||||||
@ -272,13 +291,7 @@ void usb_device_skylander::control_transfer(u8 bmRequestType, u8 bRequest, u16 w
|
|||||||
// Shutdowns the portal
|
// Shutdowns the portal
|
||||||
ensure(buf_size == 2 || buf_size == 32);
|
ensure(buf_size == 2 || buf_size == 32);
|
||||||
q_result = {
|
q_result = {
|
||||||
0x53, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
0x52, 0x02, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||||
q_queries.push(q_result);
|
|
||||||
q_result = {
|
|
||||||
0x53, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
|
||||||
q_queries.push(q_result);
|
|
||||||
q_result = {
|
|
||||||
0x52, 0x02, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
|
||||||
q_queries.push(q_result);
|
q_queries.push(q_result);
|
||||||
g_skyportal.deactivate();
|
g_skyportal.deactivate();
|
||||||
break;
|
break;
|
||||||
@ -289,6 +302,12 @@ void usb_device_skylander::control_transfer(u8 bmRequestType, u8 bRequest, u16 w
|
|||||||
ensure(buf_size == 1 || buf_size == 32);
|
ensure(buf_size == 1 || buf_size == 32);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'V':
|
||||||
|
{
|
||||||
|
// ?
|
||||||
|
ensure(buf_size == 4);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'W':
|
case 'W':
|
||||||
{
|
{
|
||||||
// Writes a block
|
// Writes a block
|
||||||
|
Loading…
x
Reference in New Issue
Block a user