|
|
| 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.
| |