Copy Link
Add to Bookmark
Report

Playstation Tmd-Packet list format

PS_2's profile picture
Published in 
Playstation
 · 21 Jun 2019

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;

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT