- List of home computers by video hardware
This is a list of
home computers, sorted alphanumerically, which lists all relevant details of their Video Hardware.
A home computer was the description of the second generation of
desktop computers, entering the market in 1977 and becoming common during the 1980s. A decade later they were generally replaced by what are now called PCs, although in actuality home computers are also members of the class known as personal computers.
Examples of typical early home computers are the
BBC Microthe ZX Spectrum, the MSX 1, the Amstrad CPC 464and the Commodore 64.Examples of typical late home computers are MSX 2 systems, and the Amigaand Atari STsystems.
Note: in cases of manufacturers who have made both home and
personal computers, only machines fitting into the home computer category are listed. These systems, except for Early Macintosh personal computers, are generally all based on the VGAstandard, and use a video chip known as as a Graphics processing unit. Although very early PCs used one of the much simpler (even compared to most home computer video hardware) video display controller cards, using standards such as the MDA, Hercules Graphics Card, CGA and EGA standard). Only after the introduction of the VGA standard could PCs really compete with the home computers of the same era, such as the Amiga and Atari ST, or even the MSX-2.
The importance of having capable video hardware
Early home computers all had quite similar hardware, they used either the 6502 the
Z80or sometimes the 6809 microprocessor, they could have only as little as 16 KB of RAM or as much as 128K, and they could use a small 8K BASICinterpreter, or an extended 12K BASIC. So the basic systems were quite similar, except for one part of the system, the video display hardware. Some systems proved to be much more successful than others, and if you look closely you will see that the most successful systems had the most capable video hardware. The reason for that is that the success of the home computer was mostly determined by the kind of games you could play on it.
If you wanted to run a nice video game on a home computer, all the other specifications of the system, such as the CPU, the kind of BASIC, even to a degree how much memory the system had (if at least 32K or more) did not matter so much. What mattered most was what kind of picture could be put on the screen, and how easy or hard it was for a programmer to get enough capabilities out of the video hardware to create the effects necessary for his game (for example animations).
Case in point is the
Commodore 64. It used the (arguably) weakest of the three above mentioned microprocessors, and its BASIC was abysmal (it was the BASIC that was developed for the Commodore PET, (a computer without any high resolution graphics capabilities at all). None of this mattered because it had the VIC-IIchip. The graphic capabilities of this chip, with its ease of use, (for a machine languageprogrammer) made it possible to develop games for it that surpassed everything that other systems of the time had. Of course, its comparatively large memory and the audio capabilities of the C64, (that were second to none at the time) were also needed to create great games, but that is material for other lists.
Video Arbitration Logic
One major problem that early computer video hardware had to overcome was the "Video bus arbitration" problem. The problem was to give the video hardware (VDU) continuous read access to the video RAM, while at the same time the CPU also had to access the same RAM. The obvious solution, using interleaving time slots for the VDU and RAM was hard to implement because the logic circuits, and video memory chips of the time did not have the switching speed they have now. For higher resolutions the logic and the memory chips were barely fast enough to support reading the display data, let alone for dedicating half the available time for the slow 8-bit CPU. That said, there was one system, the
Apple II, that was one of the first to use a feature of the data-bus logic of the 6502 processor to implement a very early interleaving time slot mechanism to eliminate this problem.
Most other systems used a much simpler approach, and the
TRS-80simply did not have any bus arbitration at all! The CPU had access to the video memory at all times. Writing to the video RAM simply disabled the video display logic. The result was that the screen often displayed "snow", (white stripes) when there was heavy access to the video ram.
Most systems avoided the problem by having a status register that the CPU could read, and which showed when the CPU could safely write to the video memory. That was possible because a
composite videosignal blanks the video output signal during the "blanking periods" of the horizontal and especially the long vertical video syncpulses. So by simply waiting for the next blanking period the snow could be avoided. This approach did have one disadvantage, it relied on the software not to write to the screen during the non-blanking periods. If the software ignored the status register the "snow" would re-appear. Another approach was to temporarily stop the CPU using the "HALT" ( Z80) "WAIT" (6809) or "SYNC" (6502) control signal whenever the CPU tried to write to the screen during a non-blanking period. Other solutions were to add a hardware FIFOso that the CPU could write to the FIFO instead of directly to the RAM chip, during a blanking interval special logic circuitry then updated the video RAM with the information from the FIFO. Some later systems started using special "two port" video memory, called VRAM, that had independent data input and output pins.
The main classes of video hardware
There are two main categories of solutions for a home computer to generate a video signal.
* a custom design, either build from
discrete logicchips, or with some form of programmable logic.
* a system using some form of
Video Display Controller(VDC), a chip that contained most of the logic circuitry needed to generate the video signal.
Systems in the first category were the most flexible, and could offer a wide ranges of (sometimes unique) capabilities, but generally speaking the second category could offer a much more complex system for a comparable lower price.
Note that for completeness I have also added systems that did not really have "Video" hardware in the conventional sense, but used
7-segment displays as a visual output device.
The VDC based systems can be divided into four sub-categories.
# Simple video shift register based solutions, have a simple "video shifter chip", and the main CPU doing most of the complex stuff. Only one example of such a chip for a home computer exists , the
RCA CDP1861used in the COSMAC VIP. It could only create a very low resolution monochrome graphic screen. The chip in the Sinclair ZX-81also is a video shifter, but is not a dedicated chip but a programmable chip, an ULA. The CDP1861 however was specially designed for this task only. Dedicated Video shifter chips did have some use in very early game systems, most notable the Television Interface Adapterchip in the Atari 2600. Note that although one of the chips in an Atari STis also called a "video shift register" it does not fall into this class, mainly because the IC's in this class depend on the main CPU to feed them with picture data. They do nothing more than generate the sync signals and convert parallel data into a serial video data stream. The Atari ST's chip used a DMA system to read out video data independent of the main CPU, and contained a palette RAM, and resolution/color mode switching logic.
# CRTC (Cathode Ray Tube Controller) based solutions. A CRTC is a chip that generates most of the basic timing and control signals. It must be complemented with some "Video RAM" and some other logic for the "arbitration", so that the CPU and the CRTC chip can share access to this RAM. To complete the design, a CRTC chip also needs some other support logic. For example a ROM containing the
bitmap fontfor text modes, and logic to convert the output from the system into a video signal.
# Video interface controllers were a step up on the ladder, these were true
VLSIchips that integrated all of the logic that was in a typical CRTC based system, plus a lot more, into a single chip. The VIC-IIchip is probably the best known chip of this category.
# Video co-processor chips are Video interface controllers that can manipulate, and/or interprete and display, the contents of their own dedicated Video RAM without intervention from the main CPU.
Explanation of the terms used in the tables
*System Name, the name of the system, or if there are many similar versions, the name of the most well known variant, see Notes.
*Video RAM the maximum amount of RAM used for the video display, depending on the resolution used the system may use less.
Text mode(s) The numbers of characters per line and lines of text the system supported. Sometimes more than one mode was possible
*text colors The number of colors the characters could have. If more than one text mode is supported the "text colors" column also lists the same numbers in the same order.
*Lower case Some systems could only display
upper casecharacters in text mode because of their limited character set, If a system was able to also support lower case letters in a text mode, (in any highres mode it is of course always possible), then there is a "Yes" in this column.
*Graphics modes The number of horizontal and Vertical pixels the system could display in a
High resolutionmode, where several high resolution modes exist each one is listed separately.
*Graphics colors The number of colors each pixel could have in High resolution mode, If more than one high resolution mode is supported the graphics color mode also lists the same numbers in the same order.
*Palette Support If the system could translate a "logical color" into a (larger number) or true colors using a palette mechanism then this column lists the number of logical colors the palette could accept, and the number of colors it could translate to.
*# Sprites The total number of hardware sprites the system could support, in hardware (not counting re-use of the same hardware sprite).
*Sprite sizes the size, in screen pixels, a Sprite could be displayed in by the hardware, as a matrix of horizontal by vertical pixels. If more than one mode could be selected they are all listed.
*Sprite colors The total number of colors that could be used to define the sprite (transparent NOT included). If more than one sprite size mode is available each one is listed in the same order.
*Sprites per scan-line Hardware spites use a kind of
Z-bufferto determine which sprite is "on top". This limits the number of sprites that can be displayed on each scan-line. This number tells how many sprites could be displayed on a scan-line before one of them became invisible because of hardware limitations.
*Unique features If the video display has unique features (or limitations) that could not be expressed in the table they will be listed here, as notes.
"a "-" in a table cell means that the answer is irrelevant, unknown or in another way has no meaning, for example the sprite size of a system that does not support hardware sprites."
The list of homecomputers, and their video capabilities
ystems using Discrete Logic
ystems using a CRTC
ystems that could not be classified
If you know more about the actual hardware used by these systems, then please move them to the correct class.
List of home computers
List of home computers by category
List of early microcomputers
List of palettes- List of computer hardware palettes section
Video Display Controller
Graphics processing unit
* [http://oldcomputers.net/index.html Obsolete technology website] — Information about many old computers.
* [http://old-computers.com/ old-computers.com] — Web Site dedicated to old computers.
Wikimedia Foundation. 2010.