Changes

1,618 bytes removed ,  23:50, 30 January 2013
Moved LCD-related info to the LCD page.
Line 1: Line 1:  
== Map ==
 
== Map ==
* 0x1EF00400 is the top screen
+
* 0x1EF00400 is the top [[LCD|screen]]
* 0x1EF00500 is the bottom screen
+
* 0x1EF00500 is the bottom [[LCD|screen]]
    
== Init Values from nngxInitialize for Top Screen ==
 
== Init Values from nngxInitialize for Top Screen ==
Line 36: Line 36:  
* 0x1EF00478 = 1, doesn't stay 1, read as 0
 
* 0x1EF00478 = 1, doesn't stay 1, read as 0
 
* 0x1EF00474 = 0x10501
 
* 0x1EF00474 = 0x10501
  −
== 0x1EF00X5C ==
  −
{| class="wikitable" border="1"
  −
!  Bit
  −
!  Description
  −
|-
  −
| 15-0
  −
| Framebuffer width?
  −
|-
  −
| 31-16
  −
| Framebuffer height?
  −
|}
  −
  −
This register might control the framebuffer dimensions, however writing to this doesn't affect the displayed LCD image.
  −
  −
== 0x1EF00X78 ==
  −
{| class="wikitable" border="1"
  −
!  Bit
  −
!  Description
  −
|-
  −
| 0
  −
| LCD framebuffer to display (0=first, 1=second)
  −
|-
  −
| 7-1
  −
| ?
  −
|-
  −
| 31-8
  −
| Unused
  −
|}
  −
  −
== 0x1EF00X90 ==
  −
{| class="wikitable" border="1"
  −
!  Bit
  −
!  Description
  −
|-
  −
| 3-0
  −
| ?
  −
|-
  −
| 7-4
  −
| Controls the framebuffer dimensions and/or color format
  −
|-
  −
| 31-7
  −
| ?
  −
|}
      
This register controls how the LCD framebuffer is displayed.
 
This register controls how the LCD framebuffer is displayed.
Line 157: Line 113:     
These registers are used by [[GX_Commands|GX command]] 3 and 4. For cmd4, *0x1EF00C18 |= 1 is used instead of just writing value 1.
 
These registers are used by [[GX_Commands|GX command]] 3 and 4. For cmd4, *0x1EF00C18 |= 1 is used instead of just writing value 1.
  −
== Framebuffers ==
  −
{| class="wikitable" border="1"
  −
!  Address
  −
!  Description
  −
|-
  −
| 0x1EF00468
  −
| Main LCD, first framebuffer for 3D left
  −
|-
  −
| 0x1EF0046C
  −
| Main LCD, second framebuffer for 3D left
  −
|-
  −
| 0x1EF00494
  −
| Main LCD, first framebuffer for 3D right
  −
|-
  −
| 0x1EF00498
  −
| Main LCD, second framebuffer for 3D right
  −
|-
  −
| 0x1EF00568
  −
| Sub LCD, first framebuffer
  −
|-
  −
| 0x1EF0056C
  −
| Sub LCD, second framebuffer
  −
|}
  −
  −
The above framebuffer registers contains the physical address for each framebuffer, normally located in FCRAM in the application's GSP heap.
  −
  −
These LCD framebuffers normally contain the last rendered frames from the GPU. The color format is BGR8. The framebuffers are drawn from left-to-right, instead of top-to-bottom.(Thus the beginning of the framebuffer is drawn starting at the left side of the screen)
  −
  −
Both of the 3D screen left/right framebuffers are displayed regardless of the 3D slider's state, normally when the 3D slider's state is set to "off" the left/right framebuffer addresses are set to the same physical address.