Line 12: |
Line 12: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0x1C | + | | 0x0 |
− | | 0x4 | + | | 0x8 |
− | | [[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). | + | | [[SVC|svcGetSystemTick]] tick-count output, for when HID module updates entry index0 in the below array. |
| |- | | |- |
− | | 0x28 | + | | 0x8 |
− | | 0x4 | + | | 0x8 |
− | | Second PAD state entry. | + | | 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. |
| |- | | |- |
− | | 0x34 | + | | 0x10 |
| | 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 ~0 for these fields. The range for these fields is approximately: -0x9C(bottom/left) - 0x9C(top/right). | + | | Index in the following array which was last updated by HID module. |
| |- | | |- |
− | | 0x38 | + | | 0x1C |
| | 0x4 | | | 0x4 |
− | | Third PAD state entry. | + | | [[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). |
| |- | | |- |
− | | 0x44 | + | | 0x28 |
− | | 0x4 | + | | 0x80 |
− | | Second circle-pad info entry. | + | | 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" |
| |- | | |- |
− | | 0x48
| + | ! Relative offset |
− | | 0x4
| + | ! Size |
− | | Fourth PAD state entry.
| + | ! Description |
| |- | | |- |
− | | 0x54 | + | | 0x0 |
| | 0x4 | | | 0x4 |
− | | Third circle-pad info entry. | + | | PAD state. |
| |- | | |- |
− | | 0x58
| |
| | 0x4 | | | 0x4 |
− | | Fifth PAD state entry.
| |
− | |-
| |
− | | 0x64
| |
| | 0x4 | | | 0x4 |
− | | Fourth circle-pad info entry. | + | | ? |
| |- | | |- |
− | | 0x68 | + | | 0x8 |
− | | 0x4
| |
− | | Sixth PAD state entry.
| |
− | |-
| |
− | | 0x74
| |
− | | 0x4
| |
− | | Fifth circle-pad info entry.
| |
− | |-
| |
− | | 0x78
| |
− | | 0x4
| |
− | | Seventh PAD state entry.
| |
− | |-
| |
− | | 0x84
| |
− | | 0x4
| |
− | | Sixth circle-pad info entry.
| |
− | |-
| |
− | | 0x88
| |
− | | 0x4
| |
− | | Eighth PAD state entry.
| |
− | |-
| |
− | | 0x94
| |
− | | 0x4
| |
− | | Seventh circle-pad info entry.
| |
− | |-
| |
− | | 0x98
| |
| | 0x4 | | | 0x4 |
− | | Ninth PAD state entry. | + | | ? |
| |- | | |- |
− | | 0xA4 | + | | 0xC |
| | 0x4 | | | 0x4 |
− | | Eighth circle-pad info entry. | + | | 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 at +0x20 which was last updated by HID module. | + | | Index in the following array which was last updated by HID module. |
| |- | | |- |
| | 0x18 | | | 0x18 |