psx.wiki

Graphics Processing Unit (GPU)

Drawing processor and display controller of the PlayStation.

This is an old revision of this page, as edited by RemmyLee at 02:32, 23 October 2026. Edit this revision | Latest revision

Overview

The PlayStation has two graphics processors: the GPU and the GTE (Geometry Transformation Engine).1

The GPU and the GTE connect to the CPU as shown in System Architecture.

The GPU draws polygons and sprites into the frame buffer. It also displays areas of the frame buffer on the screen.1

The GTE is a coprocessor of the CPU. It calculates coordinate data and light source data.1

Frame Buffer

The GPU has 1 MB of video memory (VRAM).1

The frame buffer is 1024 x 512 pixels.2

The frame buffer is dual ported. The GPU can draw into it while the display reads from it.1

DMA can transfer data between the frame buffer and main memory.1

Display Area

The GPU displays a rectangular area of the frame buffer on the screen. Sony calls this area the display area.1

Screen Modes

The GPU supports the following screen modes:

Table 1: Window resolutions
Mode Standard resolution (NTSC) Remarks
0 256 x 240 Non-interlace
1 320 x 240 Non-interlace
2 512 x 240 Non-interlace
3 640 x 240 Non-interlace
4 256 x 480 Interlace
5 320 x 480 Interlace
6 512 x 480 Interlace
7 640 x 480 Interlace
8 384 x 240 Non-interlace
9 384 x 480 Interlace

Display Colors

The GPU has two display color modes: 15-bit direct and 24-bit direct.3

15-bit Direct Mode

15-bit direct mode displays up to 32,768 colors.3

The GPU computes color in 24 bits and dithers the result. The display comes close to 24-bit color.3

24-bit Direct Mode

24-bit direct mode displays up to 16,777,216 colors.3

The GPU cannot draw in this mode. Drawing assumes 16 bits per pixel.3

This mode displays image data that was transferred into the frame buffer.3

Frame buffer coordinates stay in 16-bit units. A 640 x 480 image in 24-bit mode occupies 960 x 480 in the frame buffer.3

Drawing Functions

The GPU has the following drawing functions:

Table 2: GPU drawing capabilities
Name Description
Sprite drawing 1 x 1 to 256 x 256 pixels. 4-bit CLUT (16 colors per sprite), 8-bit CLUT (256 colors per sprite) or 15-bit direct (32,768 colors per sprite).
Polygon drawing Flat shading. Gouraud shading. Texture mapping.
Line drawing Gradation.
Image transfer CPU to frame buffer. Frame buffer to CPU. Frame buffer to frame buffer.
Other Blending (translucency). Dithering. Clipping. Offset specification.

Drawing Coordinates

Drawing coordinates are signed 11-bit values. X and Y range from -1024 to 1023.2

The coordinate offset sets the drawing origin anywhere in the frame buffer.2

The GPU clips all drawing to the current drawing area.2

Sprite Drawing

The GPU draws sprites of up to 256 x 256 pixels. Width and height can each vary up to that size.2

Sprite image data sits in a non-display area of the frame buffer. It must be transferred there before the sprite drawing command runs.2

Texture Pages

A 256 x 256 pixel area of sprite patterns in the frame buffer is a texture page.4

The size of a texture page in the frame buffer depends on the texture mode.4

The TSB parameter of a drawing command gives the page number. The page number of a texture page at (tx, ty) is tpage = ty/16 + tx/64.4

The actual tpage value also holds the CLUT mode (4, 8 or 16 bits) and the semi-transparency rate.4

Sprite Pattern Color Modes

Sprites have three color modes: 4-bit CLUT, 8-bit CLUT and 15-bit direct.4

A CLUT (color lookup table) is a table of RGB values. Each pixel of a CLUT sprite is an index into it.4

A 4-bit CLUT has 16 entries and an 8-bit CLUT has 256 entries. Each entry has the same structure as a 15-bit pixel.4

Each sprite can have its own CLUT.4

The CBA parameter of a drawing command gives the left coordinate of the CLUT in the frame buffer.4

Polygon Drawing

The GPU draws triangles and rectangles from the screen coordinates of each vertex.5

With Gouraud shading each vertex has its own color. The GPU interpolates the colors across the polygon.5

Texture mapping applies a 2-dimensional image to a polygon. Texture patterns sit in non-display areas of the frame buffer and are handled like sprite patterns.5

Texture Cache

The texture cache (T-cache) is a high-speed buffer memory between the GPU and the frame buffer. It speeds up drawing.5

Each pixel of a texture is likely to be read more than once.5

The GPU reads a texture pixel from the T-cache when it is there. Otherwise it reads the frame buffer.5

The T-cache holds its data from polygon to polygon. Polygons drawn in a row are faster when their textures fit in the T-cache.5

The T-cache is 2K bytes.6

The T-cache size in pixels for each pixel mode:

Table 3: T-cache size
Pixel Mode Size (width x length)
4 bits/pixel 64 x 64 pixels
8 64 x 32
16 32 x 32

References


  1. ^ a b c d e f g Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-3.

  2. ^ a b c d e f Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-5, Figure 3-2.

  3. ^ a b c d e f g Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-4, Table 3-1.

  4. ^ a b c d e f g h i Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-6, Figure 3-4, Figure 3-5.

  5. ^ a b c d e f g Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-7.

  6. ^ Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-8, Table 3-2.

Categories: Hardware