Japanese
HARDWARE ManualSEGA Saturn Overview Manual
BackForward

■3.3 VDP1

VDP1 controls sprites. Drawing is much faster than previous systems, and there is no limit to the number of sprites in the horizontal direction, so more sprites (characters) can be displayed. You can also display polygons as an application of sprites.

●System configuration
VRAM and two frame buffers are connected to VDP1 (Figure 3.2). VRAM drawing commands are set from the CPU via the SCU.
VDP1 reads drawing commands from VRAM and writes drawing data to the frame buffer (draws). Information that controls drawing is set in the VDP1's internal system registers. The drawn frame buffer data is displayed on the TV via VDP2, which controls image display.

Figure 3.2 VDP1 system configuration

Table 3.3 shows the VDP1 system specifications.

Table 3.3 VDP1 system specifications
 No
 Item
 specification
 remarks
 1
 Texture parts display
・Standard sprite
(Normal sprite, horizontal 8-504 dots, vertical 1-255 dots)
・ Scaling sprite
(You can specify any size in units of 1 dot vertically and horizontally)
・ deformed sprite
(Free coordinates of 4 vertices can be specified)
 Flip vertically and horizontally for all sprites
Can



 2
 non-texture
Parts display
・Rectangular polygon
・ polyline
・ line
 If two adjacent vertices have the same coordinates,
Triangular polygons and polylines
Possible
 3
 color calculation
・Semi-transparent between parts
・ half brightness
・ shadow
・ mesh
・ gouraud shading
 Gouraud shading and translucency
Or can be combined with half brightness


 4
 Drawing method
・Double frame buffer method
(Enlarge, reduce, rotate, or change the entire frame buffer plane.
shape is possible.
Frame buffer erase range and erase data can be specified.
Writing local coordinates can be set.
Clipping of rectangular areas can be specified. )
 5
 Number of simultaneous colors
・16,64,128,256,32768 colors
 16,64,128,256 colors at high resolution
 6
 Memory capacity
・VRAM 4Mbit
(Character generation, for various tables)
・ Frame buffer 2Mbit x 2 sides
(Both sides can be used as bitmaps. Only one side is displayed.)

●Function
The main features of VDP1 are listed below.

Parts, color modes, and coordinates are controlled by command tables in VRAM, and frame buffer display is controlled by system registers.

parts
The parts drawn by VDP1 are divided into texture parts and non-texture parts, depending on the presence or absence of the original image. Table 3.4 shows the classification of parts.

Table 3.4 Classification of parts
 Classification
 Part name
 function
 Definition method
 parts
 texture parts
 shaped sprite
 charactor,
Flip vertically and horizontally
 1 vertex read direction
 Scaling sprite
 charactor,
Up/down, left/right flip,
Can be scaled and expanded
 2 vertices readout direction or immobile
Point, width and readout direction
 deformed sprite
 charactor,
Up/down, left/right flip,
Scaling, stretching,
Can be rotated and twisted
 4 vertices readout direction
 Non-texture parts
 polygon
 square,
Fill in the inside
 4 vertices
 polyline
 square
 4 vertices
 line
 straight line
 start and end points

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


◆Non-texture parts


●Color mode specification
There are three ways to specify the color mode of texture parts: color bank method, RGB code method, or color lookup method. Color specifications for non-texture parts include pixel data.

◆Color bank method

Figure 3.7 Configuration of color bank method


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

◆RGB code generation
Colors are expressed using 5 bits of brightness for each RGB (red, green, blue). 32,768 colors can be expressed within one character.
◆Color lookup table
Define 16 colors in the color lookup table and select a color from among them. One color is 16 bits and can be either an RGB code or a color bank code.


●Color calculation
VDP1 allows you to specify Gouraud shading, shadow, semi-brightness, and translucent color operations.
Table 3.5 shows the types of color operations.

Table 3.5 Types of color operations
 kinds
 Contents
 half brightness
 Draws the original image with half the brightness to the frame buffer. On the base
Since it is overwritten, the background will not be visible and the brightness of the original image will be halved.
 Translucent
 Add the background brightness halved and the original image brightness halved,
Draw the result to the framebuffer.
 shadow
 Redraw the background with half the brightness to the frame buffer. this
In this case, a shadow will be created in the shape of the character in the original picture. Also, the characters in the original picture are shadows.
Only used for the shape, color data is ignored.
 gouraud shading
 Draw the original image with Gouraud shading to the frame buffer.
To do.
 gouraud shading
Translucent
 Gouraud shading was applied to the original picture, but the brightness was further reduced to half,
The brightness of the background is halved and added. the result in the frame buffer
Draw on.
 gouraud shading
half brightness
 I applied Gouraud shading to the original picture, but further reduced the brightness to half,
Draw to the framebuffer.

◆Gouraud shading
Gouraud shading can only be applied to parts drawn in RGB. Gouraud shading is a method that interpolates colors between polygon vertices to make a plane look like a curved surface.
A brightness correction value is given to each of the four vertices of the polygon, and Gouraud shading is applied between these four vertices to make it look like a curved surface. In addition to polygons, you can also apply Gouraud shading to polylines and lines. Figure 3.8 shows an example of Gouraud shading.

Figure 3.8 Example of Gouraud shading


●Mesh processing
You can apply a mesh to all parts. When you apply a mesh, the part is drawn in a grid pattern every other dot.
If the "X coordinate value + Y coordinate value" is an even number, it will be drawn, and if it is an odd number, it will not be drawn and will be skipped. (Figure 3.9)

Figure 3.9 Example of mesh processing


●Clipping
Clipping means cutting out (clipping) so that it does not draw in areas other than the set display area. There are two types of clipping: system clipping, which sets the system drawing area, and user clipping, which can be set freely using software.
◆System clipping
System clipping is always enabled when drawing, and the area inside the set area is drawn.
The settings are fixed at the top left coordinates (0,0) of the screen, and can be set by specifying the bottom right coordinates. (Figure 3.10)

Figure 3.10 System clipping

◆User clipping
User clipping can be selected in the software, and you can enable user clipping for each part or select the effective area for user clipping to be outside or inside the set area.
The user clipping area can be set by specifying each vertex of the upper left coordinate and lower right coordinate. (Figure 3.11).

Figure 3.11 User clipping


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


●Display method
For display, a TV, which is a common display device, is used. The TV standard in Japan and America is NTSC. Europe uses PAL system.
TV display is performed by reading data from the beginning of the frame buffer every frame (one frame is 1/60 seconds).
Normally, one frame is one field, but with interlacing, one frame can be made into two fields, and the vertical resolution can be doubled (one frame is 1/30 second). There are two types of interlace: double-dense interlace and single-dense interlace, as shown in Table 3.6.

Table 3.6 Interlace
 double dense interlace
 Display separate images on odd and even lines
 Single dense interlace
 Display the same image on odd and even lines


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