Difference between revisions of "MCUHWC:ReadRegister"
Jump to navigation
Jump to search
m (→Registers) |
|||
Line 42: | Line 42: | ||
| size=1, ?? | | 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 | | 0x27 | ||
Line 54: | Line 62: | ||
0x2D | 0x2D | ||
| size=n/a, ?? | | size=n/a, ?? | ||
− | | ??? | + | | ??? |
+ | |- | ||
+ | | 0x2C | ||
+ | | size=1, rw | ||
+ | | 3D LED state, always AND'd with 0x0F | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| size=6(?), rw | | size=6(?), rw | ||
− | | Hexadecimal RTC | + | | Hexadecimal RTC (0x30 is seconds, 0x31 is minutes, 0x32 is most likely hours) |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x3D | | 0x3D | ||
Line 83: | Line 91: | ||
| 0x4F | | 0x4F | ||
| size=6(?), ?? | | size=6(?), ?? | ||
− | | ??? (reading past | + | | ??? (reading past 6th byte is FF-filled) |
|- | |- | ||
| 0x60 | | 0x60 | ||
Line 91: | Line 99: | ||
|- | |- | ||
| 0x7F | | 0x7F | ||
− | | size=? | + | | size=35(?), ?? |
− | | ??? | + | | ??? (reading past the 35th byte is FF-filled) |
|} | |} |
Revision as of 03:07, 3 November 2016
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) |