i downloaded the packages so i can pull up a megaupload of it if needed. edit: just tested and the site and the original megaupload links seem to be functional so i guess there was nothing more than a minor downtime.
I could even write my own libs, but it's not like Sony will give a shit about it anyway. They didn't even care to bring down the SDKs floating on the net, and it's not like the game I'm developing will be for sale.
I'll be doing just that soon. I'm thinking of writing a lot of the code to display primitives in MIPS assembly. Do you have any undocumented info? Any info that you can pass onto me?
You mean officially? I have a little trick to do flipped sprites using a couple flags in a tpage primitive, and it isn't documented anywhere AFAIK. 0x1000 is for h-flip, while 0x2000 is for v-flip. Most emulators don't even support it correctly (including popstation), but it does work on the real thing. No idea why no game ever used this feature.
I seem to remember this was documented in the original PSX kit. I will have to go back and look through my old docs. --Selgus
Was it? I don't have access to that kit even in SDK form, but according to pSX Author (who happens to be the only emulator author to have implemented this feature correctly), there was no trace of that anywhere. I wonder how many other weird features the console has, but were left unused for some reason.
Any chance of us getting our grubby hands on those low-level docs? :love2: I'm particularly interested in any low-level docs available (aside from the freely available docs online).
Sorry, haven't been able to look through my old stuff to find them. Once I get this product out to manufacturing, I can try to get something out here. --Selgus
According to pSX Author (former Playstation developer), what you're talking about is probably a doc about the arcade hardware, not the retail console. I wonder if all the special features from the arcade are all still there. I would love to use those for my engine, if they are actually supported by emulators and such (flipped sprites don't seem to be, not completely).
AFAIK only Namco System 11 and Crypt Killer used anything different from retail consoles. Some of the primitives have slightly different formats, tpage is completely different. It supports texture swizzling ( maybe it has no texture cache, needs more investigation ). It can also flip the screen, because some arcade cabinets mount the monitor in the base and use a mirror to view it. Sprite flipping is supported on some retail consoles, but not all. The first ones that have color banding issues on some gouraud shaded polygons don't support it. In theory you could detect which console you are on and use a flipped sprite on new consoles or revert to using a polygon on old consoles. The official console SDK supports sprite flipping, because I've used it. I can't remember if it's documented, but it's in the .h files. Sony may not have pushed it, to avoid problems with games running on different revisions. MAME supported it first. http://smf.mameworld.info/?m=200506
Are you 100% sure about this one? The Galaga (or Galaxian, I forget) minigame in Ridge Racer uses flipped sprites (big news even to me). Wouldn't that create weird situations with a game that was supposed to be released when there was only one retail version of the console? Unfortunately sprites have hardware limits that polygons don't, and vice versa. Uneven u coordinates on 4 bpp textures are a real pain in the ass, and so is the inability of flat/unscaled polygons to draw the borders of a 256x256 texture. OH: Where's that? I can't seem to find it in LIBGPU.H.
It's in libgs.h. GsSortSpriteB & GsSortFastSpriteB accepts a flip parameter. I wrote a program using them & I have an early console that it doesn't work on. I can try to see if there is any noticable difference between ridge racer on them. Do you know where it uses them? It's possible that newer graphics chips existed at the consoles launch ( as ridge racer was a launch title in japan ). What kept the arcade version of Tekken unemulated for a long time was that it generated a mixture of old and new style display lists. It was only by accident that I triggered it to detect an older GPU and it stopped using new packets. So the practise of figuring out what you are running on and switching was obviously in use at the time. Maybe System 11 and the launch consoles were just using up older GPU's that Sony wanted rid of. One of the reasons I'd like access to a DTL-H500 is to figure out what GPU they used in those.
I've never noticed that function (I'm avoiding libgs as much as I can), and it's only documented in one of the older reference docs as an arcade function. For some reason I was expecting the SDK to have the flags used in DR_TPAGE to activate such feature, so that, you know, you could implement it yourself without the need of libgs. It's used to render the aliens. I wonder if the Sony emulator activates the support for them only with Ridge Racer through the SLPS ID, because when I used them with an old project of mine all it produced was a complete mess of nonsense.