Line 20:
Line 20:
! Input cmd u32 || Input cmd size || Reply size
! Input cmd u32 || Input cmd size || Reply size
|-
|-
β
| 0x020000 || 0x4 || 0x8
+
| 0x00020000 || 0x4 || 0x8
|-
|-
β
| 0x020101 || 0x4 || 0x8
+
| 0x00020100 || 0x4 || 0x10
+
|-
+
| 0x00020101 || 0x4 || 0x8
+
|-
+
| 0x00020504 || 0x4 || 0x8
+
|-
+
| 0x00023104 || 0x4 || 0x8
+
|-
+
| 0x00023204 || 0x4 || 0x8
+
|-
+
| 0x04013104 || 0x8 || 0x8
|}
|}
β
== 0x20000 ==
+
== 0x00020000 ==
The two u8s at reply+0x4 are copied to an output struct.
The two u8s at reply+0x4 are copied to an output struct.
β
== 0x020101 ==
+
== 0x00020100 ==
+
Reply:
+
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x4 || 0x8 || u64 copied to an output struct.
+
|-
+
| 0xC || 0x4 || u32 copied to an output struct.
+
|}
+
+
== 0x00020101 ==
This is used with EnableJoyPollingReceiveMode/GetJoyPollingReceivedData. Reply+0x4 is an u16 which is copied to an output struct, the [[HID_services#JoyPollingReceivedData|timestamp]] is also copied.
This is used with EnableJoyPollingReceiveMode/GetJoyPollingReceivedData. Reply+0x4 is an u16 which is copied to an output struct, the [[HID_services#JoyPollingReceivedData|timestamp]] is also copied.
+
+
== 0x00020504 ==
+
Reply+0x4 is a s16 which is used with the output from calling a func (which uses various other cmds) to generate a value which is written to the output param.
+
+
== 0x00023104 ==
+
Reply:
+
+
{| class="wikitable" border="1"
+
|-
+
! Offset || Size || Description
+
|-
+
| 0x4 || 0x3 || Data, copied to an output struct as an u32.
+
|-
+
| 0x7 || 0x1 || [[#CRC]] over the previous 0x3-bytes.
+
|}
+
+
== 0x00023204 ==
+
The func implementing this in the app is identical to [[#0x00023104]] except for the cmd u32.
+
+
== 0x04013104 ==
+
The data at cmd+0x4 is all-zero. The app doesn't use reply data here besides the status.