Changes

162 bytes added ,  03:43, 20 August 2014
no edit summary
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