====== GPU Version ======
There are atleast two different GPU versions, the old v0 one used in early SCPH-100x models, and the new v2 one used in later models. Here are the differences and/or issues I have observed.
^ ^Old ^New ^Note ^
|Status after reset|0x14800000|0x14802000|-|
|Modulate|((color & 0xf8) * (texel << 3)) >> 7|(color * (texel << 3)) >> 7|In old GPU, the least significant bits are ignored.|
|Drawing area|9-bit (max 511) vertically|10-bit (max 1023) vertically|The new GPU seems to support 2MB VRAM.|
|GPU info|8 possible results, version = 0|16 possible results, version = 2|-|
|Framebuffer rectangle (0x02)|There is an "interesting" bug when (x_pos & 15) == 15|-|Bug has been fixed in new GPU.|
|VRAM move (0x80)|-|Large moves will make the GPU freeze|I haven't observed any VRAM move freezes on the old GPU while I can repeatedly freeze the new GPU by issuing one or two large VRAM moves.|
|Sprite X/Y-flip (mirror)|N/A|Supported|-|
====== Resolution ======
The PSX doesn't really have a set of fixed resolutions. Instead the possible resolutions are limited by the PAL/NTSC standards and the five available pixelclock dividers of the PSX. Common resolutions have a width of 256, 320, 368, 384, 512 or 640 pixels and a height of 224, 240, 256, 480 or 512 rasterlines.
It is however possible to create both higher and lower resolutions.