Difference between revisions of "LCD Registers"

From 3dbrew
Jump to navigation Jump to search
(Created page with "== Registers == {| class="wikitable" border="1" ! NAME ! PHYSICAL ADDRESS ! PROCESS VIRTUAL ADDRESS ! KERNEL VIRTUAL ADDRESS ! WIDTH |- | REG_LCDCOLORFILLMAIN | 0x10202204 |...")
 
 
(32 intermediate revisions by 12 users not shown)
Line 1: Line 1:
== Registers ==
+
Other registers that used to be documented on this page are now at [[GPU Registers]].
 +
 
 +
= Registers =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  NAME
 
!  NAME
Line 7: Line 9:
 
!  WIDTH
 
!  WIDTH
 
|-
 
|-
| REG_LCDCOLORFILLMAIN
+
| Parallax barrier enable
| 0x10202204
+
| 0x10202000
| 0x1ED02204
+
| 0x1ED02000
| 0xFFFD6204
+
| 0xFFFD6000
| 4
+
| 0x4
 +
|-
 +
| ?
 +
| 0x10202004
 +
| 0x1ED02004
 +
| 0xFFFD6004
 +
| 0x4
 +
|-
 +
| Top Screen [[#LCD Configuration|LCD Configuration]]
 +
| 0x10202200
 +
| 0x1ED02200
 +
| 0xFFFD6200
 +
| 0x600
 
|-
 
|-
| REG_LCDCOLORFILLSUB
+
| Bottom Screen [[#LCD Configuration|LCD Configuration]]
| 0x10202A04
+
| 0x10202A00
| 0x1ED02A04
+
| 0x1ED02A00
| 0xFFFD6A04
+
| 0xFFFD6A00
| 4
+
| 0x600
 +
|-
 +
| ?
 +
| 0x10203200
 +
| 0x1ED03200
 +
| 0xFFFD7200
 +
| 0x40
 
|}
 
|}
  
REG_*MAIN registers are used for the top LCD, while SUB is used for the bottom LCD.
+
On screen-init (error screen), Boot11 sets 0x10202004 to 0xA390A39.
 +
 
 +
== LCD Configuration ==
 +
{| class="wikitable" border="1"
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x00
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x04
 +
| 0x4
 +
| [[#Fill Color|Fill Color]]
 +
|-
 +
| 0x10
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x14
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x18
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x1C
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x20
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x24
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x28
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x2C
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x30
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x38
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x3C
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x40
 +
| 0x4
 +
| Backlight
 +
|-
 +
| 0x44
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x60
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x68
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x70
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x78
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x80
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x100
 +
| 0x100
 +
| LCD calibration data, pulled from nand:/ro/sys/HWCAL0.dat offset 0x77C.
 +
N3DS only. This area on old3DS is zero-filled and not writable.
 +
|}
  
== REG_LCDCOLORFILL ==
+
=== Fill Color ===
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Bit
 
!  Bit
Line 39: Line 151:
 
| Enable
 
| Enable
 
|-
 
|-
| 31-23
+
| 31-25
 
| ?
 
| ?
 
|}
 
|}
When the enable bit is set, the specified solid color is displayed on the LCD instead of the rendered graphics.
+
 
 +
When the enable bit is set, the specified solid color is displayed on the LCD instead of the framebuffer.

Latest revision as of 01:54, 22 May 2017

Other registers that used to be documented on this page are now at GPU Registers.

Registers[edit]

NAME PHYSICAL ADDRESS PROCESS VIRTUAL ADDRESS KERNEL VIRTUAL ADDRESS WIDTH
Parallax barrier enable 0x10202000 0x1ED02000 0xFFFD6000 0x4
? 0x10202004 0x1ED02004 0xFFFD6004 0x4
Top Screen LCD Configuration 0x10202200 0x1ED02200 0xFFFD6200 0x600
Bottom Screen LCD Configuration 0x10202A00 0x1ED02A00 0xFFFD6A00 0x600
? 0x10203200 0x1ED03200 0xFFFD7200 0x40

On screen-init (error screen), Boot11 sets 0x10202004 to 0xA390A39.

LCD Configuration[edit]

Offset Size Description
0x00 0x4 ?
0x04 0x4 Fill Color
0x10 0x4 ?
0x14 0x4 ?
0x18 0x4 ?
0x1C 0x4 ?
0x20 0x4 ?
0x24 0x4 ?
0x28 0x4 ?
0x2C 0x4 ?
0x30 0x4 ?
0x38 0x4 ?
0x3C 0x4 ?
0x40 0x4 Backlight
0x44 0x4 ?
0x60 0x4 ?
0x68 0x4 ?
0x70 0x4 ?
0x78 0x4 ?
0x80 0x4 ?
0x100 0x100 LCD calibration data, pulled from nand:/ro/sys/HWCAL0.dat offset 0x77C.

N3DS only. This area on old3DS is zero-filled and not writable.

Fill Color[edit]

Bit Description
7-0 Red component intensity
15-8 Green component intensity
23-16 Blue component intensity
24 Enable
31-25 ?

When the enable bit is set, the specified solid color is displayed on the LCD instead of the framebuffer.