MCUHWC:ReadRegister: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
MarcusD (talk | contribs)
MarcusD (talk | contribs)
Merge this to I2C_Registers
 
(6 intermediate revisions by the same user not shown)
Line 16: Line 16:


=Description=
=Description=
This function reads data from the MCU
This is just a wrapper for [[I2C_Services|I2C]] command 0x001200C2 with [[I2C_Registers|DeviceID]] 3


=Registers=
=Registers=
{| class="wikitable" border="1"
This table has been merged to the [[I2C_Registers#Device_3|I2C Registers]] page.
|-
!  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|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=??, ??
| ???
|}

Latest revision as of 02:24, 11 March 2017

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 is just a wrapper for I2C command 0x001200C2 with DeviceID 3

Registers

This table has been merged to the I2C Registers page.