Difference between revisions of "GPU/External Registers"
< GPU
Jump to navigation
Jump to search
(Moved GPU commands info to a seperate page.) |
m |
||
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 | ||
− | |||
− | |||
== 0x1EF018E0 == | == 0x1EF018E0 == | ||
Line 54: | Line 52: | ||
|} | |} | ||
− | These 3 registers are used by [[ | + | These 3 registers are used by [[GSP_Shared_Memory|GX command]] 1. This is used for [[GPU_Commands|GPU commands]]. |
== 0x1EF00010 == | == 0x1EF00010 == | ||
Line 74: | Line 72: | ||
|} | |} | ||
− | These registers are used by [[ | + | These registers are used by [[GSP_Shared_Memory|GX command]] 2. 0x1EF00010 is used for the GX command buf0 parameters, while 0x1EF00020 is used for the GX command buf1 parameters. |
== 0x1EF00C00 == | == 0x1EF00C00 == | ||
Line 112: | Line 110: | ||
|} | |} | ||
− | These registers are used by [[ | + | 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. |
Revision as of 18:45, 7 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 | VRAM framebuffer physical address>>3 |
0x1EF00C04 | Output framebuffer physical address>>3 |
0x1EF00C08 | Output framebuffer dimensions, used with cmd3 |
0x1EF00C0C | VRAM framebuffer dimensions, used with cmd3 |
0x1EF00C10 | Unknown, 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.