Changes

Jump to navigation Jump to search
5,197 bytes added ,  06:35, 24 September 2021
[WIP] Update MCU info + reformat table + merge TP numbers from page history
Line 8: Line 8:  
| style="background: #cc9900" | 3? ||    ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
 
| style="background: #cc9900" | 3? ||    ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
 
|-
 
|-
| || ||style="background: #ffffff" | || ||    || style="background: #a060a0" | D7  || style="background: #a060a0" | D4  || style="background: #a060a0" | D1  || style="background: #a060a0" | DET || style="background: #a060a0" | CS2 || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 3v3 ||    || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 3v3 || style="background: #d9ffb3" | 3v3 || style="background: #d9ffb3" | 3v3 || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #666633" | IRTX || style="background: #ff2a7f" | ?  ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
+
| || ||style="background: #ffffff" | || style="background: #d9ffb3" | 3v3 ||    || style="background: #a060a0" | D7  || style="background: #a060a0" | D4  || style="background: #a060a0" | D1  || style="background: #a060a0" | DET || style="background: #a060a0" | CS2 || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 3v3 ||    || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 3v3 || style="background: #d9ffb3" | 3v3 || style="background: #d9ffb3" | 3v3 || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #a52a2a" | ? || style="background: #666633" | IRTX || style="background: #ff2a7f" | ?  ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
 
|-
 
|-
 
| style="background: #ffff00" | CLK || style="background: #ffff00" | D0  ||style="background: #ffffff" | || || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #ff2a7f" | ?  ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
 
| style="background: #ffff00" | CLK || style="background: #ffff00" | D0  ||style="background: #ffffff" | || || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #bbbbbb" |  G  || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #d9ffb3" | 1v2 || style="background: #d9ffb3" | 3v3 || style="background: #bbbbbb" |  G  || style="background: #ff2a7f" | ?  ||style="background: #ffffff" | || style="background: #ff2a7f" | ?  || style="background: #ff2a7f" | ?
Line 65: Line 65:  
legend:
 
legend:
 
{| class="wikitable" style="font-family:Monospace;text-align:center;table-layout:fixed;"
 
{| class="wikitable" style="font-family:Monospace;text-align:center;table-layout:fixed;"
| style="background: #ff0000" | Main
+
| style="background: #ff0000" | SoC clock crystal
 +
|-
 +
| style="background: #ffaaaa" | RTC clock crystal
 
|-
 
|-
 
| style="background: #a060a0" | Gamecard
 
| style="background: #a060a0" | Gamecard
Line 112: Line 114:  
== UC CTR ==
 
== UC CTR ==
    +
The MCU seems to most closely resemble an NEC (Renesas) 78K0R/Kx3-L 64-pin FBGA: https://www.renesas.com/us/en/document/mah/78k0rkx3-l-users-manual-hardware-r01uh0106ej040078k0rkx3l?language=en&r=1051991
 +
 +
The functional pin mapping is almost exactly the same, except the GPIO port assignment is almost completely different.
 +
 +
Most low port numbers appear to map to the correct physical pin locations as described in the above datasheet, however around P7 and above this mapping is definitely altered.
 +
 +
Orientation: Pin 1 marker in bottom left corner
 +
 +
===Pinout===
    
{| class="wikitable" style="font-family:Monospace;text-align:center;width:100%;table-layout:fixed;width:26%;"
 
{| class="wikitable" style="font-family:Monospace;text-align:center;width:100%;table-layout:fixed;width:26%;"
| style="background: #4d4d33" | ? || style="background: #d9ffb3" | + || style="background: #d9ffb3" | + || CHRGLED || style="background: #bbbbbb" | G || || || style="background: #bbbbbb" | G
   
|-
 
|-
| || style="background: #4d4d33" | ? || || || style="background: #bbbbbb" | G || BATTTHM || HOMEBTN ||
+
|style="background: #eaecf0" | 8
 +
| style="background: #d9ffb3" | + || style="background: #bbbbbb" | G || || || TP75 || style="background: #ffaaaa" | X || style="background: #ffaaaa" | X || style="background: #4d4d33" | ?
 
|-
 
|-
| || style="background: #4d4d33" | ? || || || || || || style="background: #8efab4" | SDA
+
|style="background: #eaecf0" | 7
 +
| style="background: #73e600" | SCL || || style="background: #bbbbbb" | G || || /RESET || style="background: #4d4d33" | ? || style="background: #4d4d33" | ? || style="background: #d9ffb3" | +
 
|-
 
|-
| TP75 || TP74 || TP76 || || || || || style="background: #8efab4" | SCL
+
|style="background: #eaecf0" | 6
 +
| style="background: #73e600" | SDA || || style="background: #d9ffb3" | + || TP77 || TP76 || || || style="background: #d9ffb3" | +
 
|-
 
|-
| || || TP77 || PWRLED1 || || || PWRLED0 ||
+
|style="background: #eaecf0" | 5
 +
| style="background: #4d4d33" | ? || || TP78 || PWRLED1 || || || || CHRGLED
 
|-
 
|-
| || style="background: #bbbbbb" | G || style="background: #d9ffb3" | + || TP78 || || || ||
+
|style="background: #eaecf0" | 4
 +
| || || || || || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G
 
|-
 
|-
| style="background: #bbbbbb" | G || || || || || PWRBTN || ||
+
|style="background: #eaecf0" | 3
 +
| || PWRBTN || || || || || BATTTHM ||
 
|-
 
|-
| TP79 || style="background: #73e600" | ? || style="background: #73e600" | ? || style="background: #4d4d33" | ? || || || || style="background: #d9ffb3" | +
+
|style="background: #eaecf0" | 2
 +
| || || || PWRLED0 || || || HOMEBTN ||
 +
|-
 +
|style="background: #eaecf0" | 1
 +
| style="background: #d9ffb3" | + || || || || style="background: #8efab4" | SCL || style="background: #8efab4" | SDA || || style="background: #bbbbbb" | G
 +
|-
 +
!/
 +
!A
 +
!B
 +
!C
 +
!D
 +
!E
 +
!F
 +
!G
 +
!H
 +
|}
 +
 
 +
===Pin assignment===
 +
 
 +
und = undocumented / custom
 +
SFR = Special Function Register (SFR bank 1, range FFF00h - FFFFFh)
 +
ESR = Extended Special Function Register (SFR bank 2, range F0000h - F0806h)
 +
/  = active low (ground to enable, pull to power supply to disable)
 +
 
 +
{| class="wikitable" border="1"
 +
!  TP
 +
!  Pin
 +
!  Port
 +
!  Purpose
 +
|-
 +
| TP79
 +
| A8
 +
| EVdd
 +
| Digital voltage source input (positive)
 +
|-
 +
| TP74
 +
| E7
 +
| /RESET
 +
| Resets the MCU when grounded, but is also used when reprogramming
 +
|-
 +
| TP75
 +
| E8
 +
| FLMD0
 +
| Flash mode(?) used when reprogramming with external programmer
 +
|-
 +
| TP76
 +
| E6
 +
| TOOL1
 +
| Used when using an ICE or debugger
 +
|-
 +
| TP77
 +
| D6
 +
| TOOL0
 +
| Multipurpose pin for reprogramming and debugging
 +
|-
 +
|
 +
| A7
 +
| SCL0 / P6.0
 +
| DSi-side I2C SCL
 +
|-
 +
|
 +
| A6
 +
| SDA0 / P6.1
 +
| DSi-side I2C SDA
 +
|-
 +
|
 +
| E1
 +
| SCL1 / ESR[510h].und
 +
| 3DS-side SCL
 +
|-
 +
|
 +
| F1
 +
| SDA1 / ESR[510h].und
 +
| 3DS-side SDA
 +
|-
 +
|
 +
| F7
 +
| /P0.1
 +
| SocReset_n (one of the two SoC reset signals)
 +
|-
 +
|
 +
| G7
 +
| /P0.0
 +
| SocReset_n (one of the two SoC reset signals)
 +
|-
 +
|
 +
|
 +
| /P3.0
 +
| Unknown. Probably resets something, as it's poked in a similar pattern to the SoC reset signals.
 +
|-
 +
|
 +
|
 +
| P5.0
 +
| Toggles something (poked in conjunction with reset signals)
 +
|-
 +
|
 +
|
 +
| P2.0
 +
| HOME button
 +
|-
 +
|
 +
|
 +
| P4.3
 +
| Charging LED(?)
 +
|-
 +
|
 +
|
 +
| P5.1
 +
| Charger "button"
 +
|-
 +
|
 +
|
 +
| P7.0
 +
| ???
 +
|-
 +
|
 +
|
 +
| P2.4
 +
| BatteryChargeState (?)
 +
|-
 +
|
 +
|
 +
| P7.3
 +
| Power button
 +
|-
 +
|
 +
|
 +
| P7.4
 +
| WiFi button
 +
|-
 +
|
 +
|
 +
| P7.6
 +
| External IRQ (MCU --> SoC)
 
|}
 
|}
    
== CODEC ==
 
== CODEC ==
 
{| class="wikitable" style="font-family:Monospace;text-align:center;width:100%;table-layout:fixed;width:36%;"
 
{| class="wikitable" style="font-family:Monospace;text-align:center;width:100%;table-layout:fixed;width:36%;"
| || style="background: #476b6b" | 4? || 3v3 || || style="background: #cc9900" | 3? || style="background: #cc9900" | 0? || style="background: #336600" | ? || style="background: #336600" | ? || || G ||
+
| || style="background: #476b6b" | 4? || style="background: #d9ffb3" | 3v3 || || style="background: #cc9900" | 3? || style="background: #cc9900" | 0? || style="background: #336600" | ? || style="background: #336600" | ? || || style="background: #bbbbbb" | G ||
 +
|-
 +
|  || style="background: #476b6b" | 3? || style="background: #476b6b" | 5? || style="background: #bbbbbb" | G || || style="background: #cc9900" | 1? || style="background: #336600" | CSx || style="background: #336600" | ? || || style="background: #bbbbbb" | G ||
 
|-
 
|-
|   || style="background: #476b6b" | 3? || style="background: #476b6b" | 5? || G || || style="background: #cc9900" | 1? || style="background: #336600" | CSx || style="background: #336600" | ? || || G ||
+
| style="background: #bbbbbb" | G || style="background: #476b6b" | 2? || style="background: #476b6b" | 0? || style="background: #bbbbbb" | G || || style="background: #cc9900" | 2? || style="background: #336600" | CSy || || || || SPEAKER1
 
|-
 
|-
| G || style="background: #476b6b" | 2? || style="background: #476b6b" | 0? || G || || style="background: #cc9900" | 2? || style="background: #336600" | CSy || || || || SPEAKER1
+
| TOUCH || TOUCH || style="background: #476b6b" | 1? || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || || SPEAKER1
 
|-
 
|-
| TOUCH || TOUCH || style="background: #476b6b" | 1? || G || G || G || G || G || G || || SPEAKER1
+
| TOUCH || TOUCH || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || ||
 
|-
 
|-
| TOUCH || TOUCH || || G || G || G || G || G || G || ||
+
| CPAD || CPAD || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || ||
 
|-
 
|-
| CPAD || CPAD || || G || G || G || G || G || G || ||
+
| || || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || || SPEAKER2
 
|-
 
|-
| || || || G || G || G || G || G || G || || SPEAKER2
+
| MIC || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || || SPEAKER2
 
|-
 
|-
| MIC || || G || G || G || G || G || G || G || || SPEAKER2
+
| JACK_R || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || || style="background: #bbbbbb" | G || || || || || || style="background: #bbbbbb" | G
 
|-
 
|-
| JACK_R || G || G || || G || || || || || || G
+
| style="background: #d9ffb3" | 3v3 || || || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G || || ||
 
|-
 
|-
| 3v3 || || || || G || G || G || G || || ||
+
| || || style="background: #bbbbbb" | G || || || || JACK_L || || style="background: #bbbbbb" | G || style="background: #bbbbbb" | G ||
 +
|}
 +
 
 +
== LCD (old3DS bottom) ==
 +
{| class="wikitable" border="1"
 
|-
 
|-
| || || G || || || || JACK_L || || G || G ||
+
!  Pin number
 +
!  Name
 +
!  Description
 +
|-
 +
| 01
 +
| -6V
 +
|  
 +
|-
 +
| 02
 +
| 12V
 +
|  
 +
|-
 +
| 03
 +
| CLK
 +
| Pixel clock
 +
|-
 +
| 04
 +
| /HBL
 +
| Horizontal blank (low while blanking)
 +
|-
 +
| 05
 +
| /VBL
 +
| Vertical blank (low while blanking)
 +
|-
 +
| 06
 +
| 2v2
 +
| Loopback of pin 07?
 +
|-
 +
| 07
 +
| 2v2
 +
| Content latch? Shorting this to ground or to pin 06 will "lock" the screen memory while still allowing the screen to refresh itself.
 +
|-
 +
| 08
 +
| GND
 +
| "chassi" ground
 +
|-
 +
| 09
 +
| HCL
 +
| Horizontal clock
 +
|-
 +
| 10
 +
| GND
 +
| "chassi" ground
 +
|-
 +
| 11
 +
| BIAS 1
 +
| Default ~ 4.5V - 4.8V; sets contrast
 +
|-
 +
| 12
 +
| BIAS 2
 +
| Usually matches BIAS 1; sets "flicker"
 +
|-
 +
| 13
 +
| ???
 +
| Might be a transistor? Shorted to ground if off, 2.36V if on.
 +
|-
 +
| 14
 +
| 6V
 +
|
 +
|-
 +
| 15
 +
| ???
 +
| Loopback of pin 14 ? Shorting this with pin 14 or ground will make the 3DS turn off with a harsh pop sound.
 +
|-
 +
| 16
 +
| ???
 +
| ???
 +
|-
 +
| 17
 +
| ???
 +
| ???
 +
|-
 +
| 18
 +
 
 +
[...]
 +
 
 +
25
 +
| RED 0
 +
 
 +
[...]
 +
 
 +
RED 7
 +
| Red pixel bits
 +
|-
 +
| 26
 +
| GND
 +
| "chassi" ground
 +
|-
 +
| 27
 +
 
 +
[...]
 +
 
 +
34
 +
| BLUE 7
 +
 
 +
[...]
 +
 
 +
BLUE 0
 +
| Blue pixel bits
 +
|-
 +
| 35
 +
| GND
 +
| "chassi" ground
 +
|-
 +
| 36
 +
 
 +
[...]
 +
 
 +
43
 +
| GREEN 7
 +
 
 +
[...]
 +
 
 +
GREEN 0
 +
| Green pixel bits
 
|}
 
|}
Trusted
225

edits

Navigation menu