Commands ======== Command Format -------------- ======= ============================ Field Description ======= ============================ [31:24] Opcode [23:0] Parameter ======= ============================ Opcodes ------- ================ ===== =========== Opcode Value Description ================ ===== =========== OP_SET_X0 0 Set X0 OP_SET_Y0 1 Set Y0 OP_SET_Z0 2 Set 1/W0 OP_SET_X1 3 Set X1 OP_SET_Y1 4 Set Y1 OP_SET_Z1 5 Set 1/W1 OP_SET_X2 6 Set X2 OP_SET_Y2 7 Set Y2 OP_SET_Z2 8 Set 1/W2 OP_SET_R0 9 Set R0 OP_SET_G0 10 Set G0 OP_SET_B0 11 Set B0 OP_SET_R1 12 Set R1 OP_SET_G1 13 Set G1 OP_SET_B1 14 Set B1 OP_SET_R2 15 Set R2 OP_SET_G2 16 Set G2 OP_SET_B2 17 Set B2 OP_SET_S0 18 Set S0 OP_SET_T0 19 Set T0 OP_SET_S1 20 Set S1 OP_SET_T1 21 Set T1 OP_SET_S2 22 Set S2 OP_SET_T2 23 Set T2 OP_CLEAR 24 Clear frame buffer or depth buffer OP_DRAW 25 Draw triangle OP_SWAP 26 Swap the front and back buffer addresses OP_SET_TEX_ADDR 27 Set texture address (in 16-bit word, address >> 1) OP_SET_FB_ADDR 28 Set the frame buffer address (in 16-bit word, address >> 1) ================ ===== =========== OP_SET_* ^^^^^^^^ Set a 18.14 fixed point value for a given parameter. ======= ============================ Field Description ======= ============================ [0:15] 16-bit value [16] 0=LSB, 1=MSB [31:24] Opcode (0..23) ======= ============================ OP_CLEAR ^^^^^^^^ ======= ============================ Field Description ======= ============================ [15:0] Color (RGB565) [16] 0=frame buffer, 1=depth buffer [31:24] Opcode (24) ======= ============================ OP_DRAW ^^^^^^^ ======= ============================ Field Description ======= ============================ [0] 0=not textured, 1=textured [1] 0=wrap T, 1=clamp T [2] 0=wrap S, 1=clamp S [3] 0=depth test disabled, 1=depth test enabled [4] 0=perspective correction disabled, 1=perspective correction enabled [7:5] Texture width scale (0=32, 1=64, 2=128, 3=256, 4=512, 5=1024, 6=2048, 7=4096) [10:8] Texture height scale (0=32, 1=64, 2=128, 3=256, 4=512, 5=1024, 6=2048, 7=4096) [31:24] Opcode (25) ======= ============================ OP_SWAP ^^^^^^^ ======= ============================ Field Description ======= ============================ [0] 0=do not wait for vsync, 1=wait for vsync [31:24] Opcode (26) ======= ============================ OP_SET_TEX_ADDR ^^^^^^^^^^^^^^^ ======= ============================ Field Description ======= ============================ [0:15] 16-bit value [16] 0=LSB, 1=MSB [31:24] Opcode (27) ======= ============================ OP_SET_FB_ADDR ^^^^^^^^^^^^^^^ ======= ============================ Field Description ======= ============================ [0:15] 16-bit value [16] 0=LSB, 1=MSB [17] 0=double buffer (back != front), 1=single buffer (back == front) [31:24] Opcode (28) ======= ============================