HID Shared Memory: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
! Description | ! Description | ||
|- | |- | ||
| | | 0x0 | ||
| | | 0x8 | ||
| [[ | | [[SVC|svcGetSystemTick]] tick-count output, for when HID module updates entry index0 in the below array. | ||
|- | |- | ||
| | | 0x8 | ||
| | | 0x8 | ||
| | | Before the above tick-count field is updated, that value is copied into this field. Therefore, this contains the tick-count for the previous time that entry index0 in the below array was updated by HID module. | ||
|- | |- | ||
| | | 0x10 | ||
| 0x4 | | 0x4 | ||
| | | Index in the following array which was last updated by HID module. | ||
|- | |- | ||
| | | 0x1C | ||
| 0x4 | | 0x4 | ||
| | | [[PAD]] state. Bit set = button pressed, bit clear = button not pressed. Bit28-31 do not apply to this entry, but they apply to further PAD state entries. Bit28-31 are set when the corresponding circle pad coordinate is >=41 (or <=-41). | ||
|- | |- | ||
| | | 0x28 | ||
| | | 0x80 | ||
| | | Array of 8 entries, where each entry(see below) is 0x10-bytes. | ||
|} | |||
HID module first updates index0, then index1, and so on. When updating the array when the index is already 7, the index is reset to 0. | |||
==Entry format== | |||
{| class="wikitable" border="1" | |||
|- | |- | ||
! Relative offset | |||
! Size | |||
! Description | |||
|- | |- | ||
| | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | PAD state. | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0x4 | | 0x4 | ||
| | | ? | ||
|- | |- | ||
| | | 0x8 | ||
| 0x4 | | 0x4 | ||
| | | ? | ||
|- | |- | ||
| | | 0xC | ||
| 0x4 | | 0x4 | ||
| | | This stores circle-pad info: the low s16 is the X coordinate, the high s16 is the Y coordinate. The circle-pad center is approximately 0 for these fields. The range for these fields is approximately: -0x9C(bottom/left) - 0x9C(top/right). | ||
|} | |} | ||
Line 98: | Line 76: | ||
| 0x10 | | 0x10 | ||
| 0x4 | | 0x4 | ||
| Index in the array | | Index in the following array which was last updated by HID module. | ||
|- | |- | ||
| 0x18 | | 0x18 |