Changes

200 bytes added ,  21:04, 29 July 2023
Line 9,822: Line 9,822:  
The following devices are used via hidbus:
 
The following devices are used via hidbus:
 
* [[Ring-Con]]
 
* [[Ring-Con]]
 +
** [[#BusType]] is 0 (LeftJoyRail) or 1 (RightJoyRail). [[#GetExternalDeviceId|DeviceId]] is 0x20 ("Ronde").
 
* Famicom right controller (with microphone)
 
* Famicom right controller (with microphone)
** [[#BusType]] is 2, ExternalDeviceId is 0x21. SendAndReceive is not used. EnableJoyPollingReceiveMode is used where the input buffer is an u32 with value 0, [[#JoyPollingMode]] = 2. GetJoyPollingReceivedData is used to get the output data.
+
** [[#BusType]] is 2 (InternalBus). [[#GetExternalDeviceId|DeviceId]] is 0x21 ("LarkMic").
* Used by Starlink: Battle For Atlas.
+
** SendAndReceive is not used. EnableJoyPollingReceiveMode is used where the input buffer is an u32 with value 0, [[#JoyPollingMode]] = 2. GetJoyPollingReceivedData is used to get the output data.
** [[#BusType]] is 1, ExternalDeviceId is 0x28. EnableJoyPollingReceiveMode is used where the input buffer is an u16 with value 0x09, [[#JoyPollingMode]] = 0. SendAndReceive is called from 1 func. GetJoyPollingReceivedData is used to determine whether to call the same func which calls SendAndReceive, which is only done if <code>out_size==0x4 && data[0]==0x09 && (data[1] & 1 == 1)</code>.
+
* "Starlink: Battle For Atlas" controller mount
 +
** [[#BusType]] is 1 (RightJoyRail). [[#GetExternalDeviceId|DeviceId]] is 0x28.
 +
** EnableJoyPollingReceiveMode is used where the input buffer is an u16 with value 0x09, [[#JoyPollingMode]] = 0. SendAndReceive is called from 1 func. GetJoyPollingReceivedData is used to determine whether to call the same func which calls SendAndReceive, which is only done if <code>out_size==0x4 && data[0]==0x09 && (data[1] & 1 == 1)</code>.
    
= RomFS =
 
= RomFS =