Changes

Jump to navigation Jump to search
1,849 bytes added ,  19:09, 18 May 2022
no edit summary
Line 866: Line 866:  
== PairPalma ==
 
== PairPalma ==
 
Takes an input [[#PalmaConnectionHandle]], no output.
 
Takes an input [[#PalmaConnectionHandle]], no output.
 +
 +
This eventually uses [[BTM_services#BlePairDevice|BlePairDevice]] if needed, and updates state.
    
== SetPalmaBoostMode ==
 
== SetPalmaBoostMode ==
Line 908: Line 910:     
== IAppletResource ==
 
== IAppletResource ==
 +
This is "nn::hid::IAppletResource".
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,507: Line 1,511:  
|-
 
|-
 
| 326 || [10.0.0+] GetUniquePadAppletDetailedUiType
 
| 326 || [10.0.0+] GetUniquePadAppletDetailedUiType
 +
|-
 +
| 327 || [14.0.0+] GetAbstractedPadIdDataFromNpad
 +
|-
 +
| 328 || [14.0.0+] AttachAbstractedPadToNpad
 +
|-
 +
| 329 || [14.0.0+] DetachAbstractedPadAll
 +
|-
 +
| 330 || [14.0.0+] CheckAbstractedPadConnection
 
|-
 
|-
 
| 500 || SetAppletResourceUserId
 
| 500 || SetAppletResourceUserId
Line 1,519: Line 1,531:  
|-
 
|-
 
| 505 || EnableAppletToGetSixAxisSensor
 
| 505 || EnableAppletToGetSixAxisSensor
 +
|-
 +
| 506 || [14.0.0+] EnableAppletToGetPadInput
 +
|-
 +
| 507 || [14.0.0+] EnableAppletToGetTouchScreen
 
|-
 
|-
 
| 510 || [[#SetVibrationMasterVolume]]
 
| 510 || [[#SetVibrationMasterVolume]]
Line 4,454: Line 4,470:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x43F0 ([1.0.0-8.1.0] 0x4410)
+
| 0x43F8 ([9.0.0-12.1.0] 0x43F0, [1.0.0-8.1.0] 0x4410)
 
| [[#NpadInternalState]]
 
| [[#NpadInternalState]]
 
|}
 
|}
Line 4,602: Line 4,618:  
| 0x4
 
| 0x4
 
| [[#NpadLagerType|LagerType]]
 
| [[#NpadLagerType|LagerType]]
 +
|-
 +
| 0x43F0
 +
| 0x1 * 6
 +
| [13.0.0+] Array of [[#SixAxisSensorProperties]]
 
|}
 
|}
   Line 7,277: Line 7,297:  
|-
 
|-
 
| 3 || U
 
| 3 || U
 +
|}
 +
 +
= SixAxisSensorProperties =
 +
This is "nn::hid::server::SixAxisSensorProperties".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Bit
 +
! Description
 +
|-
 +
| 0
 +
| IsSixAxisSensorDeviceNewlyAssigned
 +
|-
 +
| 1
 +
| IsFirmwareUpdateAvailableForSixAxisSensor
 
|}
 
|}
   Line 7,443: Line 7,478:  
!  Description
 
!  Description
 
|-
 
|-
| 1 || JoyRight, HandheldRight || RightController || JoyDual, JoyRightHorizontal, JoyRightVertical, JoyDualRightOnly, HandheldJoyConRightOnly, HandheldJoyConLeftJoyConRight, HandheldLarkHvc1JoyConRight, HandheldLarkNesLeftJoyConRight, HandheldNone || Joy-Con right controller
+
| 1 || JoyRight, HandheldRight || RightController || JoyDual, JoyRightHorizontal, JoyRightVertical, JoyDualRightOnly, HandheldJoyConRightOnly, HandheldJoyConLeftJoyConRight, HandheldLarkHvc1JoyConRight, HandheldLarkNesLeftJoyConRight, HandheldNone || Joy-Con right controller (USB PID 0x2007)
 
|-
 
|-
| 2 || JoyLeft, HandheldLeft || LeftController || JoyDual, JoyLeftHorizontal, JoyLeftVertical, JoyDualLeftOnly, HandheldJoyConLeftOnly, HandheldJoyConLeftJoyConRight, HandheldJoyConLeftLarkHvc2, HandheldJoyConLeftLarkNesRight, HandheldNone || Joy-Con left controller
+
| 2 || JoyLeft, HandheldLeft || LeftController || JoyDual, JoyLeftHorizontal, JoyLeftVertical, JoyDualLeftOnly, HandheldJoyConLeftOnly, HandheldJoyConLeftJoyConRight, HandheldJoyConLeftLarkHvc2, HandheldJoyConLeftLarkNesRight, HandheldNone || Joy-Con left controller (USB PID 0x2006)
 
|-
 
|-
| 3 || FullKey || FullKeyController || SwitchProController || Pro Controller
+
| 3 || FullKey || FullKeyController || SwitchProController || Pro Controller (USB PID 0x2009)
 
|-
 
|-
 
| 4 || JoyLeft || LeftController || || Reserved
 
| 4 || JoyLeft || LeftController || || Reserved
Line 7,463: Line 7,498:  
| 10 || LarkNesRight, HandheldLarkNesRight || RightController || LarkNesRight, HandheldLarkNesRightOnly, HandheldJoyConLeftLarkNesRight, HandheldLarkHvc1LarkNesRight, HandheldLarkNesLeftLarkNesRight, HandheldNone || NES right controller
 
| 10 || LarkNesRight, HandheldLarkNesRight || RightController || LarkNesRight, HandheldLarkNesRightOnly, HandheldJoyConLeftLarkNesRight, HandheldLarkHvc1LarkNesRight, HandheldLarkNesLeftLarkNesRight, HandheldNone || NES right controller
 
|-
 
|-
| 11 || Lucia || FullKeyController || LuciaU, LuciaJ, LuciaE || SNES controller
+
| 11 || Lucia || FullKeyController || LuciaU, LuciaJ, LuciaE || SNES controller (USB PID 0x2017)
 
|-
 
|-
 
| 12 || Palma || Embedded || Unknown || Poké Ball Plus controller
 
| 12 || Palma || Embedded || Unknown || Poké Ball Plus controller
Line 7,485: Line 7,520:  
| 21 || System || Embedded || CompatibleJoyCon, HandheldNone || Third party Joy-Con left controller
 
| 21 || System || Embedded || CompatibleJoyCon, HandheldNone || Third party Joy-Con left controller
 
|-
 
|-
| 22 || Lagon || FullKeyController || Lagon || N64 controller
+
| 22 || Lagon || FullKeyController || Lagon || N64 controller (USB PID 0x2019)
 +
|-
 +
| 23 || ? || ? || ? || Joy-Con Charging Grip (USB PID 0x200E)
 +
|-
 +
| 24 || ? || ? || ? || Nintendo, USB PID 0x200F
 +
|-
 +
| 25 || ? || ? || ? || Nintendo, USB PID 0x2008
 +
|-
 +
| 26 || ? || ? || ? || Nintendo, USB PID 0x2018
 +
|-
 +
| 27 || ? || ? || ? || Nintendo, USB PID 0x201A
 +
|-
 +
| 28 || Lager || FullKeyController || || Sega Genesis controller (USB PID 0x201E)
 
|-
 
|-
| 28 || Lager || FullKeyController || || Sega Genesis controller
+
| 29 || ? || ? || ? || Nintendo, USB PID 0x201F
 
|}
 
|}
   Line 7,728: Line 7,775:  
| 14 || SuspendFeature
 
| 14 || SuspendFeature
 
|-
 
|-
| [[5.1.0]]+ 15 || ReadPlayLog
+
| 15 || [5.1.0+] ReadPlayLog
 
|-
 
|-
| [[5.1.0]]+ 16 || ResetPlayLog
+
| 16 || [5.1.0+] ResetPlayLog
 
|}
 
|}
   Line 9,267: Line 9,314:  
* [[Ring-Con]]
 
* [[Ring-Con]]
 
* 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.
 +
* Used by Starlink: Battle For Atlas.
 +
** [[#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>.
    
= RomFS =
 
= RomFS =

Navigation menu