1,628 bytes added
, 06:29, 6 February 2013
This page describes the structure of the buffer for [[GX_Commands|GX command]] 1 with the registers at [[GPU|0x1EF018E0]]. This buffer 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
| float X coordinate, for the first vertex this is stored in the command parameter instead.
|-
| 1
| float Y coordinate
|-
| 2
| float Z coordinate
|-
| 3
| Padding for the last vertex entry
|}