Changes

1,628 bytes removed ,  01:20, 26 October 2014
m
Blanked the page
Line 1: Line 1: −
This page describes the format of the [[IR Services|ir:rst]]'s shared memory. It contains the current state of New 3DS input device, ie the c-stick and the ZL/ZR shoulder buttons.
     −
Size: 0x88 ?
  −
  −
=Offset 0x0=
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Relative offset
  −
!  Size
  −
!  Description
  −
|-
  −
| 0x0
  −
| 0x4
  −
| A counter that ranges from 0 to 7, presumably to indicate which entry was last updated
  −
|-
  −
| 0x4
  −
| 0x4
  −
| Unused ? (value 0x0)
  −
|-
  −
| 0x8
  −
| 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.
  −
  −
==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).
  −
  −
==Entry format==
  −
{| class="wikitable" border="1"
  −
|-
  −
!  Relative offset
  −
!  Size
  −
!  Description
  −
|-
  −
| 0x0
  −
| 0x4
  −
| Current 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
  −
| 0x4
  −
| This stores c-stick info: the low s16 is the X coordinate, the high s16 is the Y coordinate. The c-stick center is exactly 0 for these fields. The range for these fields is approximately: -0x9C(bottom/left) - 0x9C(top/right).
  −
|}
 
373

edits