LCD Registers: Difference between revisions

Kynex7510 (talk | contribs)
m Generalize naming
 
(3 intermediate revisions by the same user not shown)
Line 15: Line 15:
| 0x4
| 0x4
|-
|-
| ?
| Parallax barrier PWM
| 0x10202004
| 0x10202004
| 0x1ED02004
| 0x1ED02004
| 0xFFFD6004
| 0xFFFD6004
| 0x4
|-
| LCD status
| 0x10202008
| 0x1ED02008
| 0xFFFD6008
| 0x4
|-
| LCD clock disable
| 0x1020200C
| 0x1ED0200C
| 0xFFFD600C
| 0x4
|-
| ?
| 0x10202010
| 0x1ED02010
| 0xFFFD6010
| 0x4
|-
| LCD reset
| 0x10202014
| 0x1ED02014
| 0xFFFD6014
| 0x4
| 0x4
|-
|-
Line 50: Line 74:
| 0x00
| 0x00
| 0x4
| 0x4
| ?
| [[#Flags|Flags]]
|-
|-
| 0x04
| 0x04
Line 57: Line 81:
|-
|-
| 0x10
| 0x10
| 0x4
| 0x10
| ?
| [[#ABL Area|ABL Area]]
|-
| 0x14
| 0x4
| ?
|-
| 0x18
| 0x4
| ?
|-
| 0x1C
| 0x4
| ?
|-
|-
| 0x20
| 0x20
| 0x4
| 0x4
| ?
| GTH Ratio
|-
|-
| 0x24
| 0x24
| 0x4
| 0x4
| ?
| Min GTH
|-
|-
| 0x28
| 0x28
| 0x4
| 0x4
| ?
| MinMax
|-
|-
| 0x2C
| 0x2C
| 0x4
| 0x4
| ?
| ExMax
|-
|-
| 0x30
| 0x30
| 0x4
| 0x4
| ?
| Inertia
|-
|-
| 0x38
| 0x38
| 0x4
| 0x4
| ?
| MinRS
|-
|-
| 0x3C
| 0x3C
| 0x4
| 0x4
| ?
| MaxRS
|-
|-
| 0x40
| 0x40
| 0x4
| 0x4
| Backlight
| [[#Backlight Level|Backlight Level]]
|-
|-
| 0x44
| 0x44
| 0x4
| 0x4
| ?
| [[#Backlight Interval|Backlight Interval]]
|-
|-
| 0x60
| 0x60
| 0x4
| 0x20
| Dither
|-
| 0x80
| 0x24
| LutListRS
|-
| 0xF0
| 0x0C
| ?
| ?
|-
|-
| 0x68
| 0x100
| 0x4
| 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.
|-
| 0x200
| 0x400
| ?
| ?
|}
=== Flags ===
{| class="wikitable" border="1"
! Bit
! Description
|-
|-
| 0x70
| 0
| 0x4
| ABL on
| ?
|-
|-
| 0x78
| 8
| 0x4
| ?
| ?
|-
|-
| 0x80
| 9
| 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.
|}
|}
Bits 8 and 9 control dither.


=== Fill Color ===
=== Fill Color ===
Line 150: Line 175:
| 24
| 24
| Enable
| Enable
|}
When the enable bit is set, the specified solid color is displayed on the LCD instead of the framebuffer.
=== ABL Area ===
{| class="wikitable" border="1"
!  Offset
!  Description
|-
|-
| 31-25
| 0x00
| X begin
|-
| 0x04
| X end
|-
| 0x08
| Y begin
|-
| 0x0C
| Y end
|}
 
The values refer to 90° clockwise rotated screens.
 
=== Backlight Level ===
{| class="wikitable" border="1"
!  Bit
!  Description
|-
| 9-0
| Backlight PWM duty on (0 = off)
|}
 
=== Backlight Interval ===
{| class="wikitable" border="1"
!  Bit
!  Description
|-
| 9-0
| Backlight PWM Interval, minus 1
|-
| 16
| Enable LCD (0 = disabled, 1 = enabled).
|-
| 17
| RS on (?)
|-
| 18
| ?
| ?
|}
|}


When the enable bit is set, the specified solid color is displayed on the LCD instead of the framebuffer.
On old 2DS, disabling the top LCD does nothing, disabling the bottom LCD affects both screens.
Setting bit 18 makes the screen darker.