- Video Display Controller
A Video Display Controller or VDC is an
integrated circuit which is the main component in avideo signal generator , a device responsible for the production of a TV video signal in a computing or game system. Some VDCs also generate a sound signal, but in that case it's not their main function.VDCs were most often used in the old home-computers of the 80s, but also in some early
video game systems.The VDC is always the main component of the video signal generator logic, but sometimes there are also other supporting chips used, such as
RAM to hold thepixel data, ROM to hold character fonts, or perhaps somediscrete logic such asshift register s were necessary to build a complete system. In any case, it's the VDC's responsibility to generate the timing of the necessary video signals, such as the horizontal and vertical synchronisation signals, and the blanking interval signal.Most often the VDC chip is completely integrated in the logic of the main computer system, (its
video RAM appears in thememory map of the main CPU), but sometimes it functions as acoprocessor that can manipulate the video RAM contents independently from the main CPU.Video Display Controllers vs. Video Display Processors and Graphics processing units
The difference between a VDC and the more modern Video Display Processor (VDP) is not that the VDCs could not generate graphics, but they did not have the special hardware accelerators to create 2D and 3D images, while a typical 1990s VDP does have at least some form of hardware graphics acceleration. Also VDCs often had special hardware for the creation of "sprites", a function that in more modern VDP chips is done with the "Bit Blitter" using the "
Bit blit " function.One example of a typical Video Display Processor is the "
VDP2 32-bit background and scroll plane video display processor " of theSega Saturn .Another example is theAdvanced Graphics Architecture (AGA) chip that was used for the improved graphics of the later generationAmiga computers.This said, it is not completely clear when a "Video chip" is a "Video Display Controller" and when it is a "Video Display Processor". For example, the TMS9918 is sometimes called a "Video Display Controller" and sometimes a "Video Display Processor". In general however a "Video Display Processor" has some power to "Process" the contents of the Video RAM (filling an area of RAM for example), while a "Video Display Controller" only controls the timing of the Video synchronisation signals and the access to the Video RAM.
The
Graphics processing unit (GPU) goes one step further than the VDP and normally also supports 3D functionality. It is the chip that is now used in modern personal computers.Types of Video Display Controllers
Video Display controllers can be (arbitrarily) divided in several different types (here listed from simple to complex);
*Video shifters, or "Video shift register based systems" (there is no generally agreed upon name for these type of devices) are the most simple type of video controllers; they are, (directly or indirectly) responsible for the video timing signals, but they normally do not access the Video RAM directly. They get the video data from the main CPU, a byte at a time, and convert it to a serial bitstream (hence the technical name "Video shifter"). This serial data stream is then used, together with the synchronisation signals, to output a (colour) video signal. The main CPU needs to do the bulk of the work. Normally these chips only support a very low resolution
Raster graphics mode.* A CRTC, or CRT Controller, generates the video timings and reads video data from a RAM attached to the CRTC, to output it via an external character generator ROM, (for
text mode s) or directly, (for high resolution graphics modes) to the video output shift register. Because the actual capabilities of the video generator depend to a large degree on the external logic, video generator based on a CRTC chip can have a wide range of capabilities. From very simple (text mode only) systems to very high resolution systems supporting a wide range of colours. Sprites however are normally not supported by these systems.*Video interface controllers are much more complex than CRT controllers, and the external circuitry that is needed with a CRTC is embedded in the video controller chip. Sprites are often supported, as are (RAM based) character generators and video RAM dedicated to colour attributes and pallette registers (Color lookup tables) for the high-resolution and/or text-modes.
*Video coprocessors have their own internal CPU dedicated to reading (and writing) their own video RAM, and converting the contents of this video RAM to a video signal. The main CPU can give commands to the coprocessor, for example to change the video modes or to manipulate the video ram contents. The video coprocessor also controls the (most often RAM based) character generator, the colour attribute RAM, Palette registers and the Spite logic (as long as these exist of course).
List of example VDCs
Examples of Video Display Controllers are:
Video shifters
* TheRCA CDP1861 was a very simple chip, built in (CMOS technology, which was unusual for the time (mid '70's)) to complement theRCA 1802 microprocessor, it was mainly used in theCOSMAC VIP . It could only support a very low resolution monochrome graphic mode.
* The "Television Interface Adapter (TIA) is the custom video chip that is the heart of theAtari 2600 games console, a very primitive chip that relied on the 6502 microprocessor to do most of the work, also was used to generate the audio.CRT Controllers
* TheIntel 8275 CRT controller was not used in any mainstream system, but was used in someS100 bus systems.
* TheMotorola 6845 is a video address generator first introduced byMotorola and used for theAmstrad CPC , theBBC Micro . It was later used for all the video adapters for the PC such as the MDA, CGA and EGA adapters. In all later VGA compatible adapters the function of the 6845 is reproduced inside the Video Chip.Video Interface Controllers
* TheSignetics 2636 and 2637 are video controllers best known for their use in the Interton VC 4000 and Emerson Arcadia 2001 respectively.
* TheMC6847 is a video display generator (VDG) first introduced by Motorola and used in theTRS-80 Color Computer ,Dragon 32/64 ,Laser 200 andAcorn Atom among others.
* The MOS Technology 6560 (NTSC) and 6561 (PAL) are known as the Video Interface Controller (VIC) and used in theCommodore VIC-20 .
* The MOS Technology 6567/8562/8564 (NTSC versions) and 6569/8565/8566 (PAL) were known as the VIC-II and were used in theCommodore 64 .
* TheMOS Technology 8563 /8568 was used in theCommodore 128 to create the 80 column text mode, together with the normalVIC-II chip for the C64 compatible video modes.
* The MOS Technology 7360 Text Editing Device (TED) was used in theCommodore Plus/4 ,Commodore 16 andCommodore 116 computers and had an integrated audio capability.Video Coprocessors
*TheANTIC ("Alpha-Numeric Television Interface Circuit") was an early video system chip used in theAtari 8-bit family ofmicrocomputer s. It could read a "Display list " with its own built in CPU and use this data to generate a complex video signal.
* ThePicture Processing Unit was a video co-processor designed byRicoh forNintendo 's use in the Famicom andNintendo Entertainment System . It contained 2K (2×210byte s) of dedicated video RAM, and had a dedicated address bus that allowed additional RAM or ROM to be accessed from the game cartridge. A scrollable playfield of 256×240 pixels was supported, along with 64 OBJs (sprites), of which 8 could be displayed per scanline.
* TheTMS9918 is known as the Video Display Processor (VDP) and was first designed for theTexas Instruments TI-99/4 , but was later also used in systems like theMSX (MSX-1),ColecoVision , Memotech MTX series, and for theSega SG-1000 andSC-3000 .
* TheYamaha V9938 is an improved version of the TMS9918, and was mainly used in theMSX 2.
* TheYamaha V9958 is the Video Display Processor (VDP) mainly used in the MSX 2+ and MSX turbo R computers.Alternatives to using a VDC chip
Note that many older home-computer did not use a VDP-chip, but built the whole video display controller from a lot of discrete logic chips, (examples are the
Apple II , PET, andTRS-80 ). Because these methods are very flexible the video display generators could be very capable, (or extremely primitive, depending of the quality of the design) but also needed a lot of components.Others used some form of early programmable logic arrays, (examples are the
ZX Spectrum and ZX-81 systems). These systems could build a very capable system with relatively few components, but the low transistor count of early programmable logic meant that the capabilities of these systems often were less impressive than those using video interface controllers or video coprocessors.Later solutions
With
Moore's law working, integrated circuits became more and more complex. The simple Video Display Controllers were slowly replaced by chips that had built-in video processing logic such asBlitter s and other logic to manipulate the video RAM contents to do things like drawing lines, filling areas, or drawing fonts. Later chips also got special hardware to draw triangles to support 3D images, gained hardware Z-buffers and many other methods to accelerate the drawing of 3D pictures. Current Video generator chips almost always are "Graphics processing units " (GPU's) Entry-level PCs today commonly have the video display integrated into the motherboard chipset, which "steals" some system RAM for the display. The performance of such a system is not as good as one with dedicated video hardware.ee also
*
List of home computers by video hardware
*List of palettes
*Graphics processing unit
Wikimedia Foundation. 2010.