Copy Link
Add to Bookmark
Report
PACKET LIST FORMAT for the Playstation
PACKET LIST FORMAT
Note
When mode and flag are set with the values shown here, they default to creating a one-sided primitive that will be rendered with no semitransparency. To alter these, see earlier notes.
Pigment refers to the inherent colour of the primitive, before lightsources alter the appearance on screen. A gradient pigment has a different RGB value at each vertex, and by using the same interpolation algorithm that gouraud shading uses, a smooth transition between colours is achieved.
LIST OF PRIMITIVES INCLUDED SO FAR
3 SIDED, FLAT SHADING, FLAT PIGMENT
3 SIDED, GOURAUD SHADING, FLAT PIGMENT
3 SIDED, FLAT SHADING, GRADIENT PIGMENT
3 SIDED, GOURAUD SHADING, GRADIENT PIGMENT
3 SIDED, TEXTURED, FLAT SHADING, NO PIGMENT
3 SIDED, TEXTURED, GOURAUD SHADING, NO PIGMENT
3 SIDED, NO SHADING, FLAT PIGMENT
3 SIDED, NO SHADING, GRADIENT PIGMENT
3 SIDED, TEXTURED, NO SHADING, FLAT PIGMENT
3 SIDED, TEXTURED, NO SHADING, GRADIENT PIGMENT
3 SIDED, FLAT SHADING, FLAT PIGMENT
olen = 0x04; ilen =0x03; flag =0x00; mode =0x20;
{
u_char R, G, B; - pigment of polygon
u_char mode2; - same as mode (above)
u_short Normal0; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
} TMD_3_FS_FP;
3 SIDED, GOURAUD SHADING, FLAT PIGMENT
olen = 0x06; ilen =0x04; flag =0x00; mode =0x30;
{
u_char R, G, B; - pigment of polygon
u_char mode2; - same as mode (above)
u_short Normal0; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Normal1;
u_short Vertex1;
u_short Normal2;
u_short Vertex2;
} TMD_3_GS_FP;
3 SIDED, FLAT SHADING, GRADIENT PIGMENT
olen = 0x06; ilen =0x05; flag =0x04; mode =0x20;
{
u_char R0, G0, B0; - pigment of polygon at Vertex0
u_char mode2; - same as mode (above)
u_char R1, G1, B1; - pigment of polygon at Vertex1
u_char pad1; - ignored
u_char R2, G2, B2; - pigment of polygon at Vertex2
u_char pad2; - ignored
u_short Normal0; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
} TMD_3_FS_GP;
3 SIDED, GOURAUD SHADING, GRADIENT PIGMENT
olen = 0x06; ilen =0x06; flag =0x04; mode =0x30;
{
u_char R0, G0, B0; - pigment of polygon at Vertex0
u_char mode2; - same as mode (above)
u_char R1, G1, B1; - pigment of polygon at Vertex1
u_char pad1; - ignored
u_char R2, G2, B2; - pigment of polygon at Vertex2
u_char pad2; - ignored
u_short Normal0; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Normal1;
u_short Vertex1;
u_short Normal2;
u_short Vertex2;
} TMD_3_GS_GP;
3 SIDED, TEXTURED, FLAT SHADING, NO PIGMENT
olen = 0x07; ilen =0x05; flag =0x00; mode =0x24;
{
u_char U0, V0; - X and Y coordinate of texture for Vertex0
u_short CBA; - position of CLUT for texture in VRAM (see earlier)
u_char U1, V1; - X and Y coordinate of texture for Vertex1
u_short TSB; - information about texture in VRAM (see earlier)
u_char U2, V2; - X and Y coordinate of texture for Vertex2
u_short pad; - ignored
u_short Normal; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
} TMD_3_TX_FS_NP;
3 SIDED, TEXTURED, GOURAUD SHADING, NO PIGMENT
olen = 0x9; ilen =0x06; flag =0x00; mode =0x34;
{
u_char U0, V0; - X and Y coordinate of texture for Vertex0
u_short CBA; - position of CLUT for texture in VRAM (see earlier)
u_char U1, V1; - X and Y coordinate of texture for Vertex1
u_short TSB; - information about texture in VRAM (see earlier)
u_char U2, V2; - X and Y coordinate of texture for Vertex2
u_short pad; - ignored
u_short Normal0; - index value of normal element
u_short Vertex0; - index value of vertex element
u_short Normal1;
u_short Vertex1;
u_short Normal2;
u_short Vertex2;
} TMD_3_TX_GS_NP;
3 SIDED, NO SHADING, FLAT PIGMENT
olen = 0x04; ilen =0x03; flag =0x01; mode =0x21;
{
u_char R, G, B; - pigment of polygon
u_char mode2; - same as mode (above)
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
u_short pad; - ignored
} TMD_3_NS_FP;
3 SIDED, NO SHADING, GRADIENT PIGMENT
olen = 0x06; ilen =0x05; flag =0x01; mode =0x35;
{
u_char R0, G0, B0; - pigment of polygon at Vertex0
u_char mode2; - same as mode (above)
u_char R1, G1, B1; - pigment of polygon at Vertex1
u_char pad1; - ignored
u_char R2, G2, B2; - pigment of polygon at Vertex2
u_char pad2; - ignored
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
u_short pad; - ignored
} TMD_3_NS_GP;
3 SIDED, TEXTURED, NO SHADING, FLAT PIGMENT
olen = 0x07; ilen =0x06; flag =0x01; mode =0x25;
{
u_char U0, V0; - X and Y coordinate of texture for Vertex0
u_short CBA; - position of CLUT for texture in VRAM (see earlier)
u_char U1, V1; - X and Y coordinate of texture for Vertex1
u_short TSB; - information about texture in VRAM (see earlier)
u_char U2, V2; - X and Y coordinate of texture for Vertex2
u_short pad1; - ignored
u_char R, G, B; - pigment of polygon
u_char pad2; - ignored
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
u_short pad; - ignored
} TMD_3_TX_NS_FP;
3 SIDED, TEXTURED, NO SHADING, GRADIENT PIGMENT
olen = 0x9; ilen =0x08; flag =0x01; mode =0x35;
{
u_char U0, V0; - X and Y coordinate of texture for Vertex0
u_short CBA; - position of CLUT for texture in VRAM (see earlier)
u_char U1, V1; - X and Y coordinate of texture for Vertex1
u_short TSB; - information about texture in VRAM (see earlier)
u_char U2, V2; - X and Y coordinate of texture for Vertex2
u_short pad1; - ignored
u_char R0, G0, B0; - pigment of polygon at Vertex0
u_char pad2; - ignored
u_char R1, G1, B1; - pigment of polygon at Vertex1
u_char pad3; - ignored
u_char R2, G2, B2; - pigment of polygon at Vertex2
u_char pad4; - ignored
u_short Vertex0; - index value of vertex element
u_short Vertex1;
u_short Vertex2;
u_short pad; - ignored
} TMD_3_TX_NS_GP;