HARDWARE ManualSega Saturn Overview Manual
BackForward

■ 3.3 VDP1

VDP1 controls the sprite. It draws much faster than traditional systems and removes the horizontal sprite limit, allowing you to see more sprites (characters). Also, as an application of sprites, polygons can be displayed.

● System configuration
VRAM and a two-sided frame buffer are connected to VDP1 (Fig. 3.2). VRAM drawing commands are set from the CPU via the SCU.
VDP1 reads the drawing command from VRAM and writes (draws) the drawing data to the frame buffer. The information that controls drawing is set in the internal system register of VDP1. The drawn frame buffer data is displayed on the TV via VDP2, which controls the image display.

Figure 3.2 VDP1 system configuration

The system specifications for VDP1 are shown in Table 3.3.

Table 3.3 VDP1 system specifications
 No
 Item
 specification
 remarks
 1
 Texture parts display
・ Standard sprites (normal sprites, horizontal 8 to 504 dots, vertical 1 to 255 dots)
・ Scale sprite (Any size can be specified in 1 dot units vertically and horizontally)
・ Transformed sprite (4 vertices can be freely specified)
 All sprites can be flipped vertically and horizontally


 2
 Non-texture parts display
・ Rectangle polygon ・ Polyline ・ Line
 Triangular polygons and polylines are possible if two adjacent vertices have the same coordinates.
 3
 Color calculation
・ Semi-transparent parts, semi-brightness, shadow, mesh, Gouraud shading
 Gouraud shading and translucent or semi-brightness can be combined

 Four
 Drawing method
 -Double frame buffer method (The entire frame buffer plane can be enlarged, reduced, rotated, and transformed.
Frame buffer erase range and erase data can be specified.
Write local coordinates can be set.
Clipping of rectangular area can be specified. )
 Five
 Number of simultaneous colors
・ 16,64,128,256,32768 colors
 16,64,128,256 colors at high resolution
 6
 Memory capacity
・ VRAM 4Mbit
(For character genes and various tables)
-Frame buffer 2Mbit x 2 sides (both sides can be used as bitmaps. One side is displayed)

● Function
The main functions of VDP1 are as follows.

The parts, color modes, and coordinates are controlled by the command table in VRAM, and the frame buffer display is controlled by the system registers.

<Parts>
The parts drawn by VDP1 can be divided into textured parts and non-textured parts depending on whether or not there is an original picture. The parts classification is shown in Table 3.4.

Table 3.4 Classification of parts
 Classification
 Part name
 function
 Definite law
 parts
 Texture parts
 Fixed sprite
 charactor,
Up / down, left / right inversion
 Read direction of 1 vertex
 Scale sprite
 charactor,
Up / down, left / right inversion,
Can be enlarged / reduced and expanded / contracted
 Read direction of 2 vertices, or fixed point, width and read direction
 Deformed sprite
 charactor,
Up / down, left / right inversion,
Enlargement / reduction, expansion / contraction,
Can be rotated and twisted
 4 Vertex read directions
 Non-textured parts
 polygon
 Rectangle,
Fill the inside
 4 vertices
 Polyline
 Rectangle
 4 vertices
 line
 Straight line
 Start and end points

◆ Texture parts
Sprites draw character patterns. Character patterns define pixel data as a character pattern table in VRAM.


◆ Non-texture parts


● Color mode specification There are color bank method, RGB code method, and color lookup method for color mode specification of texture parts. The color specification for non-textured parts has pixel data.

◆ Color bank method

Figure 3.7 Color bank system configuration


MSB LSB
┌──┬──┬──────┬───────────┐
│ │ │ Color bank │ Palette code │
└──┴──┴──────┴───────────┘
│ │ 
│ └─ → Priority 
↓ 
Color calculation 

◆ RGB code generation
Color is expressed by 5 bits of RGB (red, green, blue) brightness. 32,768 colors can be expressed in one character.
◆ Color look-up table
Define 16 colors in the color lookup table and select a color from them. One color is 16 bits and can be either RGB code or color bank code.


● Color calculation With VDP1, you can specify Gouraud shading, shadow, semi-brightness, and semi-transparent color calculation.
Table 3.5 shows the types of color operations.

Table 3.5 Types of color operations
 kinds
 Contents
 Half brightness
 The brightness of the original picture is halved and drawn in the frame buffer. Since the background is overwritten, the background cannot be seen and the brightness of the original picture is halved.
 Translucent
 Add the one with the background brightness halved and the one with the original picture halved,
Draw the result in the framebuffer.
 Shadow
 The background brightness is halved and redrawn in the frame buffer. In this case, a shadow in the shape of the character in the original picture is created. Also, the characters in the original picture are used only for the shadow shape, and the color data is ignored.
 Gouraud shading
 The original picture with Gouraud shading applied is drawn in the frame buffer.
 Gouraud shading translucent
 Gouraud shading is applied to the original picture, but the brightness is further reduced by half.
Add the background brightness halved. Draw the result in the framebuffer.
 Gouraud shading half brightness
 Gouraud shading is applied to the original picture, but the brightness is further reduced by half.
Draws in the framebuffer.

◆ Gouraud shading Gouraud shading can be applied only to parts drawn in RGB. Gouraud shading is a method of interpolating colors between the vertices of polygons to make a plane look like a curved surface.
Brightness correction values are given to each of the four vertices of the polygon, and Gouraud shading is applied between those four vertices to make it look like a curved surface. Gouraud shading can be applied not only to polygons but also to polylines and lines. Figure 3.8 shows an example of Gouraud shading.

Figure 3.8 Example of Gouraud shading


● Mesh processing All parts can be meshed. When you apply the mesh, the parts are drawn in a grid pattern every other dot.
If "X coordinate value + Y coordinate value" is even, it will be drawn, and if it is odd, it will not be drawn and will be skipped. (Fig. 3.9)

Figure 3.9 Example of mesh processing


● Clipping Clipping is to cut (clip) the area other than the set display area so that it will not be drawn. Clipping includes system clipping, which sets the system drawing area, and user clipping, which can be set freely by software.
◆ System clipping
System clipping is always enabled when drawing, and the inside of the set area is drawn.
The setting is fixed at the upper left coordinate (0,0) of the screen, and can be set by specifying the lower right coordinate. (Fig. 3.10)

Figure 3.10 System clipping

◆ User clipping
User clipping can be selected by software, and user clipping can be enabled for each part, or the effective area for user clipping can be selected outside or inside the setting area.
The user clipping area can be set by specifying each vertex of the upper left coordinate and the lower right coordinate. (Fig. 3.11).

Figure 3.11 User Clipping


● Frame buffer The frame buffer is divided into two sides, a display frame buffer and a drawing frame buffer.
Read / write access from the SCU to the framebuffer is only to the drawing framebuffer. The display frame buffer is a back bank and cannot be accessed.
Also, by reading the framebuffer, the entire framebuffer plane can be enlarged, reduced, and rotated by giving displacements in the X and Y directions that specify where the read start coordinates and the next read dot should be. ..


● Display method For display, a TV, which is a general display device, is used. The domestic and American TV standards are NTSC. Europe is PAL system.
TV display is performed by reading data from the beginning of the frame buffer every frame (1 frame is 1/60 second).
Normally, one frame is one field, but you can make one frame into two fields by interlacing and double the vertical resolution (1 frame is 1/30 second). Interlaces include double-dense interlaces and single-dense interlaces, as shown in Table 3.6 (Table 3.6).

Table 3.6 Interlace
 Dense interlace
 Display different images with odd and even lines
 Monodense interlacing
 Display the same image on odd and even lines


BackForward
HARDWARE ManualSega Saturn Overview Manual
Copyright SEGA ENTERPRISES, LTD., 1997