Changes

821 bytes added ,  00:03, 7 June 2019
Line 677: Line 677:     
This TransferMemory is used as input/output by the other Hdls commands.
 
This TransferMemory is used as input/output by the other Hdls commands.
 +
 +
Hdls is for virtual HID controllers.
    
== ReleaseHdlsWorkBuffer ==
 
== ReleaseHdlsWorkBuffer ==
Line 684: Line 686:  
No input/output.
 
No input/output.
   −
After using this cmd, the output 0x208-byte '''HdlsNpadAssignment''' struct is located at tmem+0.
+
After using this cmd, the output [[#HdlsNpadAssignment]] is located at tmem+0.
    
== DumpHdlsStates ==
 
== DumpHdlsStates ==
 
No input/output.
 
No input/output.
   −
After using this cmd, the output 0x408-byte '''HdlsStateList''' struct is located at tmem+0.
+
After using this cmd, the output [[#HdlsStateList]] struct is located at tmem+0.
    
== ApplyHdlsNpadAssignmentState ==
 
== ApplyHdlsNpadAssignmentState ==
 
Takes an input u8 bool, no output.
 
Takes an input u8 bool, no output.
   −
Prior to using this cmd, the input 0x208-byte '''HdlsNpadAssignment''' struct is written to tmem+0 by the user-process.
+
Prior to using this cmd, the input [[#HdlsNpadAssignment]] is written to tmem+0 by the user-process.
    
== ApplyHdlsStateList ==
 
== ApplyHdlsStateList ==
 
No input/output.
 
No input/output.
   −
Prior to using this cmd, the input 0x408-byte '''HdlsStateList''' struct is written to tmem+0 by the user-process.
+
Prior to using this cmd, the input [[#HdlsStateList]] is written to tmem+0 by the user-process.
    
== AttachHdlsVirtualDevice ==
 
== AttachHdlsVirtualDevice ==
Takes an 0x10-byte '''HdlsDeviceInfo''' struct, returns a 8-byte '''HdlsHandle'''.
+
Takes an [[#HdlsDeviceInfo]], returns a 8-byte '''HdlsHandle'''.
    
== DetachHdlsVirtualDevice ==
 
== DetachHdlsVirtualDevice ==
Line 708: Line 710:     
== SetHdlsState ==
 
== SetHdlsState ==
Takes an input 0x24-byte '''HdlsState''' struct and an input 8-byte '''HdlsHandle''', no output.
+
Takes an input [[#HdlsState]] and an input 8-byte '''HdlsHandle''', no output.
 +
 
 +
== HdlsNpadAssignment ==
 +
This is a 0x208-byte struct. This seems to be an array, structure unknown.
 +
 
 +
== HdlsStateList ==
 +
This is a 0x408-byte struct. This seems to be an array, structure unknown.
 +
 
 +
== HdlsDeviceInfo ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || [[#NpadStyleTag]], only one bit can be set.
 +
|-
 +
| 0x4 || 0x4 || RGBA Single Body Color
 +
|-
 +
| 0x8 || 0x4 || RGBA Single Buttons Color
 +
|-
 +
| 0xC || 0x1 || Unknown
 +
|-
 +
| 0xD || 0x3 || Padding
 +
|}
 +
 
 +
This is a 0x10-byte struct.
 +
 
 +
== HdlsState ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x8 || Unknown
 +
|-
 +
| 0x8 || 0x4 || Unknown. Written to [[HID_Shared_Memory#Controllers]] +0x419C.
 +
|-
 +
| 0xC || 0x4 || Buttons
 +
|-
 +
| 0x10 || 0x10(4*2*2) || Joystick data, see [[HID_Shared_Memory#Controller_State]].
 +
|-
 +
| 0x20 || 0x4 || Unused
 +
|}
 +
 
 +
This is a 0x24-byte struct.
    
= hid:sys =
 
= hid:sys =