Changes

Line 63: Line 63:     
=== Data Format 0x02 ===
 
=== Data Format 0x02 ===
βˆ’
The main difference from the data format 0x01 is that the Analog Sticks and Triggers have much higher precision: 8 bits (0-255). The Classic Controller reports its information as 9 bytes of data, readable at 0x(4)A40008 ('''after decryption'''):
+
The main difference from the data format 0x01 is that the Analog Sticks and Triggers have much higher precision: 10 bits (0-1023) and 8 bits (0-255). The Classic Controller reports its information as 9 bytes of data, readable at 0x(4)A40008 ('''after decryption'''):
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
Line 80: Line 80:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
βˆ’
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''LX'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''LX'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
βˆ’
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''RX'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''RX'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
βˆ’
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''LY'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''LY'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
βˆ’
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''RY'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''RY'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
βˆ’
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Unknown'''<span style="color: #777;"></span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''RY'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''LY'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''RX'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''LX'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 5
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 5
Line 120: Line 123:  
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">DU</span>
 
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">DU</span>
 
|}
 
|}
βˆ’
LX,LY are the left Analog Stick X and Y (0-255), RX and RY are the right Analog Stick X and Y (0-255), and LT and RT are the Left and Right Triggers (0-255).
+
LX,LY are the left Analog Stick X and Y (0-1023), RX and RY are the right Analog Stick X and Y (0-1023), and LT and RT are the Left and Right Triggers (0-255).
    
BD{L,R,U,D} are the D-Pad direction buttons. B{ZR,ZL,A,B,X,Y,+,H,-} are the discrete buttons. B{LT,RT} are the digital button click of LT and RT. All buttons are 0 when pressed.
 
BD{L,R,U,D} are the D-Pad direction buttons. B{ZR,ZL,A,B,X,Y,+,H,-} are the discrete buttons. B{LT,RT} are the digital button click of LT and RT. All buttons are 0 when pressed.
108

edits