IRRST Shared Memory
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This is the shared-memory for "ir:rst". The additional New 3DS HID data is stored here. The structure of this is similar to the HID_Shared_Memory sections.
The total size of this shared-mem is 0x98-bytes.
Offset 0x0
Relative offset | Size | Description |
---|---|---|
0x0 | 0x8 | svcGetSystemTick tick-count output, for when IR 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 IR module. |
0x10 | 0x4 | Index in the following array which was last updated by IR module. |
0x18 | 0x80 | Array of 8 entries, where each entry (see below) is 0x10-bytes. |
IR 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
Relative offset | Size | Description |
---|---|---|
0x0 | 0x4 | PAD state |
0x4 | 0x4 | PAD state for buttons which were pressed(bitmasks which changed from value 0 to value 1) since the last HID update. |
0x8 | 0x4 | PAD state for buttons which were released(bitmasks which changed from value 1 to value 0) since the last HID update. |
0xC | 0x2 | C-stick X value (center is exactly 0, ranges from -0x9C to 0x9C) |
0xE | 0x2 | C-stick Y value (center is exactly 0, ranges from -0x9C to 0x9C) |
PAD State
Bit | Description |
---|---|
14 | ZL |
15 | ZR |
24 | C-stick right |
25 | C-stick left |
26 | C-stick up |
27 | C-stick down |
The ir:rst PAD entries are the same format as HID ones and meant to be ORd with them (they are complementary, there is no overlap in used bits).