VDP1 32-bit video display processor
Encyclopedia : V : VD : VDP : VDP1 32-bit video display processor
The Sega Saturn is equipped with dual custom VDP chips for graphics processing. The VDP1 chip is primarily responsible for sprite generation. Polygon generation is accomplished through manipulation of the sprite engine. Texture mapping and Gouraud shading is also handled by the VDP1.
The VDP1 renders primitives to two 256 kB framebuffers that can be configured as 512x512x8 or 512x256x16 (Virtua Fighter 2 was the first game to use high resolution, at 60 frame/s on Consoles). Having two framebuffers allows double buffering of the display and provides more time for rendering. The active framebuffer is read out to the display by the VDP2, which can apply data from a coefficient table to modify the scanning process, for effects like rotation, scaling, and general distortion of the entire framebuffer as a single entity.
The SCU (system bus control unit) provides DMA across a dedicated bus that the VDP2 and VDP1 are connected to, allowing transfer of data from them to and from main memory.
- Rendering engine for primitives: textured and untextured polygons, untextured polylines and lines
- "Sprites" are textured polygons with specific rendering modes:
- Normal sprite (one point), shrunk/scaled sprite (two points), quadrangle (four points)
- Other rendering modes:
- Overwrite (replace framebuffer contents)
- Shadow (underlying framebuffer pixels rewritten with 1/2 brightness, primitive not drawn)
- Half luminosity (primitive rendered with 1/2 brightness)
- Half transparency (primitive and underlying framebuffer pixels averaged together)
- Gouraud shading for RGB-format textures only
- Dual 256KB frame buffers
- Programmable frame buffer depth of 8 or 16 bits per pixel
- Automatic erase feature to clear framebuffer with single color
- 200,000 texture-mapped polygons per second
- 500,000 flat-shaded polygons per second
- 60 frames of animation per second
PS1 GPU
- The GPU has a 2 kB texture cache.
- The GPU has a unified 1 MB block of memory for the texture data and framebuffers. This allows for complex effects where the framebuffer is in turn applied as a texture again.
- The framebuffer portion of the GPU RAM must be manually erased.
- Commands are sent to the GPU via DMA, buffered in a FIFO, and executed in the order of being sent.
- The VDP1 has no texture cache.
- VDP1 memory is split: 512 kB for texture data / command lists, 256 kB for one framebuffer and 256 kB for another.
- The two framebuffer RAMs have a high-speed auto-erase feature.
- Commands are stored in a linked list in RAM, multiple lists can be stored, the list can be processed by the VDP1 without wasting a DMA channel.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
