This is an old revision of the document!


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 area9-bit (max 511) vertically10-bit (max 1023) verticallyThe new GPU seems to support 2MB VRAM.
GPU info8 possible results, version = 016 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 freezeI 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 move commands.

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.

Print/export