>>22059
It wasn't the lack of FPU that caused the jankiness, but rather the lack of perspective texture correction. There are leaked official documentation CDs with conference slides that talk about how to deal with the problem of simply making the ground look less wrong.
There may also have been an issue with polygon Z-sorting.
----
As I've been messing with PS1 development in emulators lately (I own an unmodchipped SCPH-9002 so I'm pretty much restricted to this), I've done a few rough benchmarks and whatnot.
You can probably get away with about 800 triangles per frame @ 50fps (make it 60fps if you want), or double that for 25fps. It does tend to suffer from low fillrate, though, so if you subdivide a little bit you could fit in more. This figure of 800 is after backface culling is applied, so you can probably attempt to draw more.
My benchmarks were done in the usual 320x240 video mode. There are other modes (640x480i for instance) but you'll probably suffer in the fillrate department.
Your textures can be any power of 2 from 8 to 64 inclusive in each dimension, and are usually 4bpp (16-colour) paletted textures up to 64x64. Texture coordinates mark the centre of a texel, which can be pretty annoying in some cases.
For blending, there are half-blend, add, and sub modes. (There's one other mode but it's pretty much useless.) There is also effectively a 1-bit stencil buffer.
You can probably get away with vertex-lit textured gouraud polygons and half-blend shadows and still have the "authentic PSX experience". Just be wary of that polygon budget, and try not to jerk with it too much. (Also, lightmaps are a good thing.)
You could possibly even pull a Gran Turismo and use a 64x64 4bpp add-blended environment map to make things look shiny.
If you care about memory requirements, you have a 1024x512 area of 15bpp pixels to work with, and two 320x240 chunks are taken out of it for your two screen buffers. 4bpp palettes use up 16 of those "pixels". A 64x64 4bpp texture without a palette will take up 16x64 of those pixels.
If you do the math, that's basically 356 64x64 4bpp textures with a palette per texture. As long as you're not going overboard you can just use a bunch of these textures.
----
So basically, if you want to make a game that could theoretically work on a PS1:
* 320x240 (if you're making this for PC you can just skip this)
* 15bpp, dithered (ditto)
* no perspective correction (factor this in, but also ditto)
* 16-colour 64x64 textures, you'll probably not hit the actual VRAM limits
* about 800 triangles per frame @ 60fps, or about 1600 @ 30fps (but if you're making this for a PC just run it at 60fps anyway)
* triangles can be gouraud shaded and texture mapped at the same time without any real issues, and blending shouldn't have a performance hit
* blending is either add, half-blend, or sub (although sub probably won't be perfectly accurate on a PC)
* thanks to blending you can multitexture and whatnot
And if you're making it for a PC, just enable the depth buffer anyway - the Z-sorting really doesn't chew up much CPU time on the PS1 at all.