MCUHWC:ReadRegister

From 3dbrew
Revision as of 01:46, 3 November 2016 by MarcusD (talk | contribs) (→‎Registers)
Jump to navigation Jump to search

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, ?? ???
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, ?? ??? (all zeroes)
0x30 size=6(?), ro Hexadecimal RTC
0x31 size=?, rw This value is always ORed with 0x80, and writing 0x7F (or 0xFF) into this value makes the 3DS crash when pressing the home button. Occasionally changes.
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 6 is FF-filled)
0x60

(bugs out reg. 0x61)

size=0x100(?), ?? ???, looping queue
0x7F size=??, ?? ???