Difference between revisions of "GPU/External Registers"
< GPU
Jump to navigation
Jump to search
Line 80: | Line 80: | ||
|- | |- | ||
| 0x1EF00C00 | | 0x1EF00C00 | ||
− | | | + | | Input framebuffer physical address>>3 |
|- | |- | ||
| 0x1EF00C04 | | 0x1EF00C04 | ||
Line 89: | Line 89: | ||
|- | |- | ||
| 0x1EF00C0C | | 0x1EF00C0C | ||
− | | | + | | Input framebuffer dimensions, used with cmd3 |
|- | |- | ||
| 0x1EF00C10 | | 0x1EF00C10 | ||
− | | | + | | Flags, used with cmd3 and cmd4. |
|- | |- | ||
| 0x1EF00C14 | | 0x1EF00C14 | ||
− | | GSP module writes value 0 here prior to writing to 0x1EF00C18, for cmd3 | + | | GSP module writes value 0 here prior to writing to 0x1EF00C18, for cmd3. |
|- | |- | ||
| 0x1EF00C18 | | 0x1EF00C18 | ||
− | | Writing value 1 here triggers GPU processing for the specified buffers | + | | Writing value 1 here triggers GPU processing for the specified buffers. |
|- | |- | ||
| 0x1EF00C20 | | 0x1EF00C20 | ||
Line 110: | Line 110: | ||
|} | |} | ||
− | These registers are used by [[GSP_Shared_Memory|GX command]] 3 and 4. For cmd4, *0x1EF00C18 |= 1 is used instead of just writing value 1. The dimensions fields seem to use the same format as [[LCD]] register 0x1EF00X5C. | + | These registers are used by [[GSP_Shared_Memory|GX command]] 3 and 4. For cmd4, *0x1EF00C18 |= 1 is used instead of just writing value 1. The dimensions fields seem to use the same format as [[LCD]] register 0x1EF00X5C. |
+ | |||
+ | === 0x1EF00C10 === | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Bit | ||
+ | ! Description | ||
+ | |- | ||
+ | | 11-0 | ||
+ | | ? | ||
+ | |- | ||
+ | | 12 | ||
+ | | Color format related? | ||
+ | |- | ||
+ | | 23-13 | ||
+ | | ? | ||
+ | |- | ||
+ | | 24 | ||
+ | | When this is set, the actual framebuffer width is input width>>1. | ||
+ | |- | ||
+ | | 31-25 | ||
+ | | ? | ||
+ | |} |
Revision as of 21:23, 14 February 2013
Map
Init Values from nngxInitialize for Top Screen
- 0x1EF00400 = 0x1C2
- 0x1EF00404 = 0xD1
- 0x1EF00408 = 0x1C1
- 0x1EF0040C = 0x1C1
- 0x1EF00410 = 0
- 0x1EF00414 = 0xCF
- 0x1EF00418 = 0xD1
- 0x1EF0041C = 0x1C501C1
- 0x1EF00420 = 0x10000
- 0x1EF00424 = 0x19D
- 0x1EF00428 = 2
- 0x1EF0042C = 0x1C2
- 0x1EF00430 = 0x1C2
- 0x1EF00434 = 0x1C2
- 0x1EF00438 = 1
- 0x1EF0043C = 2
- 0x1EF00440 = 0x1960192
- 0x1EF00444 = 0
- 0x1EF00448 = 0
- 0x1EF0045C = 0x19000F0
- 0x1EF00460 = 0x1c100d1
- 0x1EF00464 = 0x1920002
- 0x1EF00470 = 0x80340
- 0x1EF0049C = 0
More Init Values from nngxInitialize for Top Screen
- 0x1EF00468 = 0x18300000, later changed by GSP module when updating state, framebuffer
- 0x1EF0046C = 0x18300000, later changed by GSP module when updating state, framebuffer
- 0x1EF00494 = 0x18300000
- 0x1EF00498 = 0x18300000
- 0x1EF00478 = 1, doesn't stay 1, read as 0
- 0x1EF00474 = 0x10501
0x1EF018E0
Register address | Description |
---|---|
0x1EF018E0 | Buffer Size>>3 |
0x1EF018E8 | Buffer physical address>>3 |
0x1EF018F0 | Writing value 1 here triggers GPU processing for the specified buffer |
These 3 registers are used by GX command 1. This is used for GPU commands.
0x1EF00010
Register address | Description |
---|---|
0x1EF000X0 | Buffer physical address>>3 |
0x1EF000X4 | Associated buffer physical address>>3 |
0x1EF000X8 | Buffer size |
0x1EF000XC | The low u16 for this register is overwritten by the GX command u16 parameter |
These registers are used by GX command 2. 0x1EF00010 is used for the GX command buf0 parameters, while 0x1EF00020 is used for the GX command buf1 parameters.
0x1EF00C00
Register address | Description |
---|---|
0x1EF00C00 | Input framebuffer physical address>>3 |
0x1EF00C04 | Output framebuffer physical address>>3 |
0x1EF00C08 | Output framebuffer dimensions, used with cmd3 |
0x1EF00C0C | Input framebuffer dimensions, used with cmd3 |
0x1EF00C10 | Flags, used with cmd3 and cmd4. |
0x1EF00C14 | GSP module writes value 0 here prior to writing to 0x1EF00C18, for cmd3. |
0x1EF00C18 | Writing value 1 here triggers GPU processing for the specified buffers. |
0x1EF00C20 | Unknown, used with cmd4 |
0x1EF00C24 | Unknown, used with cmd4 |
0x1EF00C28 | Unknown, used with cmd4 |
These registers are used by GX command 3 and 4. For cmd4, *0x1EF00C18 |= 1 is used instead of just writing value 1. The dimensions fields seem to use the same format as LCD register 0x1EF00X5C.
0x1EF00C10
Bit | Description |
---|---|
11-0 | ? |
12 | Color format related? |
23-13 | ? |
24 | When this is set, the actual framebuffer width is input width>>1. |
31-25 | ? |