Changes

Jump to navigation Jump to search
2,729 bytes added ,  21:42, 25 June 2019
Line 43: Line 43:  
| 0x4C00
 
| 0x4C00
 
| 0x200
 
| 0x200
| Unknown
+
| Unknown, header which says it has 17 entries, but the max entry index is 0
 
|-
 
|-
 
| 0x4E00
 
| 0x4E00
 
| 0x200
 
| 0x200
| Unknown
+
| Unknown, header which says it has 17 entries, but the max entry index is 0
 
|-
 
|-
 
| 0x5000
 
| 0x5000
 
| 0x200
 
| 0x200
| Unknown
+
| Unknown, header which says it has 17 entries, but the max entry index is 0
 
|-
 
|-
 
| 0x5200
 
| 0x5200
| 0x800
+
| 0x80*0x10
| Unknown
+
| Unknown, 16 structures with a header and 2 entries each
 
|-
 
|-
 
| 0x5A00
 
| 0x5A00
Line 68: Line 68:  
| 0x4600
 
| 0x4600
 
| Unknown
 
| Unknown
 +
|-
 +
| 0x3C200
 +
| ?
 +
| [5.0.0+] SevenSixAxisSensor
 
|-
 
|-
 
|}
 
|}
Line 84: Line 88:  
|-
 
|-
 
| 0x28
 
| 0x28
| 0x290 * 17
+
| 0x298 * 17
 
| Touch Entries
 
| Touch Entries
 
|-
 
|-
Line 99: Line 103:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in ticks?
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 115: Line 119:  
| 0x20
 
| 0x20
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
|}
 
|}
Line 146: Line 150:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 163: Line 167:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
| 0x8
 
| 0x8
| 0x8
+
| 0x4
| Unknown
+
| Padding
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Touch Index
 
|-
 
|-
 
| 0x10
 
| 0x10
Line 191: Line 199:  
| 0x24
 
| 0x24
 
| 0x4
 
| 0x4
| Unknown
+
| Padding
 
|-
 
|-
 
|}
 
|}
Line 223: Line 231:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in ticks?
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 249: Line 257:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Timestamp Again?
+
| Timestamp in samples again?
 
|-
 
|-
 
| 0x10
 
| 0x10
Line 299: Line 307:  
|-
 
|-
 
| 0x20
 
| 0x20
| 0x30 * 17
+
| 0x38 * 17
 
| Keyboard Entries
 
| Keyboard Entries
 
|-
 
|-
Line 314: Line 322:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in ticks?
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 340: Line 348:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Timestamp Again?
+
| Timestamp in samples again?
 
|-
 
|-
 
| 0x10
 
| 0x10
Line 435: Line 443:  
| Controller Main State
 
| Controller Main State
 
|-
 
|-
| 0x41D0
+
| 0x1758
| 0x10
+
| 0x20 header + 0x68 * 17
| Controller MAC
+
| SixAxisSensor Pro Controller State
 +
|-
 +
| 0x1E60
 +
| 0x20 header + 0x68 * 17
 +
| SixAxisSensor Handheld State
 +
|-
 +
| 0x2568
 +
| 0x20 header + 0x68 * 17
 +
| SixAxisSensor Pair Left State
 +
|-
 +
| 0x2C70
 +
| 0x20 header + 0x68 * 17
 +
| SixAxisSensor Pair Right State
 +
|-
 +
| 0x3378
 +
| 0x20 header + 0x68 * 17
 +
| SixAxisSensor Single Left State
 +
|-
 +
| 0x3A80
 +
| 0x20 header + 0x68 * 17
 +
| SixAxisSensor Single Right State
 +
|-
 +
| 0x4188
 +
| 0x4
 +
| [[HID_services#DeviceType|DeviceType]]
 +
|-
 +
| 0x418C
 +
| 0x4
 +
| Padding
 +
|-
 +
| 0x4190
 +
| 0x8
 +
| Flags
 +
|-
 +
| 0x4198
 +
| 0x4
 +
| Flags2
 +
|-
 +
| 0x419C
 +
| 0x4
 +
| PowerInfo0 battery state
 +
|-
 +
| 0x41A0
 +
| 0x4
 +
| PowerInfo1 battery state
 +
|-
 +
| 0x41A4
 +
| 0x4
 +
| PowerInfo2 battery state
 +
|-
 +
| 0x41D0
 +
| 0x10
 +
| Controller MAC
 +
|-
 +
| 0x41F0
 +
| 0x10
 +
| Controller MAC
 +
|-
 +
|}
 +
 
 +
The battery state must be 0-4.
 +
 
 +
==== Flags ====
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Bit
 +
!  Description
 +
|-
 +
| 0
 +
| PowerInfo0 isCharging
 +
|-
 +
| 1
 +
| PowerInfo1 isCharging
 +
|-
 +
| 2
 +
| PowerInfo2 isCharging
 +
|-
 +
| 3
 +
| PowerInfo0 powerConnected
 +
|-
 +
| 4
 +
| PowerInfo1 powerConnected
 +
|-
 +
| 5
 +
| PowerInfo2 powerConnected
 +
|-
 +
| 6-8
 +
| Unused
 +
|-
 +
| 9
 +
| UnsupportedButtonPressed_NpadSystem
 +
|-
 +
| 10
 +
| UnsupportedButtonPressed_NpadSystemExt
 +
|-
 +
| 11
 +
| AbxyButtonOriented
 +
|-
 +
| 12
 +
| SlSrButtonOriented
 +
|-
 +
| 13
 +
| [4.0.0+] PlusButtonCapability
 +
|-
 +
| 14
 +
| [4.0.0+] MinusButtonCapability
 
|-
 
|-
| 0x41F0
+
| 15
| 0x10
+
| [8.0.0+] DirectionalButtonsSupported
| Controller MAC
   
|-
 
|-
 +
| 16-63
 +
| Unused
 
|}
 
|}
 +
 +
==== Flags2 ====
 +
Bit0: clear = UnintendedHomeButtonInputProtectionEnabled.
    
==== Controller Header ====
 
==== Controller Header ====
Line 505: Line 622:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in ticks?
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 531: Line 648:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp
+
| Timestamp in samples
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Timestamp Again
+
| Timestamp in samples again
 
|-
 
|-
 
| 0x10
 
| 0x10
Line 649: Line 766:  
|-
 
|-
 
|}
 
|}
 +
 +
===== SixAxisSensor State Header =====
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size in bytes
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x8
 +
| Timestamp in ticks?
 +
|-
 +
| 0x8
 +
| 0x8
 +
| Number of entries, always 17
 +
|-
 +
| 0x10
 +
| 0x8
 +
| Latest Entry Index
 +
|-
 +
| 0x18
 +
| 0x8
 +
| Maximum Entry Index, up to 16
 +
|-
 +
|}
 +
 +
===== SixAxisSensor State Entry =====
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size in bytes
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x8
 +
| Timestamp in samples
 +
|-
 +
| 0x8
 +
| 0x8
 +
| Unknown
 +
|-
 +
| 0x10
 +
| 0x8
 +
| Timestamp in samples again
 +
|-
 +
| 0x1C
 +
| 0x4 * 3
 +
| Accelerometer data as 3 floats
 +
|-
 +
| 0x24
 +
| 0x4 * 3
 +
| Gyroscope data as 3 floats
 +
|-
 +
| 0x30
 +
| 0x4 * 3
 +
| Unknown sensor data as 3 floats
 +
|-
 +
| 0x3C
 +
| 0x4 * 9
 +
| Orientation basis as 3x3 matrix of floats
 +
|-
 +
| 0x60
 +
| 0x8
 +
| Unknown, always 1
 +
|}
 +
 +
Official sw copies the data from offset 0x8 size 0x60 to the final output state.

Navigation menu