Difference between revisions of "HID Shared Memory"

From 3dbrew
Jump to navigation Jump to search
Line 14: Line 14:
 
|-
 
|-
 
| 0x34
 
| 0x34
| This stores circle-pad info.
+
| This stores circle-pad info: the low s16 is the X coordinate, the high s16 is the Y coordinate.
 
|-
 
|-
 
| 0x38
 
| 0x38

Revision as of 18:43, 16 August 2013

This page describes the format of the HID shared memory.

Offset 0x0

Relative offset Description
0x1C PAD state. Bit set = button pressed, bit clear = button not pressed.
0x28 Same as 0x1C?
0x34 This stores circle-pad info: the low s16 is the X coordinate, the high s16 is the Y coordinate.
0x38 Same as 0x1C?
0x44 Same as 0x34?
0x48 Same as 0x1C?
0x54 Same as 0x34?
0x58 Same as 0x1C?
0x64 Same as 0x34?
0x68 Same as 0x1C?
0x74 Same as 0x34?
0x78 Same as 0x1C?
0x84 Same as 0x34?
0x88 Same as 0x1C?
0x94 Same as 0x34?
0x98 Same as 0x1C?

Offset 0xC0

This 0x48-byte region stores entries for touch-screen position info. Each entry is 0x8-bytes, there's a total of 9 entries. Normally the last 8 entries contain the same data. When the touch-screen is not being touched, this region is all-zero.

The last 8 entries contain the pixel coordinates, while the first entry seems to contain the raw coordinate data prior to being converted to pixel coordinates.

Entry format

Relative offset Size Description
0x0 0x2 X coordinate.
0x2 0x2 Y coordinate.
0x4 0x4 This is 0x0 when this entry doesn't contain any actual data, value 0x1 indicates that this entry contains actual data.