Line 834:
Line 834:
| Controller ID
| Controller ID
|
|
−
| Upper 4bits is manufacturer. Lower 4bits is unknown, most likely revision, possibly encoded as a Johnson counter.
+
| Upper 4bits is manufacturer. Lower 4bits is unknown, most likely revision, possibly encoded as a Johnson counter. The fields are encoded this way, most likely for the register checksum feature.
+
+
Manufacturers:
+
- 0x0 - SHARP (LTPS(?) TN), old I2CLCD, found in old3DS (non-XL) only
+
- 0x1 - JDI (LTPS IPS), found in select new3DS and new3DSXL consoles
+
- 0xC - SHARP (LTPS(?) TN), new I2CLCD
+
- 0xE - SHARP (TFT), found in 2DS only
Known IDs:
Known IDs:
Line 840:
Line 846:
- 0xC3 - older old3DSXL
- 0xC3 - older old3DSXL
- 0xE1 - 2DS
- 0xE1 - 2DS
+
- LQ050B1LW10B
+
- LQ = normal TFT
+
- 050 = panel 5 inches diagonal
+
- B = "other" display format
+
- 1 = transmissive (backlight-compatible)
+
- L = LVDS
+
- W = *unknown coating type*
+
- 10 = model number
+
- B = *unknown suffix*
- 0x10 - some select new3DS and new3DSXL with IPS screens
- 0x10 - some select new3DS and new3DSXL with IPS screens
- 0x01 - old3DS
- 0x01 - old3DS
−
- 0x00 - unknown, gsp compares for this exact Controller ID for an alternate initialization path
+
- LS035T7LE38P (top screen)
−
+
- LS = TFT (LTPS or SI-TFT ?)
−
Manufacturers:
+
- 035 = panel 3.5 inches diagonal
−
- 0xC - SHARP (TN)
+
- T = "other 16:9" (even though the panel is 16:10 in physical size, or 32:10 in terms of pixel count)
−
- 0x1 - JDI (LTPS IPS), found in select new3DS and new3DSXL consoles
+
- 7 = *unknown backing type*
−
- 0xE - unknown, found in 2DS only
+
- L = LVDS
−
- 0x0 - unknown, found in old3DS (non-XL) only
+
- E = *unknown coating type*
+
- 38 = model number
+
- P = *unknow suffix*
+
- LS030Q7DW48P (bottom screen)
+
- LS = TFT (LTPS or SI-TFT ?)
+
- 030 = panel 3 inches diagonal
+
- Q = QVGA (320x240)
+
- 7 = *unknown backing type*
+
- D = parallel RGB (unspecified, but it's known to be RGB888 for this display)
+
- W = *unknown coating type*
+
- 48 = model number
+
- P = *unknow suffix*
+
- 0x00 - no controller, or dead (I2CLCD always ACKs reads, but returns 00 if dead)
|}
|}
−
=== Custom registers for controller 0x00 ===
=== Custom registers for controller 0x00 ===