MCUHWC:ReadRegister
Request
| Index Word | Description |
|---|---|
| 0 | Header code [0x00010082] |
| 1 | u8 register |
| 2 | size |
| 3 | Descriptor for mapping a write-only buffer in the target process |
| 4 | data pointer |
Response
| Index Word | Description |
|---|---|
| 0 | Header code |
| 1 | Result code |
Description
This function reads data from the MCU
Registers
| ID | Info | Description |
|---|---|---|
| 0x04
0x05 |
size=1, rw | Top/bottom screen flicker |
| 0x08 | size=1, ro | Raw 3D slider state |
| 0x09 | size=1, ro | Volume slider state (0x00 - 0x3F)
This is the same value returned by MCUHWC:GetSoundVolume |
| 0x0F | size=1, ?? | ??? |
| 0x20 | size=1, wo(?) | MCU power register (0xFF is instant depower, 0x01 is poweroff, 0x02 is reboot) |
| 0x22 | size=1, rw | LCD (power?) related register, AND'd with 0x3C |
| 0x27 | size=1, ro | Raw volume slider state |
| 0x28 | size=1, ro | 3D slider state(?) (0xFF if 3D is not enabled(?)) |
| 0x29
0x2D |
size=n/a, ?? | ??? |
| 0x2C | size=1, rw | 3D LED state, always AND'd with 0x0F |
| 0x30 | size=6(?), rw | Hexadecimal RTC (0x30 is seconds, 0x31 is minutes, 0x32 is most likely hours) |
| 0x3D
(bugs out reg. 0x3E) |
size=2, ro | Value rapidly changes, looks like RTC tick counter (resets to 0 when the seconds increase) |
| 0x46 | size=1, ro | Gyro Y(?) axis rotation (0x00 = flat, 0x40 = 3DS standing on right side, 0xBE = 3DS standing on left side) |
| 0x48 | size=1, ro | Gyro Z(?) axis rotation (0x00 = flat, 0x40 = 3DS standing vertically, 0xBE = 3DS base is vertically upside-down) |
| 0x4A | size=1, ro | Gyro X(?) axis rotation (0x00 = 3DS standing vertically, 0x40 = face-down flat, 0xBE = flat) |
| 0x4F | size=6(?), ?? | ??? (reading past 6th byte is FF-filled) |
| 0x60
(bugs out reg. 0x61) |
size=0x100(?), ?? | ???, looping queue |
| 0x7F | size=35(?), ?? | ??? (reading past the 35th byte is FF-filled) |