LCD Registers

LCD Registers

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

Registers #

NAMEPHYSICAL ADDRESSPROCESS VIRTUAL ADDRESSKERNEL VIRTUAL ADDRESSWIDTH
Parallax barrier enable0x102020000x1ED020000xFFFD60000x4
Parallax barrier PWM0x102020040x1ED020040xFFFD60040x4
LCD status0x102020080x1ED020080xFFFD60080x4
LCD clock disable0x1020200C0x1ED0200C0xFFFD600C0x4
?0x102020100x1ED020100xFFFD60100x4
LCD reset0x102020140x1ED020140xFFFD60140x4
Top Screen LCD Configuration0x102022000x1ED022000xFFFD62000x600
Bottom Screen LCD Configuration0x10202A000x1ED02A000xFFFD6A000x600
?0x102032000x1ED032000xFFFD72000x40

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

LCD Configuration #

OffsetSizeDescription
0x000x4Flags
0x040x4Fill Color
0x100x10ABL Area
0x200x4GTH Ratio
0x240x4Min GTH
0x280x4MinMax
0x2C0x4ExMax
0x300x4Inertia
0x380x4MinRS
0x3C0x4MaxRS
0x400x4Backlight Level
0x440x4Backlight Interval
0x600x20Dither
0x800x24LutListRS
0xF00x0C?
0x1000x100LCD calibration data, pulled from nand:/ro/sys/HWCAL0.dat offset 0x77C. N3DS only. This area on old3DS is zero-filled and not writable.
0x2000x400?

Flags #

BitDescription
0ABL on
8?
9?

Bits 8 and 9 control dither.

Fill Color #

BitDescription
7-0Red component intensity
15-8Green component intensity
23-16Blue component intensity
24Enable

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

ABL Area #

OffsetDescription
0x00X begin
0x04X end
0x08Y begin
0x0CY end

The values refer to 90° clockwise rotated screens.

Backlight Level #

BitDescription
9-0Backlight PWM duty on (0 = off)

Backlight Interval #

BitDescription
9-0Backlight PWM Interval, minus 1
16Enable LCD (0 = disabled, 1 = enabled).
17RS on (?)
18?

On old 2DS, disabling the top LCD does nothing, disabling the bottom LCD affects both screens. Setting bit 18 makes the screen darker.