|
|
| Line 54: |
Line 54: |
| |} | | |} |
|
| |
|
| These 3 registers are used by [[GX_Commands|GX command]] 1. This is used for OpenGL commands. | | These 3 registers are used by [[GX_Commands|GX command]] 1. This is used for [[GPU_Commands|GPU commands]]. |
|
| |
|
| == 0x1EF00010 == | | == 0x1EF00010 == |
| Line 113: |
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. |
|
| |
| == GPU Commands ==
| |
| The buffer for [[GX_Commands|GX command]] 1 with the registers at 0x1EF018E0 is used for GPU commands including OpenGL commands, each 8-byte entry in the buffer is a command. Cmd+0 is the command parameter, and cmd+4 is the cmdID.
| |
|
| |
| === Commands ===
| |
| {| class="wikitable" border="1"
| |
| ! CommandID
| |
| ! Parameter
| |
| ! Description
| |
| |-
| |
| | 0x000F0010
| |
| | Value is 0x12345678
| |
| | This command is always the last command in the buffer.
| |
| |-
| |
| | 0x000F0110
| |
| | Value 0x1
| |
| | This command is immediately before CmdID 0x000F0010, this is used elsewhere in the buffer as well.
| |
| |-
| |
| | 0x000F0111
| |
| | Value 0x1
| |
| | This command is immediately before CmdID 0x000F0110, however CmdID 0x000F0110 doesn't always follow this command.
| |
| |-
| |
| | 0x000F0042
| |
| | float y vector
| |
| | This sets Y scaling for the current matrix.
| |
| |-
| |
| | 0x000F0044
| |
| | float x vector
| |
| | This sets X scaling for the current matrix.
| |
| |-
| |
| | 0x000F02C0
| |
| | <nowiki>0x80000000 | ID?</nowiki> When bit31 is clear, the specified vertices are not rendered via CmdID 0xXXXF02C1.
| |
| | This is used immediately before CmdID 0xXXXF02C1.
| |
| |-
| |
| | 0xXXXF02C1
| |
| | float X coordinate for the first vertex
| |
| | CmdID is <nowiki>0x000F02C1 | ((totalvertices<<22) - 0x100000).</nowiki> The vertex entries is the data following the command. The first word in the first vertex entry is the Y coordinate.
| |
| |}
| |
|
| |
| === Vertex Entry ===
| |
| {| class="wikitable" border="1"
| |
| ! Index Word
| |
| ! Description
| |
| |-
| |
| | 0
| |
| | X coordinate, for the first vertex this is stored in the command parameter instead.
| |
| |-
| |
| | 1
| |
| | Y coordinate
| |
| |-
| |
| | 2
| |
| | Z coordinate
| |
| |-
| |
| | 3
| |
| | Padding for the last vertex entry
| |
| |}
| |