Path: chuka.playstation.co.uk!news From: "Angel Sastre" Newsgroups: scea.yaroze.programming.2d_graphics,scea.yaroze.programming.3d_graphics,scee.yaroze.programming.2d_graphics,scee.yaroze.programming.3d_graphics Subject: Re: inside Ordering Tables Date: Sun, 25 Oct 1998 17:34:49 -0800 Organization: PlayStation Net Yaroze (SCEE) Lines: 68 Message-ID: <70vk76$5iq6@chuka.playstation.co.uk> References: <70u292$5iq5@chuka.playstation.co.uk> <70ubsd$dnq16@scea> NNTP-Posting-Host: 194.83.127.74 X-Newsreader: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Xref: chuka.playstation.co.uk scea.yaroze.programming.2d_graphics:426 scea.yaroze.programming.3d_graphics:304 scee.yaroze.programming.2d_graphics:670 scee.yaroze.programming.3d_graphics:963 hi! yeah, i know you can do dynamic TMDs, but since i am trying to port an already-done 3dengine this doesn't fit in very well. I suppose lots of people out there have the same problem. >The big "problem" is that the format of the packets is not disclosed by >Sony. Apparently, its even a big pain for "Pro" developers to get this >"packet" format. (Something I'll never fully understand, coming from a >device driver background where chipmakers fall all overthemselvs to >give you all the info you need to make thier chips work with your >products!! :-) yes, that's what you'd expect. Anyhow, with a little experimentation you should be able to tell how the packets are made up. >I think "one OT_TAG" equals "one packet", and are used by the library >routines >to keep the primitives sorted properly. The packets themselves are created >into the PACKET area, (hence you'll see PACKETMAX*24 often used to >define that space, the *average* size of a packet is 24 bytes, but simpler >primitives (single color lines) are smaller than complex ones (shaded, >textured >quads for example). i'm not quite sure about that...one TAG is one mark on the OT table, going along the Z axis. That means that the Z coordinate of the packet must determine the tag to which it goes to. >I'm guessing that the final "draw" of the OT actually >goes >through the PACKET area and makes all those packets presentable to the >GPU and tells the GPU to actually get to work on the packets. i agree with you on that one. but how exactly are the packets traversed? it seems that all the info should be in the gs_OT tag...yet i can't find it. yesterday night i tried sorting a single sprite into the OT and then looking at the gpu packet area. 9 words (32 bit) were added to it. The first one I haven't got any idea what the hell it does, the second one contained the RGB brightness and a code (0x2C), the third one contained the x,y for the first point (16 bit words), etc. If you change these x,y coordinates you will actually see how one corner of the sprite moves around (tried it), meaning that the info is correct. it's all there and it all makes sense. maybe if a couple people were interested in this, we could get together and share what we know, investigate further and so on. it can't be that hard, and since we aren't even touching the gpu, etc. there isn't a reason for sony to get annoyed at us (i hope). after all, the psx-emulators people surely have this info. okay so if there's anybody interested please mail me. angel sastre aka reboot / incognita ams50@bton.ac.uk rbt00@hotmail.com