The VIC (Video Interface Chip)
(see also VIC-II chip)
The VIC (Video Interface Chip), specifically known as the MOS Technology 6560 (NTSC version) / 6561 (PAL version), is the integrated circuit chip responsible for generating video graphics and sound in the Commodore VIC-20 home computer. It was originally designed for applications such as low cost CRT terminals, biomedical monitors, control system displays and arcade or home video game consoles.
The chip was designed by Al Charpentier in 1977 but Commodore could not find a market for the chip. In 1979 MOS Technology began work on a video chip named MOS Technology 6564 intended for the TOI computer and had also made some work on another chip, MOS 6562 intended for a color version of the Commodore PET. Both of these chips failed due to memory timing constraints (both required very fast and thus expensive SRAM, making them unsuitable for mass production). Before finally starting to use the VIC in the VIC-20, chip designer Robert Yannes fed features from the 6562 (a better sound generator) and 6564 (more colors) back to the 6560, so before beginning mass production for the VIC-20 it had been thoroughly revised.
Its features include:
- 16 KB address space for screen, character and color memory (only 5 KB points to RAM on the VIC-20 without a hardware modification)
- 16 colors (the upper 8 can only be used in the global background and auxiliary colors)
- two selectable character sizes (8×8 or 8×16 bits; the pixel width is 1 bit for "hires" characters and 2 bits for "multicolor" characters)
- maximum video resolution depends on the television system (176 × 184 is the standard for the VIC-20 firmware, although at least 224 × 256 is possible on the PAL machine)
- 4 channel sound system (3 square wave + "white" noise + global volume setting)
- on-chip DMA
- two 8-bit A/D converters
- light pen support
Programming
The VIC was programmed by manipulating its 16 control registers, memory mapped to the range $9000–$900F in the VIC-20 address space. The on-chip A/D converters were used for dual paddle position readings by the VIC-20, which also used the VIC's lightpen facility. The VIC, used by the VIC-20 computer, preceded the much more advanced VIC-II, used by the VIC-20's successors, the C64 and C128. The VIC-20 lacks any true graphic mode, but a 22×11 text mode with 200 definable characters of 8×16 bits each arranged as a matrix of 20×10 characters is usually used instead, giving a 2:1 aspect ratio, 160×160 pixels, 8-color "high-res mode" or a 4:1 aspect ratio, 80×160 pixels, 10-color "multicolor mode".
- In the multicolor mode, a single pixel of every 4×8 block (a character cell) may have any of four colors: the background color, the auxiliary color (both shared for the entire screen and selectable among the entire palette), the same color as the overscan border (also a shared color) or a free foreground color, both selectable among the first eight colors of the palette.
- In the high-res mode, every 8×8 pixels can have the background color (shared for the entire screen) or a free foreground color, both selectable among the first eight colors of the palette.
Colours
The VIC chip produces a 16-color YPbPr composite video palette:
Number — name | Y | Pb (rel.) | Pr (rel.) | Number — name | Y | Pb (rel.) | Pr (rel.) |
---|---|---|---|---|---|---|---|
0 — black | 0 | 0 | 0 | 8 — orange | 0.5 | -0.707 | 0.707 |
1 — white | 1 | 0 | 0 | 9 — light orange | 0.75 | -0.707 | 0.707 |
2 — red | 0.25 | -0.383 | 0.924 | 10 — light red | 0.5 | -0.383 | 0.924 |
3 — cyan | 0.75 | 0.383 | -0.924 | 11 — light cyan* | 1 | 0.383 | -0.924 |
4 — purple | 0.5 | 0.707 | 0.707 | 12 — light purple | 0.75 | 0.707 | 0.707 |
5 — green | 0.5 | -0.707 | -0.707 | 13 — light green | 0.75 | -0.707 | -0.707 |
6 — blue | 0.25 | 1 | 0 | 14 — light blue | 0.5 | 1 | 0 |
7 — yellow | 0.75 | -1 | 0 | 15 — light yellow* | 1 | -1 | 0 |
Note: the colors marked with an asterisk (*) are out of the RGB gamut.
The palette lacks any intermediate shade of gray, and it has only four levels of luminance above the zero (black).
As with the later VIC-II chip, the Pb and Pr coordinates for the YPbPr composite video colors are always the cosine and the sine, respectively, of angles multiple of 22.5 degrees (i.e. a quarter of 90°), as the engineerers were inspired by the NTSC colour wheel, a radial way to figure out the Pb and Pr coordinates of points equidistant from the center of the chroma plane, the gray.
List of VIC versions
The Different VIC chips are as follows:-
- MOS Technology 6560 NTSC
- MOS Technology 6561E PAL Ceramic version, used in early VIC-20's
- MOS Technology 6561-101 PAL
Succeeding MOS's original VIC (used in the VIC-20), the VIC-II was one of the two chips mainly responsible for the C64's success as the best-selling computer model of all time (the other chip being the 6581 SID).