This page describes the structure of the buffer for GX command 1 with the registers at 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.
||Value is 0x12345678
||This command is always the last command in the buffer.
||This command is immediately before CmdID 0x000F0010, this is used elsewhere in the buffer as well.
||This command is immediately before CmdID 0x000F0110, however CmdID 0x000F0110 doesn't always follow this command.
||float y vector
||This sets Y scaling for the current matrix.
||float x vector
||This sets X scaling for the current matrix.
||0x80000000 | ID? When bit31 is clear, the specified vertices are not rendered via CmdID 0xXXXF02C1.
||This is used immediately before CmdID 0xXXXF02C1.
||float X coordinate for the first vertex
||CmdID is 0x000F02C1 | ((totalvertices<<22) - 0x100000). The vertex entries is the data following the command. The first word in the first vertex entry is the Y coordinate.
||float X coordinate, for the first vertex this is stored in the command parameter instead.
||float Y coordinate
||float Z coordinate
||Padding for the last vertex entry