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) |