In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Wiimote/Extension Controllers/uDraw GameTablet"

From WiiBrew
Jump to navigation Jump to search
(Added some details about the uDraw GameTablet including its data format.)
 
(→‎Data Format: Fixed detail of ninth bit for pressure after further testing.)
 
Line 33: Line 33:
 
|- 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" | '''PRESSURE'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''P'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</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
Line 51: Line 51:
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" | 1
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">N</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" | '''P'''<span style="color: #777;">&lt;<span style="color: #c00;">8</span>&gt;</span>
 
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">L</span>
 
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">L</span>
 
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">U</span>
 
| style="border: 1px solid #ccc; padding: 0.2em;" | '''B'''<span style="color: #c00;">U</span>
Line 58: Line 58:
 
The X and Y coordinates both read 0xFFF (4095) when the stylus is away from the tablet surface. The X coordinate ranges from around 80-1955 units (increasing from left to right) and the Y coordinate ranges from around 95-1450 (increasing from bottom to top) in testing though this likely varies from unit to unit.
 
The X and Y coordinates both read 0xFFF (4095) when the stylus is away from the tablet surface. The X coordinate ranges from around 80-1955 units (increasing from left to right) and the Y coordinate ranges from around 95-1450 (increasing from bottom to top) in testing though this likely varies from unit to unit.
  
Pressure varies from around 8 when the pen is off the tablet to 247 when fully pressed in. The pressure value is reported even when the pen is off the tablet surface.
+
P represents the stylus pressure and varies from around 8 when the pen is off the tablet to 505 when fully pressed in. It is a nine-bit value with the upper bit P<8> stored separately in byte 5 to the lower eight bits P<7:0> in byte 3 The pressure value is reported even when the pen is off the tablet surface.
 
 
BN is an active-high value that is 0 when the nib is released and 1 when the nib is pressed onto the surface of the tablet.
 
  
 
BL is the "lower" button and BU is the "upper" button, and both are active-low values that are 1 when their corresponding button is released and 0 when the button is pressed.
 
BL is the "lower" button and BU is the "upper" button, and both are active-low values that are 1 when their corresponding button is released and 0 when the button is pressed.

Latest revision as of 01:49, 30 December 2022

The uDraw GameTablet is a graphics tablet that can be identified by the six bytes FF 00 A4 20 01 12 at register address 0xA400FA after decryption.

The wired stylus has a pressure-sensitive nib and two buttons (named "lower" and "upper" in game manuals, "lower" is closest to the nib) under a single rocker piece.

Data Format

The uDraw GameTablet reports its information as 6 bytes of data, readable at 0xA40008 and streamable using Data Reporting Modes that include Extension bytes. The data is packed into the six bytes as follows (after decryption):

  Bit
Byte 7 6 5 4 3 2 1 0
0 X<7:0>
1 Y<7:0>
2 Y<11:8> X<11:8>
3 P<7:0>
4 1 1 1 1 1 1 1 1
5 1 1 1 1 1 P<8> BL BU

The X and Y coordinates both read 0xFFF (4095) when the stylus is away from the tablet surface. The X coordinate ranges from around 80-1955 units (increasing from left to right) and the Y coordinate ranges from around 95-1450 (increasing from bottom to top) in testing though this likely varies from unit to unit.

P represents the stylus pressure and varies from around 8 when the pen is off the tablet to 505 when fully pressed in. It is a nine-bit value with the upper bit P<8> stored separately in byte 5 to the lower eight bits P<7:0> in byte 3 The pressure value is reported even when the pen is off the tablet surface.

BL is the "lower" button and BU is the "upper" button, and both are active-low values that are 1 when their corresponding button is released and 0 when the button is pressed.