IRRST Shared Memory: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
|  Created page with "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..." | |||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| This is the shared-memory for [[IR_Services|"ir:rst"]]. The additional [[New 3DS]] HID data is stored here. The structure of this is similar to the [[HID_Shared_Memory]] sections. | This is the shared-memory for [[IR_Services|"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= | =Offset 0x0= | ||
| Line 20: | Line 22: | ||
| | Index in the following array which was last updated by IR module. | | Index in the following array which was last updated by IR module. | ||
| |- | |- | ||
| |  | | 0x18 | ||
| | 0x80 | | 0x80 | ||
| | Array of 8 entries, where each entry(see below) is 0x10-bytes. | | Array of 8 entries, where each entry (see below) is 0x10-bytes. | ||
| |} | |} | ||
| Line 35: | Line 37: | ||
| |- | |- | ||
| | 0x0 | | 0x0 | ||
| |  | | 0x4 | ||
| |  | | PAD state | ||
| |- | |- | ||
| | 0x4 | | 0x4 | ||
| | 0x4 | | 0x4 | ||
| | PAD state | | PAD state for buttons which were pressed(bitmasks which changed from value 0 to value 1) since the last HID update. | ||
| |- | |- | ||
| | 0x8 | | 0x8 | ||
| | 0x4 | | 0x4 | ||
| |  | | PAD state for buttons which were released(bitmasks which changed from value 1 to value 0) since the last HID update. | ||
| |- | |- | ||
| | 0xC | | 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== | |||
| {| class="wikitable" border="1" | |||
| |- | |||
| !  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). | |||
Latest revision as of 19:34, 26 October 2014
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).