Figure 3.2 VDP1 system configuration
No | Item | specification | remarks |
1 | Texture parts display | ・Standard sprite | Flip vertically and horizontally for all sprites |
2 | non-texture | ・Rectangular polygon | If two adjacent vertices have the same coordinates, |
3 | color calculation | ・Semi-transparent between parts | Gouraud shading and translucency |
4 | Drawing method | ・Double frame buffer method | |
5 | Number of simultaneous colors | ・16,64,128,256,32768 colors | 16,64,128,256 colors at high resolution |
6 | Memory capacity | ・VRAM 4Mbit |
Classification | Part name | function | Definition method | |
parts | texture parts | shaped sprite | charactor, | 1 vertex read direction |
Scaling sprite | charactor, | 2 vertices readout direction or immobile | ||
deformed sprite | charactor, | 4 vertices readout direction | ||
Non-texture parts | polygon | square, | 4 vertices | |
polyline | square | 4 vertices | ||
line | straight line | start and end points |
Figure 3.3 Regular sprite
Figure 3.4 Scaling sprite
▲
◆Non-texture parts
Figure 3.6 Polygon, polyline, line
▲
●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.
Figure 3.7 Configuration of color bank method
MSB LSB
┌──┬──┬──────────┬──────────────┐
│ │ │Color bank│ Palette code │
└──┴──┴──────────┴──────────────┘
│ │
│ └─→Priority
↓
color calculation
▲
●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.
kinds | Contents |
half brightness | Draws the original image with half the brightness to the frame buffer. On the base |
Translucent | Add the background brightness halved and the original image brightness halved, |
shadow | Redraw the background with half the brightness to the frame buffer. this |
gouraud shading | Draw the original image with Gouraud shading to the frame buffer. |
gouraud shading | Gouraud shading was applied to the original picture, but the brightness was further reduced to half, |
gouraud shading | I applied Gouraud shading to the original picture, but further reduced the brightness to half, |
◆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
Figure 3.10 System clipping
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.
double dense interlace | Display separate images on odd and even lines |
Single dense interlace | Display the same image on odd and even lines |