Engineering:List of home computers by video hardware

From HandWiki
Short description: none

This is a list of home computers, sorted alphanumerically, which lists all relevant details of their video hardware.

Home computers are 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 IBM PC compatible "PCs", although technically home computers are also classified as personal computers.

Examples of typical early home computers are the TRS-80, Atari 400/800, BBC Micro, the ZX Spectrum, the MSX 1, the Amstrad CPC 464 and the Commodore 64. Examples of typical late home computers are MSX 2 systems, and the Amiga and Atari ST systems.

Note: in cases of manufacturers who have made both home and personal computers, only machines fitting into the home computer category are listed. Systems in the personal computer category, except for Early Macintosh PCs, are generally based on the VGA standard and use a video chip known as a Graphics Processing Unit. Very early PCs used one of the much simpler (even compared to most home computer video hardware) video display controller cards, using parts like the MDA, the Hercules Graphics Card, the CGA and the 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 with the MSX-2. Also, not listed are systems that are typically only gaming systems, like the Atari 2600 and the Bally Astrocade, even though these systems could sometimes be upgraded to resemble a home computer.

The Amstrad CPC 464 was a typical home computer of the 1980s. The game displayed is 1985's Paperboy.

The importance of having capable video hardware

Early home computers all used similar hardware and software, mostly using the 6502, the Z80, or in a few cases the 6809 microprocessor. They could have as little as 1 KB of RAM or as much as 128K, and software-wise, they could use a small 4K BASIC interpreter, or an extended 12K or more BASIC. The basic systems were quite similar with the exception of the video display hardware. As a result, the success of a system proved to primarily rely on the performance of the video display hardware, since this had a direct implication on the kind of games that could be played on the system.

The most important aspect of a home computer was how far programmers could push the hardware to create games. A case in point is the Commodore 64. Its microprocessor lacked advanced math functions and was relatively slow. In addition, the built-in BASIC interpreter lacked any sort of graphics commands, as it was the same version that was developed for the older Commodore PET (a computer without any high-resolution graphics capabilities at all). However, these drawbacks were of little consequence, because the C64 had the VIC-II chip. When accessed by machine language programs, the graphic capabilities of this chip made it practical to develop arcade-style games on a home system.[1] Additionally, specific machine language code exploiting quirks of the VIC-II chip allowed for special tricks to draw even better pictures out of the VIC-II chip.[2] The comparatively large memory and the audio capabilities of the C64 also lent themselves well toward the production of larger games. An example of the opposite is the Aquarius by Mattel which had such incredibly limited video hardware that it was retracted from the market after only four months due to poor sales.

Video arbitration logic

One major problem that early computer video hardware had to overcome was the video bus arbitration problem. The problem was determining a way to give both the video hardware (VDU) and the CPU continuous read access to the video 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 necessary to do so. 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 being said, one system, the Apple II, 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. The BBC Micro used 4 MHz RAM with a 2 MHz 6502 in order to interleave video accesses with CPU accesses.

Most other systems used a much simpler approach, and the TRS-80's video logic was so primitive that it simply 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 random horizontal black stripes on screen when there was heavy access to the video RAM, like during a video game.

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 video signal blanks the video output signal during the "blanking periods" of the horizontal and especially the long vertical video sync pulses. So by simply waiting for the next blanking period, the stripes were avoidable. 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 stripes would re-appear. Another approach, used by most other machines of the time, was to temporarily stop the CPU using the "WAIT/BUSRQ" (Z80) "WAIT" (6809) or "SYNC" (6502) control signal whenever the CPU tried to write to the screen during a non-blanking period. Yet another, more advanced, the solution was to add a hardware FIFO so that the CPU could write to the FIFO instead of directly to the RAM chips, which were updated from the FIFO during a blanking interval by special logic circuitry. Some later systems started using special "two-port" video memory, called VRAM, that had independent data output pins for the CPU interface and the video logic.

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 built from discrete logic chips or based around some kind of custom logic chips (an ASIC or PLD).
  • A system using some form of video display controller (VDC), a VLSI 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 range of (sometimes unique) capabilities, but generally speaking, the second category could offer a much more complex system for a comparatively lower price.

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 CDP1861 used in the COSMAC VIP. It could only create a very low-resolution monochrome graphic screen. The chip in the Sinclair ZX-81 also is a video shifter but is a custom logic chip (a ULA) rather than a single-purpose commercial IC like the CDP1861. Dedicated Video shifter chips did have some use in very early game systems, most notably the Television Interface Adaptor chip in the Atari 2600. Note that although one of the chips in an Atari ST is also called a "video shift register" it does not fall into this class, mainly because the IC's in this class depends on the main CPU to feed them with picture data. They do nothing more than generating 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 font for 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 VLSI chips that integrated all of the logic that was in a typical CRTC based system, plus a lot more, into a single chip. The VIC-II chip is probably the best-known chip of this category.
  • Video co-processor chips are at the highest end of the scale; Video interface controllers that can manipulate, and/or interpret and display, the contents of their own dedicated Video RAM without intervention from the main CPU. These chips are highly flexible offering options and features with minimal CPU involvement that on other systems are impossible or at best difficult to produce, requiring extensive CPU overhead. The Atari ANTIC/GTIA and Amiga OCS/ECS/AGA are well known examples of this high-feature category. But note that not all video co-processors are powerful, some are even simpler than many Video interface controllers, notably the primitive SAA5243 which is still technically a co-processor.

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.
Year
The year that the first version of this system came on the market.
Chip name
The name of the chip that was used as the basis for the video logic.
Video RAM
The maximum amount of RAM used for the video display, depending on the resolution used the system may use less.
Video mode(s) [i.e. Text mode(s) and Graphics modes]
The numbers of characters per line and lines of text the system supported and the number of colors they could have. Sometimes more than one mode was possible: The number of horizontal and Vertical pixels the system could display in a high resolution mode and The number of colors each pixel could have in High-resolution mode, where several high-resolution modes exist each one is listed separately. Beginning with the Xerox Alto, systems forwent independent text modes and drew text on a high-resolution graphics screen. This required more video RAM, but also freed computer fonts from a fixed grid.
Font extras
Describes extra graphical possibilities a video system had because of optional features of their character sets, there are currently three categories:
LC
Some systems could only display upper case characters 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 high-resolution mode it is of course always possible), then there is LC (for Lower Case) in this column.
BG
Some systems used a matrix of blocky pixels instead of a letter in their font sets (or used dedicated hardware to emulate them, like the TRS-80 did), to support some sort of all points addressable (APA) mode. It's hard to call this a "high resolution" mode because the resolution could be as low as 80×48 pixels, but in any case, it was possible to draw pictures with them. In the case of systems that used such a system as its "APA" mode, there is BG (for Block Graphics) in this column.
SG
Some other systems used semi graphical characters like box-drawing characters dots and card symbols, and "graphical building block" geometric shapes such as triangles to give the system the appearance it could do high-resolution graphics while in reality it could not, Systems like that have SG (for semi graphical characters) in this column. Many systems like the PET had a few of such characters dedicated to blocking graphics for an APA mode as well, often only for 2×2 matrix characters. Sometimes the system filled (or could fill) a reprogrammable section of the font set which such characters, these systems mainly fall under the "soft font" heading. Note that the BG and SG entries are only used when the system relied on them, had them predefined in its default character set, or, (what often happened on early systems) had them printed on the keyboard keys for direct entry in combination with some kind of "graphic shift" key.
Soft font
When the system had a programmable font RAM instead of a static "font ROM", or when the video system did not have a hardware text mode, but painted text in the high-res screen using software, the video display wasn't dependent on a permanent font set, in this case we are talking about a system with a "soft" font.
Color resolution
in "high-resolution mode" it was often the case that a certain pixel could not be given an arbitrary color, often certain clusters of pixels, (quite often 8×8 pixels large) shared the same "color attribute", so as to spare video memory, as an 8-bit computer only had a 64 KB address space, and the CPU often had limited capabilities to manipulate video memory, therefore it was often necessary to keep the video RAM size as small as possible, so a minimum of the address space of the micro was used, and also the video content could be changed relatively rapidly.
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.
HW accel
Short for "hardware acceleration", can take several forms, the most obvious form is "bit blitting", that is the moving of groups of pixels from one place in video memory to another without the CPU doing any of the moving, another often-used technique is hardware scrolling which in fact emulates moving the whole screen in the video RAM, the third form of hardware acceleration is the use of sprites implemented in hardware. Some systems also supported drawing lines (and sometimes rectangles) using special line drawing hardware. The entry in the column reveals which methods the hardware supported with two letters for each method.
BL
For blitter
DR
For hardware supported line drawing
SC
For hardware scrolling support
SP
For hardware sprite support
TE
For hardware Tile engine support in graphic mode
Sprite details
Covers three facets of the sprite support hardware the system used. Each number in the table cell is preceded by two letters.
S#
For the first facet, is the total number of hardware sprites the system could support, in hardware (not counting re-use of the same hardware). if the system doesn't support hardware sprites at all the table cell only contains "-" . If S# is 1 then the single sprite is most often used to support a mouse cursor.
SS
For the second facet, is the size of the sprite in screen pixels. A sprite could be displayed by the hardware, as a matrix of horizontal by vertical pixels. If more than one sprite size mode is available each one is listed.
SC
For the third facet, is the number of sprite colors, it gives the number of colors that a sprite could have. It is about the total number of colors that could be used to define the sprite (transparent NOT included), so if a sprite could only be displayed as a figure in a single color the number is 1. If more than one sprite color mode is available each one is listed.
SP
For the fourth facet, is the number of sprites per scan line. Hardware sprites use a kind of Z-buffer to determine which sprite is "on top". Availability of hardware to do 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 scanline before one of them became invisible because of hardware limitations.
Unique features
If the video display has unique features (or limitations) they will be listed here, if space is a limitation the remaining special features are expressed 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.

A "?" in a table cell means that the entry has not yet been determined. if a ? follows an entry it means that other options than the listed ones may also exist

"Mono" in a table cell means monochrome that is, for example, black on white, or black on green.

The list of home computers and their video capabilities

Systems with video logic designed as terminals

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Text Graphics
Apple I 1976 720 Bytes[3] 40×24 Mono N/A 40×24 Mono [4]
Datapoint 2200 1971 840 Bytes 80×12 Mono N/A 80×12 Mono LC None Shift registers for RAM[5]
MUPID 1983[6] 64K[7] 40×25 16+16 colors 320×240 16+16 colors 320×240 LC, BG, SG Yes[8] 16 fixed colors, and 16 chooseable from a palette of 4096 colors ? Designed by academics as a BTX terminal, but with the capabilities of a home computer[9]
SOL-20 1976 [10] 1K 64×16 Mono Limited 512x128 Mono with MC6574 (64x16) LC, SG[11] No None None One of the first systems with built-in video hardware[12]

Systems using software-driven video generation

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts unique features
Text Graphics
Aamber Pegasus 1981 512 Bytes 32×16 Mono text with programmable 7x9[13] characters (32x16) LC Yes
Galaksija 1983 512 Bytes[14] 32×16 Mono "Full": Limited 256×208[15] Mono

Semi: 64×48[16] Mono

(64x48; 32, later 256x208) BG[17] All systems were essentially "home-built", on a single-sided PCB. Like the ZX81 it was software-driven.[18]
OSI Superboard II,[19] Compukit UK101[20] and clones 1979 1K[21] 32×32[22] or 64x16[23][24][25] Mono "Full": limited 256x256 or 512x128[24][26] Mono using full extended character set ROM

Semi: 64x96 or 128x48[24][27] Mono using 64 characters (pseudo graphics) of the 128 characters of the optional extended character set ROM

(32×32 or 64x16[24]) LC, SG Early system with 256 character font, standard add-on card for full 256x256 graphics
OSI C4P 1980 2K 64×32 8 colors "Full": limited 512x256 8 colors

Semi: 128x96 8 colors using part of its pseudo graphic characters set

64x32 LC, SG
ZX80, ZX81 1980, 1981 [28] 792 Bytes[29] 32×24 Mono Full: 256×192[30] Mono

Semi: 64×48[31] Mono

(32x24) BG, SG No "slow mode", software-generated display[32]
BCS3 [33] 1984 336 Bytes in BASIC 2.4 27x12 [34] in BASIC 2.4

40x21 [35] in BASIC 3.1

Full: 128x64 Mono (additional hardware) LC, SG No Simple homebrew home computer form GDR, with software-generated display[36]

Systems using discrete logic

With independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Text Graphics
ABC80 1978 1K 40×24 Mono Semi: 78×72[37] Mono (39x24) LC, BG - One of the first systems with serial attributes like Ceefax and Prestel systems, needed the first character of a line for switching to graphics mode, thus the horizontal resolution is 78, not 80[38]
Apple II[39] 1977 18K[40] 40×24[41] Mono/6 colors[42] Full: 280×192[43] Mono/6 colors[42] Semi: 40×48[44] 15 colors[45] 40x48, 140×192[46] [47] First known system with 4 line "caption"[48] and software scaling and rotation
Commodore PET 2001 1977 - 1000 Bytes 40×25 Mono 9" Mono monitor "Full": Limited 320x200 Mono

Semi: 80×50 using part of its pseudo graphic characters set

(80x50, 40x200) BG, SG - Original computer with non ASCII (PETSCII) character set.
Exidy Sorcerer 1978 1920 Bytes 64×30 Mono "Full": Limited 512×240[49] Mono

Semi: 128x90[50] Mono

(128x90, 512x240) LC, SG[51] Yes Programmable character set allowed TRS-80 and PET like graphics
Ferguson Big Board[52] 1980, 1982 1K 80x24 Mono [53][54] LC[55] No
Grundy NewBrain 1982 max 20K 32×25/30, 40×25/30, 64×25/30, or 80×25/30 Mono Full: 256x256, 320x256, 512x256, 640x256 Mono

Semi: 64x75/90, 80x75/90, 128x75/90, 160x75/90[56] Mono

(64x75/90, 80x75/90, 128x75/90, 160x75/90; 256, 320, 512, 640x256) LC, BG - Built in one line VFD, Videotext mode support
Interact Home Computer 1979 2184 Bytes 17×12 4 colors Semi: 112×78 4 colors 112×78 Characters were drawn on a 112×78 pixel graphics screen which means that each character was 6×6 pixels, including blank space between the characters, which led to very blocky characters, which simply didn't allow for distinct lower case characters. In theory, the "graphics" screen text was drawn on could be the text-mode semigraphics screen for a more standard (for the time) 56x26 or 56x39 high-resolution text mode, though in practice this real text mode was apparently never used (if it even could be). 4 of 8
Kaypro II series 1982 2 KB 80×24 Mono, on 9" built in CRT Semi: Presumably 160x72 Mono (80x24) LC, BG[57] No -
NASCOM 1 NASCOM 2 1977 1979 1K 48×16 Mono N/A LC No None
Osborne 1,

Osborne Executive and Osborne Vixen

1981, 1982, 1984 4K[58] 52x24 Mono on 5" CRT, later 80x24 on 7" CRT "Full": Presumably limited 416x192 Mono, later limited 640x192 using its pseudo graphic characters set[59] (52x24, later 80x24[59]) LC, SG Uses virtual screen to make up for limitations of original 5" CRT, a feature presumably not dropped from later models in order to achieve full backward compatibility
Panasonic JR-200 1983 2K+2K[60] 32×24[61] 8 colors[62] "Full": 256x192[63] 8 colors

Semi: 64×48[64] 8 colors

32x24 LC, BG unique semi-graphic pixel color attribute scheme made that each of the 64×48 semi-graphic "pixels" (consisting of a quarter of an 8×8 pixel character space) could have its own independent color, these semi-graphics could be combined with predefined characters, or programmable characters, each of which could also have an independent foreground and background color out of a palette of 8.
Jupiter Ace 1982 2K[65] 32×24 Mono "Full": Limited 256x192 Mono by using the 128 characters

Semi: 64×48[66] Mono

32x24 LC, BG Limited - none
LINK 480Z and Research Machines 380Z 1982 2K[67] 40×25 or 80×25 Mono[68] A separate independent video display generator board could be added that did support high resolution graphics of 640×192×1, 320×192×2 or 160×96×4 bits per pixel LC n of 16 with Hires expansion board; 16 out of 256 logical intensities with composite interface, 16 logical colors with TTL RGB interface
MZ-80K 1979 1000 Bytes 40×25 Mono "Full": Limited 320x200 Mono

Semi: 80×50[69] Mono

(40x25) LC, BG, SG No None many well-chosen pseudo-graphics characters[70]
KC 87, KC85/1 1987 960 bytes

87.x1: 960+960[71] bytes

85/1, 87: 40x20 Mono for 85/1, 87.x0; 16 foreground colors + 8 background colors for 87.x1 85/1, 87: Limited 320x192 Mono for 85/1, 87.x0; 16 foreground colors + 8 background colors for 87.x1 using its pseudo graphic characters set 87.x1: 40x24 LC[72]
TRS-80 Models I and III[73] 1977, 1980 up to 1K[74] 32×16 or 64×16 Mono Semi: 64×48 or 128×48 Mono (32x16 or 64x16) LC,[75] BG No None The canonical system to use Text semigraphics[76]
TRS-80 Model 4 1983 1920 bytes 32×16, 40x24, 64×16 or 80x24 Mono Semi: 64×48, 80x72, 128×48 or 160x72 Mono (32x16, 40x24, 64x16 or 80x24) LC, BG Can display full 640x240 or 512x192 graphics with a standardized expansion board

Without independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support unique features
Apple III 1980 64K 40×24 Text in 280×192 Graphics or 80×24 in 560×192[77] 2 or 16 colors[78] 140x192, 280x192; 140x192, 560x192 LC 228 programmable characters, bundled with Apple II software emulator
Apple Lisa/Macintosh XL 1983 Presumably 2x32760 bytes drawn by software on 720x364r/608x432s[77] mono, (4 gray scales) (720x364r/608x432s) Yes
Apple Macintosh 128K and other compact models 1984 -[79] 2x21888 bytes drawn by software on 512x342[77] mono, (4 grayscales) (512x342) SE/30 and Classic were the only 32-bit models to use discrete logic to implement video hardware
DAI Personal Computer 1979 -[80] 31680 bytes[81] 88×65, 176×130,[82] 352×260, 60x24[83] Text in 528×240 Graphics 4 or 16 colors 88×65, 176×130,[82] 352×260, 528×240 LC - 4 of 16[84] split screen text and graphics mode with 4-line caption
PMD 85 1985 9600 Bytes[85] 48×32[86] Text in 288×256[77] Graphics 4 gray-scales, 4 colors for 85/3 288x256 LC[87] 4 out of ? gray-scales, 4 out of ?[88] colors for 85/3 no text modes, only a single 288×256x2 bits per pixel graphics mode
Tiki 100 1984 - 32K 40×25 Text in 256×256 Graphics 16 colors, 80×25 in 512×256 4 colors, 160×25 in 1024×256 2 colors[77] 256×256, 512×256, 1024×256 LC Yes 256 SC
Robotron KC 85/2 1984 16K 320x256 40x64 (16fg8bg) Yes No CPU VRAM access can cause visual distortions, Half-character attribute cells (8x4)[lower-alpha 1]
KC 85/3 1986 LC
KC 85/4 1988 64K 320x256 40x256 (16fg8bg), 320x256 (4[lower-alpha 2]) LC Yes No Vertical video ram, Single line vertical attribute cells (8x1), 2 buffers
Xerox Alto 1973 61206 bytes drawn by software on 606x808 Mono (606x808) LC Yes First known system with graphics

First known system without separate text buffer

  1. Relationship to KC85/1 in name only. The KC85/2 and KC85/3 were very similar overall, the only difference being more ROM and an internal piezo speaker
  2. white, black, red, cyan

Systems using simple Video Shift Registers

System name Year Chip name Video RAM Video mode soft fonts unique features
COSMAC VIP, Telmac 1800 1977 CDP 1861 256 Bytes[89] 64×32 Mono graphics[90][91] Yes Incredibly primitive but supporting color[92]
Oscom NANO, ETI 660, Telmac 2000 1980, 1981 CDP 1864 1.5K[89] 64x192 Mono graphics[91][93] Incredibly primitive but supporting color[94]

Systems using custom logic ICs

With independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Text Graphics
Apple IIe,[95] Apple IIc[96][97] 1983, 1984 MMU/IOU[98] 27K[99] 40×24 or 80×24 Mono Full: 280×192 6[100] or 15 Colors or 560×192 15 colors[100][101] Semi: 40×48 or 80×48 15 colors[45][102] 40x48, 80x48; 140x192, 280x192; 140x192 LC[103] No[104] None
Apple IIGS 1986 VGC[105] 32K 40×24 or 80×24 16 colors Full: 280×192 6 or 16 colors or 560×192 16 colors, 320×200 16-3200 colors or 640×200 4-800 pure or 16 dithered colors

Semi: 40×48 or 80×48 16 colors

40x48, 80x48; 140x192, 280x192; 140x192; 320x200, 640x200 LC No Apple][ modes none, other modes 4096
Mattel Aquarius 1983 TEA1002 2000 bytes[106] 40×25 16 colors[107] "Full": Presumably at least limited 320x200 16 colors through (assembly language routines and) graphical symbols included in its character set

Semi: 80×75 16 colors[108]

40×25 LC, BG - None
TRS-80 Color Computer Model 3 1986 GIME[109] 72000 bytes[110] 20x16-25, 32x16-25, 40x16-25, 64x16-25 or 80x16-25[111] 16 colors[112][113] Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors; 160x192-225,[114] 256×192-225, 320x192-225 2, 4, 16 or 256 colors; 512x192-225 or 640x192-225 2, 4 or 16 colors

Semi: 64x32[115] 9 colors, 64x48[116] 4 colors

64×64, 128×64, 128×96, 128×192, 160x192-225, 256×192-225, 320x192-225, 512x192-225 or 640x192-225; 64x32, 64x48 BG, LC No ?

Without independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Atari ST 1985 ST Shifter 32K drawn by software 16 colors on 320×200 16 colors, 640×200 4 colors or 640×400 2 colors[77] 320x200, 640x200 LC Yes Yes 512[117] Hi-Res non-interlaced 31 kHz-72 Hz
Electronika BK -0010/-0011[118] 1985 ULA[119] 16K[120] 32×25 Text in 256×256 Graphics 4 colors or 64×25 in 512×256[77] 2 colors 256×256 or 512×256 Yes[121][122] SC[123]
Enterprise 64[124] 1985 Nick 64K Full: 80x256 256 colors, 160x256 16 colors, 40×32 Text in 320x256 Graphics 4 colors, 80×32 or 28 in 640x256p/ 64 in 512i 2 colors[125]

Semi: 80x96, 160x84p/96p/192i 2 or 4 colors via soft fonts

80x256, 160x256, 320x256, 640x256p/512i: 40×32, 80×32 or 28 or 80×64 interlaced Yes[126] Advanced for its time[127]
Oric 1[128] 1983 HSC 10017 ULA 8K Full: 40×28 Text in 240×200 Graphics 8 colors (limited 240x224 through soft font)

Semi: 80x84 8 colors through soft font

40×224[129] LC[130] Yes[131] None None
Nimbus PC-186 1984 FPGA[132] 64K 40×25 Text in 320×250 Graphics 16 colors or 80×25 in 640×350 4/16 colors[77] 320×250 or 640×350 LC 4 of 16 Early x86-based non IBM-PC system with good graphics
SAM Coupé 1989 ASIC[133] 24K[134] 32×24 Text in 256×192 Graphics 8 or 16 colors or 85×24 in 512×192 4 colors[77] 32×24, 32×192 or 256×192; 512×192 - 16 entries 128 colors[135] Backward compatible with Sinclair Spectrum
Sinclair ZX Spectrum 1982 ULA[136] 6912 Bytes Full: 32x24 Text in 256×192 Graphics 15 colors

Semi: 64x48 15 colors[137]

32×24 LC, BG None color limitations[138]
Timex/Sinclair TS2068 1983 Timex SCLD (CPLD)[139] 12288 bytes (max) Full: 32x24 Text in 256×192 Graphics 15 colors or 64x24 in 512×192 Mono

Semi: 64x48 15 colors or 128x48 Mono

32×24, 32×192 - swapping between two 256×192 screens
ZX Spectrum Next 2020 FPGA 6912 Bytes, 48K (layer 0) + 1280 Bytes sprite RAM Full: 32x24 Text in 256×192 Graphics 15 or 256 colors 80x24 in 512x192 2 or 256 colors

Semi: 64x48 15 colors

32×24, 32x192, 256×192, 512x192 LC, BG, SC, SP yes 256 entries 512 colors 64 sprites, hardware scrolling, copper,[140] tile-map backward compatible with older Spectrums
Sinclair QL 1984 ZX8301 ULA 32K Full: 42×25 Text in 256×256 Graphics 8 colors or 85×25 in 512×256 4 colors

Semi: 84x75 8 colors or 170x75 4 colors through soft font, 128x128 8 colors or 256x128 4 colors stippled[141]

256×256 or 512×256, 128x128 or 256x128 LC Yes none hardware pixel-based blinking[142]
Thomson MO5 1984 EFGJ03L gate array 16K Full: 40×25 Text in 320×200 Graphics 16 colors

Semi: 80x75 16 colors through soft font

40×25, 320x200
Thomson TO7 1982 MC 13000 ALS gate array on TO-7/70 14000 bytes, either 15000 or 16000 bytes for TO7/70[143] 40×25 Text in 320×200 Graphics[77] 8 colors, 16 for TO7/70 40×200[144]
Thomson systems MO6, TO8 and TO9+ 1986 custom TI gate array plus EF-9369P color palette 16K Full: 8 modes from 160×200 16 colors to 640×200 2 colors (40×25 Text in 320×200 Graphics and 80×25 in 640×200)

Semi: 80x75 4 colors or 160x75 2 colors through soft font

from 160×200 to 640×200 yes 16 entries 4096 colors

Systems using a CRTC

MC6845 or second source

With independent text mode(s)
System name Year Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Text Graphics
ABC 800 series 1981 1K (800C), 2K (800M, 802, 806) + 128K (806) 40x24 or 80×24 (800M, 802, 806) 8 or 2 colors Full: 256×240 or 512x240 16 colors (806)

semi: 78x75 8 or 2 colors [or 158x75 (800M, 802, 806)]

256×240 or 512x240 (806), 40x24 or 80×24 ( 802, 806) LC, BG No None None HR board for 800 and 802 provides 16K for 240×240 graphics in 4 of 8 colors
Aster CT-80 1979 1K or 2K[145] 64×16, 32×16, 80×25 or 40×25 Mono Semi: 128×48, 64x48, 160×75[146] or 80x75[147][148] 3 gray scales[149] 128×48, 64x48, 160×75 or 80x75 LC, BG, SG[150] Dual memory map support[151] Early clone of the TRS-80 with additional graphic modes
Commodore PET 4000 and 8000 series 1980, 1981 1000 Bytes (4000), 2000 Bytes (8000) 40×25 (4000) or 80×25 (8000) Mono, on 12" Mono monitor "Full": Limited 320x200 Mono (4000) or 640x200 Mono (8000)

Semi: 80×50 Mono (4000) or 160×50 Mono (8000) using part of its pseudo graphic characters set

[40×25 (4000) or 80×25 (8000)] BG, SG No None
LNW-80 1982 1K or 2K 80×24, 64×16 or 32×16 8 colors Full: 480×192 2 colors or 384x192 8 colors

Semi: 160×72 or 128×48 8 colors

480×192, 64×16 LC, BG No
LOBO MAX-80 1982 1K or 2K 80×24 or 64×16 Mono "Full": Limited 640x240 or 512x192 Mono via programmable character set

Semi: 160×72 or 128×48 Mono

(80x24 or 64x16) Yes[152]
MicroBee 1982 4K[153][154] 64×16[155] Mono[156] "Full": 17 limited modes from 512x128 to 512x256 Mono in steps of 8 lines[157] Semi: 128×48[158][159] Mono 64x16[155] Yes
Sony SMC-70 1982 38KB[160] 40×25 or 80×25 2 colors 160×100, 320×200 16 colors, 640×200 4 colors or 640×400 2 colors 40×25 or 80×25, 160×100, 320×200, 640×200, 640×400 LC yes n of 16 Genlocker (G & P versions)[161]
Without independent text mode(s)
System name Year Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Camputers Lynx 1983 32K[162] Full: 40×24[163] Text in 256×252 Graphics 8 colors

Semi: Presumably 80x72 8 colors

40x24, 256x252 LC No None None
Colour Genie 1982 16K[164] "Full": Limited 40×24[165] Text in 320×192[166][167] Graphics using 8×8 pixel programmable characters 16 colors

Semi: 160x96[168] 4 colors or presumably 80×72[169] 16 colors

40x24,[165] 160x96[168] LC, BG, SG Yes 4 of 16 Programmable characters[170]
Sharp X1 (CZ-800C) 1982 48000 bytes[171][172][173] 40×25 Text in 320×200 Graphics, 80×25 in 640×200[77][174][175][176] 8 colors 320×200, 640×200 LC yes None[177] [178] powerful APA color PCG[179]
Casio FX-9000P 1980 4K 32×16 Text in 256×128[77] Graphics Mono (256x128) None ?

Other models

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel unique features
Text Graphics
Compucolor II 1977 SMSC CRT5027 4K[180] 64×32 or 64×16 8 colors on 13" built-in color screen "Full": Limited 512x256 8 colors

Semi: 128×128[181] 8 colors or presumably 128×96 8 colors or 128x48 8 colors (through block graphics characters included in the font)

64x16 or 64x32, 128x128 BG said to be the first color home computer on the market, very nice graphics for the time
Comx-35 and clones 1983 CDP1869 CDP1870 3K[182] 40×24[183] 8 foreground colors (4 per 6×8 or 6×9 pixels, 1 per 6-pixel line)+ 8 background colors (for the whole screen) "Full": Limited 240×192(NTSC)/240x216 (PAL)/240x384 (expanded RAM)[184] 8 foreground colors (4 per 6×8 or 6×9 pixels, 1 per 6 pixel line)+ 8 background colors (for the whole screen)

Semi: 80×72[185]/120×96[186] 8 foreground colors (4 per 6×8 or 6×9 pixels, 1 per 6-pixel line)+ 8 background colors (for the whole screen)

40x24 BG, SG[187] Yes 8 foregrounds + 8 background out of?
Durango F-85 1977 Intel 8275 2 KB 80×24 or 64×16 Mono, on 9" built-in CRT Semi: Presumably 160x72 or 128x48 Mono (80x24 or 64x16) LC, BG
MZ-700[188] 1982 M60719[189] 2000 Bytes[190] 40×25 8 colors "full": Limited 320x200 8 colors

semi: 80×50[69] 8 colors

40x25 LC, BG, SG No
PC-8001 1979 ìPD3301D 3K, 16K, 48K 40×20, 40×25, 80×20 or 80×25 8 colors Full: 320x200 or 640x200 8 colors

Semi: 160×100[191][192] 8 colors

320x200 or 640x200, 80x25 LC, BG No
Robotron 1715 1984 Intel 8275 2 KB 80×24 or 64×16 Mono Semi: Presumably 160x72 or 128x48 Mono (80x24 or 64x16) LC, BG for 1715W model had two switchable ROMs for Cyrillic/Latin letters
Telmac TMC-600 1982 CDP1869 CDP1870 1K[193] Presumably 40x24 8 colors Semi: 80x72 8 colors 40x24 LC No
Matra Alice 32/90 and clones and Philips VG5000 1984 EF9345 8K 32×16, 40×25 or 80×25 9 colors Full: 160×125 or 320×250[194] 16 colors

Semi: 64x32, 80x50 or 160x50 9 colors

32x16, 40x25, 80x25 LC, BG 3×100 user definable characters, but only in 40×25 text mode Full and half-intensity foreground plus background out of 8 DR Video Input[195]

Systems using a Video Interface Controller

MC6847 or second source

System name Year Chip name Video mode(s) color resolution Font extras HW accel Sprite details
Text Graphics
Acorn Atom, APF Imagination Machine, GEM 1000 / Charlemagne 999,[196] Laser 100/110, Laser 200/210 and 310,[197] SPC-1000 (later models), TRS-80 MC-10 and clones 1979, 1980, 1981, 1983, 1985[198] MC6847 32×16 9 colors[199] Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors or 256×192 2 colors

Semi: 64x32[115] 9 colors or 64x48[116] 4 colors

64×64, 128×64, 128×96, 128×192 or 256×192; 64x32 or 64x48 BG[200] None
SPC-1000 (early models) 1983 AMI S68047
NEC PC-6001 1981 M5C6847P-1 Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors, 256×128 or 256×192 2 colors

Semi: 64x32 9 colors or 64x48 4 or 9 colors

64×64, 128×64, 128×96, 128×192, 256×128 or 256×192; 64x32 or 64x48
TRS-80 Color Computer 1 & 2 and clones[201] 1980 MC6847[202]+MC6883 Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors or 256×192

Semi: 64×32 (64×64, 64x96 or 64x192[203])[115] 9 colors, 64×48[116] 4 colors

64×64, 128×64, 128×96, 128×192 or 256×192; 64×32, 64×48, 64×64, 64x96 or 64x192 BG[204] The MC6883 could actually be used as a limited sort of sprite hardware in semigraphics modes, making them in practice limited 256x192x9 graphics modes

Other models

With independent text mode(s)
System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel Sprite details unique features
Text Graphics
VIC-20 1980 VIC[205] 506 bytes + 506 nibbles[206] 22×23[207] 16 colors (upper 8 unusable as foreground) Technically full: 160×160 16 colors (upper 8 unusable as foreground) (or more in special cases) or limited 176×184 16 colors (upper 8 unusable as foreground)

Semi: technically 44x46 16 colors (upper 8 unusable as foreground) using part of its PETSCII character set[208]

22×23[207] LC, BG, SG[209] Yes not really, but something similar could be done by manipulating the four colors out of sixteen chosen for each tile, or the global background color The VIC chip allowed a character generator in RAM to redefine the pixel-by-pixel depictions of the on-screen characters and it allowed for double-height characters (8 pixels wide, 16 pixels high). It was possible to get a fully addressable 160 by 160 screen by filling the screen with a sequence of 200 different double-height characters, then turning on the pixels selectively inside the RAM-based character definitions. The 200-character limitation was so that enough bytes would be left over for the screen character grid itself to remain addressable by the VIC chip. The Super Expander cartridge provided such a mode in BASIC, although it often had to move the BASIC program around in memory to do it. It was also possible to fill a larger area of the screen with addressable graphics using a more dynamic allocation scheme if the contents were sparse or repetitive enough. The VIC-20 had hardware support for a Light pen, but its most obvious features were its text mode with very wide characters and its built-in composite video output and the NTSC VIC’s interlaced mode[210]
Commodore 64 1982 VIC-II 16K 40×25 16 colors Full: 160×200[211] or 320×200 16 colors

(semi: 80×50 16 colors using part of its pseudo graphic characters set)

40x25 LC, BG, SG 1 (320 px) or 3 (160 px) foreground + 1 background out of 16 SP, SC S#= 8 SS= 24×21, 12×21 SC=1 SP=8 Many
Commodore 65 1991 VIC-III up to 500K supported[212] 40×25 or 80×25 16 colors full: 160×200, 160×400,[213] 320×200, 320×400, 640×200, 640×400, 1280×200 or 1280×400 up to 256 colors

(semi: 80×50 or 160x50 16 colors using part of its pseudo graphic characters set)

40x25; 160×200, 160×400,[213] 320×200, 320×400, 640×200, 640×400, 1280×200 or 1280×400 4096[214] SP, SC, BL All the Commodore 64, plus DMA blitter support & genlock.
Commodore 16, 116 and Plus/4 1984 TED 8K 40×25 16 colors Full: 160×200[211] or 320×200 121 colors

(semi: 80×50 16 colors using part of its pseudo graphic characters set)

40x25 1 (320 px) or 3 (160 px) foreground + 1 background out of 121 None Some[215]
IBM PCjr & Tandy 1000 1984 "Video Gate Array" + 6845 (PCjr)[216] / Tandy proprietary chip[217] 32K[218] 40×25 or 80×25 16 colors Full: 160×200, 320×200 4 or 16 colors or 640×200 2 or 4 colors

("semi": 160×100[219] 16 colors)

40×25 or 80x25; 160×200,[211] 320×200 or 640×200 LC No 2 or 4 out of 16
IBM PS/1 1990 "VGA" 128K Commonly

80×25, 40×25, 80×43 or 80×50 16 colors on 14" Monitor

Commonly 640×480, 640×400, 640×350 16 colors or 320×200 16 or 256 colors[77] Commonly

640×480, 640×400, 640×350 or 320×200

LC Yes[220] 16 or 256 colors out of a 262144 colors palette (6 bit per RGB channel) SC - "Video tweaking"
Without independent text mode(s)
System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel Sprite details unique features
Acorn Archimedes[221] 1987 VIDC1 480KB (from system RAM) Text sized by software in Flexible Graphics, no more than 256 colors (e.g. 800×600 16cols)[77] up to 1152x896 LC Yes 16 groups of 16 from 4096 SP S#= 1[222] SS= 32×n SC=3 SP=1
Acorn RiscPC 1994 VIDC20 2MB, 1MB Text sized by software in Flexible Graphics, up to 16M colors (e.g. 1600×1200 256cols)[77][223] up to 1600x1200 In <=256 color modes
NEC PC-8801 1981 SGP[224] 48K Full: 80×25 Text in 640×200 Graphics, 640×400 2 colors, 40×25 in 320×200 or 320×400 8 colors[225]

Semi: 160×100[226] 8 colors

160x100;[226] 640×200, 640×400, 320×200 or 320×400 LC, BG, SG Yes 8 or 2 out of 512[227] No early highres support
VideoBrain 1978 UV-201 & UV-202[228] 168 bytes[229] 384x336i[230] Graphics 16 colors

16×7 Text in 128x56[231] Semigraphics 16 colors

16×7, 384x336i SG[232] No None

Systems using a video co-processor

With independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel Sprite details unique features
Text Graphics
Atari 8-bit family[233] 1979 ANTIC plus CTIA/GTIA 18K+ of 64K[234] 32/40/48×24 (30), 16/20/24x24 (30) or 16/20/24x12 (15)[235] 2 (5) colors 32/40/48x24 (30),[236] 64/80/96x48 (60), 64/80/96x96 (120), 128/160/192x96 (120), 128/160/192x192 (240) 2 or 4 colors, 256/320/384x192 (240) 2 colors, 64/80/96×192 (240)[237] 9/16/8 or 16 colors 32/40/48x24 (30), 64/80/96x48 (60), 64/80/96x96 (120), 128/160/192x96 (120), 128/160/192x192 (240), 64/80/96×192 (240) LC, BG, SG[238] Yes[239] 16 out of 128 (with FGTIA or GTIA) or 256 (only with GTIA) SP, SC S#=4+4 or 5 SS=8 + 2 or 5×256(max) SC=1 SP=4+4 or 5 Many, especially hardware support for a Light pen and the Display list. Possibly the most capable hardware of the early 80s considering it was designed in the 70s.
Coleco Adam, VTech CreatiVision, MSX1,[240] Pencil 2, Memotech MTX,[241] Sega SC-3000, Sord M5, SV-318 and SV-328, Tatung Einstein, TI-99/4, TI-99/4A, Tomy Tutor/Pyuuta 1979-1984 TMS9918A[242] 16K 32×24[243] 16 colors or 40×24 2 colors Full: 256×192 16 colors

Semi: 64×48 16 colors

32x24, 32×192 LC, (BG, SG)[244][245] Yes None SP, TE S#=32 SS=8×8, 16×16 SC=1 SP=4 The TMS9918 was designed for the TI-99/4, it has text characters of 8x8 (32 characters per line) or 8x6 pixels (40 characters per line ,and features limited attribute clash colour limitations, it has 32 monochrome sprites of 8x8 or 16x16 pixels.
MSX2, MSX2+/TurboR[246] 1986, 1988 Yamaha V9938, Yamaha V9958 64K, 128K, or 192K[247] 32×24, 32×26.5 16 colors, 40×24, 40×26.5 2 colors, 80×24 or 80×26.5[248] 4 colors Full: 256×192p, 256×212p, 256×384i, 256×424i 4, 16 or 256; later also 12499 or 19268 colors, 512×192p, 512×212p, 512×384i, 512×424i 4 or 16 colors

Semi: 64×48p, 64x53p, 64x96i or 64x106i 16 colors

32×24, 40×24, 80×24, 32×26.5, 40×26.5 or 80×26.5;[248] 32x192; 256×192p, 512×192p, 256×212p, 512×212p, 256×384i, 512×384i, 256×424i, 512×424i LC, BG, SG Yes 2, 4 or 16 out of 512 colors SP, TE, SC,[249] BL, DR S#=32 SS=8×8, 16×16 SC=16[250] SP=8 Many unique features[251]
P2000T[252] 1980 SAA5243[253] 960 Bytes 40×24 8 colors Semi: 80×72 8 colors 40×24 LC, BG No None - One of the earliest systems with color Teletext graphics

Without independent text mode(s)

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel Sprite details unique features
FM-7 1982 MC6809 48K, 96 or 144K in AV mode[254] 40×25 or 40×20 Text in 320x200[255] Graphics 4096 colors for FM-77AV and AV20 or 262144 colors for FM-77AV40 or 80×25, 80×20 Text in 640x200[256] Graphics 8 colors 320x200 or 640x200 LC Yes None 320x200x4096 colors for FM-77AV and AV20 or 262144 colors for FM-77AV40 and 640×200×8 colors without color limitations[257]
Amiga (first generation)[258] 1985 Agnus[259] and Denise[260] 1M "Chip RAM"[261] Any Text size up to 80×32 (80x64 in interlaced mode)[262] in 320×200p, 640×200p, 320×400i or 640×400i[77][263] Graphics 2 to 64 colors and 4096 colors 320×200p, 640×200p, 320×400i or 640×400i[263] LC Yes 2 to 32 colors out of 4096 colors BL, SP, SC, DR S#=8[264] SS=16 wide, arbitrary height SC=3 or 15

[265] SP= 8

Many unique features[266]
Amiga (second generation)[267] 1990 Super-Agnus[259] and Hires Denise[268] 1M or 2M "Chip RAM" Any Text size up to 160×32 (160x64 in interlaced mode) in

NTSC Graphics: 320×200, 640×200, 320×400, 640×400[269] 2 to 64 colors and 4096 colors, 1280×200p or 1280x400i 4 colors PAL Graphics: 320x256, 640x256, 320x512, 640x512[269] 2 to 64 colors and 4096 colors, 1280×256p or 1280x512i 4 colors[77]

NTSC: 320×200, 640×200, 320×400, 640×400, 1280×200p or 1280x400i

PAL: 320x256, 640x256, 320x512, 640x512, 1280×256p or 1280x512i

even more unique features[270]
Amiga (Third generation)[271] 1992 Advanced Graphics Architecture (AGA)[272] 2M "Chip RAM" Any Text size up to 160×32 (160x64 in interlaced mode, 100x75 in Super72 mode) in NTSC: 320×200 .. 1280×400 Graphics 2 to 256, 4096 to 262144 colors

PAL: 320×256 .. 1280×512 Graphics 2 to 256, 4096 to 262144 colors

VGA: 640×480 2 to 256, 4096 to 262144 colors

Super72: 400×300 .. 800×600 (interlaced)[77] Graphics 2 to 256, 4096 to 262144 colors

NTSC: 320×200 .. 1280×400

PAL: 320×256 .. 1280×512

VGA: 640×480

Super72: 400×300 .. 800×600 (interlaced)

2 to 256 colors out of 16,777,216 colors S#=8 SS=64 wide, arbitrary height SC=2 or 15 SP=8 still more unique features[273]
Atari Falcon 1992 VIDEL, COMBEL (Blitter) 1 to 14M "Chip RAM" Any Text size up to 160×32

in CRT: 320×200 to 1600×608 Graphics 2,4,16,256 colors (indexed), 32768 colors (+overlay), 65536 colors (Hi-Color) VGA: 640×480 or 800×608[77] Graphics 2,4,16,256 colors (indexed), 32768 colors (+overlay), 65536 colors (Hi-Color)

CRT: 320×200 to 1600×608

VGA: 640×480 or 800×608

2 to 65536 colors out of 262,144 colors BL - scan doubler

Systems that fall into multiple classifications

For these systems, it is established that they are based on multiple technologies. The hardware chosen to be used by these systems may have a substantial or insubstantial impact on the video they output.

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support HW accel Sprite details unique features
Text Graphics
Acorn Eurocard systems[274] 1980 MC6845 + SAA5050 1K 40×25 8 colors Semi: 80×75 8 colors 40x25 LC, BG No None
Commodore CBM-II Series 1982 MC6845/VIC-II 2000 Bytes with CRTC, 16K with video interface controller 80×25 Mono on 12" Mono monitor with CRTC or 40x25 16 colors with video interface controller Full: limited 640×200 Mono with CRTC or 160x200 or 320x200 16 colors with video interface controller

Semi: 160×50 Mono with CRTC (or 80×50 16 colors with video interface controller) using part of its pseudo graphic characters set

(80×25 with CRTC) or 40x25 with video interface controller LC with video interface controller, BG, SG 1 (320 px) or 3 (160 px) foreground + 1 background out of 16 with video interface controller SP, SC with video interface controller S#= 8 SS= 24×21, 12×21 SC=1 SP=8 with video interface controller
Commodore 128 1985 VIC-IIE (40 column mode), VDC (80 column mode) 16K+16K (128) or 64K (128D) dedicated to VDC 40×25, 80×25 or 80×50 16 colors[275] Full: 160×200[211] or 320×200 (40 column mode), 640×200 or 640×400 (80 column mode) 16 colors

(semi: 80×50, 160x50 or 160x100 16 colors using part of its pseudo graphic characters set)

40x25 (40 column mode), 640x200 or 640x400 (80 column mode) 1 (320 px) or 3 (160 px) foreground + 1 background out of 16 (40 column mode) SP, SC (40 column mode); BL (80 column mode) S#= 8 SS= 24×21, 12×21 SC=1 SP=8 (40 column mode) Uses two different video circuits[276]
Amstrad CPC 1984, 1990 MC6845+ASIC 16K 20×25 16 colors, 40×25 4 colors or 80×25[277][278] 2 colors 160×200 16 colors, 320×200 4 colors or 640×200[77][279] 2 colors 160×200, 320×200 or 640×200 LC Yes 17 of 27 (original), 32 of 4096 (Plus) SC, SP (Plus) S#=16[280] SS=16×16[281] SC=1 SP=16 (Plus) 3-level RGB (original), screen control[282] (Plus)
BBC Micro 1981 MC6845+SAA5050 20K (max)[283][284] 80×32 or 80×25 2 colors, 40×32 2 or 4 colors, 40×25 2, 4 or 8 colors,[285] 20×32 4 or 8 colors Full: 640×256, 640×200[286] 2 colors, 320×256, 320×200 2 or 4 colors or 160×256 4 or 8 colors

Semi: 80×75[287] 8 colors

640×256, 320×256, 160×256, 640×200 or 320×200; 40x25 LC, BG No 16[288] None Teletext mode, shadow RAM support[289]
NEC PC-6001 MKII 1983, 1984 MC6845+M5C6847P-1 50K 32×16 or 40x20; later also 40x25, 80x20 or 80x25 9 or 16 colors Full: 64×64 4 or 16 colors, 128×64, 128×96, 128×192 2, 4 or 16 colors, 256×128, 256×192 2 or 16 colors, 160x200, 320x200 4 or 16 colors; later also 640x200 4 colors

Semi: 64x32 9 or 16 colors or 64x48 4, 9 or 16 colors or 80x40 16 colors; later also 80x50, 160x40, 160x50 16 colors

64×64, 128×64, 128×96, 128×192, 256×128, 256×192, 160x200, 320x200; later also 640x200: 32×16 or 40x20; later also 40x25, 80x20 or 80x25 2 or 4 of 16 -
Polycorp Poly-1 1980 2 x SAA5050 + SAA5020 + discrete logic 48K 40×24, 80x20 8 colors Full: 240x204 or 480x204 8 colors

Semi: 80×72[290] 8 colors

240x204 or 480x204, 40×24 None
Sharp X68000 1987 VINAS 1 + 2, VSOP, CYNTHIA / Jr, RESERVE[292] 1056K[293] from 16×16 to 128×128[294] 256 colors from 256×256 to 1024×1024[77] 256 colors from 256×256 to 1024×1024 LC Yes[295] 65,536 Palette SP S#=128 SS=16×16 SC=16 SP=32 special hardware options[296]

Systems that could not be classified

For these systems, it could not be established what technology they are based on, therefore, some information regarding them may be inaccurate.

System name Year Chip name Video RAM Video mode(s) color resolution Font extras soft fonts palette support
Text Graphics
Agat series 1983 Unknown 8 KB 32×32 16 colors 64x64 16 colors, 128x128 8 colors or 256×256 2 colors 64x64, 128x128 or 256×256 LC Unknown n out of 16
Orao 1984 up to 24 KB 32×32 up to 8 Gray levels Full: 256×256 up to 8 Gray levels

Semi: 64x96 up to 8 Gray levels

32x32, 256x256 Yes
Vector-06C 1987 32 KB 32×32 2 or 16 colors or 64x32[297] 2 or 4 colors 256×256 2 or 16 colors or 512x256 2 or 4 colors[77] 256×256 or 512x256 Unknown 256

See also

  • List of computer hardware palettes
  • Semi graphical characters
  • Semigraphics
  • Video Display Controller

Notes

  1. History of the C64 as gaming platform
  2. Some of the graphics capabilities of the 1982 VIC-II chip, designed at a time that other systems could only generate much more primitive graphics
  3. Actually the real figure is more complex, it's 6144 bits of which 5760 bits were actually used. This is so because the video data was stored, not in RAM, but in six Signetics 2504 "Dynamic shift registers" which each held 1024 bits. But only 40×24=960 locations in the shift register were actually used.
  4. the six bits per character location were only enough to address 64 characters, A Signetics 2513 character generator ROM held only uppercase characters and some other alphanumerical characters in a 5×7 matrix.
  5. The Datapoint used shift registers for its video RAM and used the power line frequency timing (50 or 60 cycles per second) for a complete refresh cycle. When writing to the Display the CPU had to wait for the next "window", which came 50 (or 60) times a second. Then the CPU could write a single character, or (with special software) multiple characters, up to all 960.
  6. "oldcomputers.com entry tells us that the Mupid was developed between 1981 and 1983". http://www.old-computers.com/museum/computer.asp?st=1&c=1112. 
  7. 2K 32 bits woorden per karakter, zie
  8. user generated graphic symbols lie at the heart of the Mupid's graphics capabilities
  9. TU Graz page about how the Mupid came to be
  10. The SOL-20 used the Motorola 6574 character generator ROM as a basis
  11. the first 32 characters in the Motorola character generator ROM contained special pseudo graphics characters, mostly line-drawing characters, and such. For the ASCII BELL code there was a simple bell shape in the character set. Alternatively, the character ROM could produce two-letter abbreviations of the ASCII control characters
  12. even earlier than the SOL-20 were the many early S100 bus based systems one could also insert a video card into, some were very primitive but many had very good graphics capabilities, one such an S100 based system was the ECD Corporation's Micro Mini. A very capable early S100 video card was the "Merlin intelligent video interface" by "MiniTerm" associates. Perhaps the most famous one (at the time) was the Cromemco Dazzler. However all S100 based systems fall outside the scope of this article, as this article describes complete (and standardized) systems, not just video cards
  13. according to user's manual
  14. There is no real video RAM, as the display is mostly built up using software, for purposes other than the character generator driven 32×16 display more RAM could be used.
  15. Common hacked Galaksija 1 firmware allows character definitions to be switched out line by line like the MC6883 does; corresponding Galaksija 2 graphics mode permits full graphics (derived from an 8x13 character matrix)
  16. Using 2×3 text semigraphics characters, like the TRS-80 on an 8×13 pixels per character matrix this means that one of the rows was 4 pixels high instead of 3 note that the pixels were separated by a 1-pixel wide barrier, this was necessary because the bottom (last) row of pixels of any character had to be black, as it was this row that was used during times when not displaying the visible area of the screen.
  17. the default Character generator EEPROM did not support lowercase
  18. due to a special software trick the Galaksija could do smooth scrolling
  19. The OSI Superboard II was also famous for being the first system for which Microsoft BASIC in ROM was available
  20. Virtual clone of Ohio Scientific Superboard II computer with an improved text mode, as the original used a less useful 32×32 text mode
  21. 1.5K with color RAM slot populated
  22. Presumably the Compukit UK101 could access this mode
  23. alternating used and unused lines of a 64x32 matrix
  24. 24.0 24.1 24.2 24.3 selectable by a poke to the keyboard register
  25. actually only an area of 24×24 or 48x15 (alternating used and unused lines of a 48x30 matrix) visible, the area outside that wasn't normally visible on a TV, and therefore not used by the software.
  26. actually only an area of 192x192 or 384x120 visible, the area outside that wasn't normally visible on a TV, and therefore not used by the software.
  27. actually only an area of 48X72 or 96x45 visible, the area outside that wasn't normally visible on a TV, and therefore not used by the software.
  28. Ferranti ULA 2C184E / 2C210E integrates the video logic of the ZX80 into one circuit
  29. In fact unlike any other system (except the ZX81) the ZX80 used a flexible "display buffer", that contained no more than the absolute number of bytes, that is one byte for each character displayed from the start of a line, plus an "end of line" byte.
  30. because the display was completely under software control some very ingenious games managed to generate a true "high resolution" display potentially with a 256×192 resolution
  31. Using the eight text semigraphics characters, plus the "inverse video" option, it was possible to display a very coarse 64×48 point addressable mode
  32. slow mode meant that BASIC programs only could generate a display or do computing work, not both at the same time while displaying a picture the only other task the ZX80 did was waiting for a key-press. Some assembler programs managed to overcome the problem. The ZX80 successor, the ZX81 overcame the problem by using the time between two display frames to do some computing
  33. More info: https://hc-ddr.hucki.net/wiki/doku.php/homecomputer/bcs3
  34. With 2.5Mhz CPU clock e
  35. With 3.5Mhz CPU clock e
  36. Video generation method similar to ZX80, 2.5Mhz or 3.5Mhz CPU clock variants, timing generation using Z80 CTC circuit,
  37. Using 2×3 Videotex block graphics (text semigraphics)
  38. Somewhat like the Sinclair Spectrum with its "parallel attributes" the serial attributes of the Oric could, using an amount of video memory that was just big enough for a monochrome display, create a color display with many extra features. In Oric's case they were double-height characters, blinking characters, switching between text and high-res graphics on the screen, switching between character sets, (from character ROM, or programmable character sets) switching the eight fore- and background colors, and more. However, it came with the price that the screen was difficult to manage, and that the attributes took up six consecutive pixels (a character) on the screen in which only the background color could be displayed. Reference see: [1]
  39. And the plethora of its clones, see List of Apple II clones
  40. The Apple II has a 1K text buffer for the 40×24 text mode or the 40×48 low-resolution graphics mode, and an 8K frame buffer for the 280×192 High-resolution graphics mode. But because Apple had two text and two graphics pages the total reserved memory for video is 18K. The first text/low-resolution page runs from 0400H to 07FFH, the second from 0800H to 0BFFH. The first high-resolution frame buffer runs from 2000H to 3FFFH and the second one from 4000H to 5FFFH.
  41. in a 5×7 dot matrix with one pixel on either side of characters and a one-dot high space between each line.
  42. 42.0 42.1 There are six colors available in the High-Resolution Graphics mode: black, white, orange, blue, green and violet. Each dot can be black, white, or color, although not all colors are available for every dot. If a pixel would be 0 then the corresponding pixel would become black, if it was 1, it would become either white or color. Which color a pixel in a 7-pixel "line" of dots would become was determined both by the eighth bit of the pixel data byte, but also by its bit location in the byte. If the bit was in the leftmost column on the screen, or in any even-numbered column, then it would appear violet. If the bit was in the rightmost pixel column, or any odd-numbered column, it would become green, except when two even and odd pixels were on alongside each other, then both pixels would be white. All this is true for all seven pixels of a display byte where its eighth bit would be 0 (off), if this bit was turned "on" (to 1), then the violet and green would be exchanged by blue and orange, except in revision 0 board, which could only display 4 colors, black, white, green and violet, because the eighth bit of the display byte had no effect
  43. The Apple only displayed 7 pixels of each byte of the frame buffer, the eighth one was used to determine which color combinations the pixels of the other seven bits could have
  44. exchanging the character set for blocks of 1x2 pixels
  45. 45.0 45.1 each byte of text-mode RAM was divided in two nibbles. The "lower" nibble determined the color of the top block, the upper nibble determined the color of the lower block. The sixteen available bit combinations produced fifteen unique colors as the two grays were identical in shade; the colors were, according to the official documentation: black, magenta, dark blue, purple, dark green, grey 1, medium blue, light blue, brown, orange, grey 2, pink, light green, yellow, aquamarine, white
  46. half the pixel resolution
  47. Characters could also be inverted or blinking, The arrangement was not completely ASCII compatible! Characters from 00H to 3FH were inverted, from 40H to 7FH were flashing, from 80H to BFH the normal set. Later models added first lowercase and then also line-drawing characters from C0 to DFH so that all 256 combinations were used.
  48. In high or low-resolution graphics mode the Apple could replace the bottom 32 display lines with a four-line text "caption", allowing for the simultaneous display of text and graphics.
  49. With clever programming the actual resolution of the screen of 512×240 could be put to good use. Per default, the firmware filled the programmable character set with pseudo graphics symbols like the PET, and the Superboard II and UK101, which could be used to build larger simple graphical figures, like a "Stick figure".
  50. Limited "graphics" modes were possible by programming the 128 (8×8 pixel) programmable characters, one way is to dedicate 64 of them to program 2×3 pseudo graphics characters (text semigraphics like the TRS-80) which would make a 128×90 "pseudo graphics" mode possible.
  51. 128 permanent characters, and 128 free definable (8×8 pixel) characters
  52. The Ferguson Big Board was notorious for being a variant of the microprocessor board for the much-maligned Xerox 820 office computer
  53. A descendant of this computer, the Xerox 8/16, supported 640x256 graphics
  54. 320x96 semigraphics on the Xerox 820-II
  55. the Xerox 820-II was a variant of this computer which also supported semigraphics
  56. derived from Videotext mode feature
  57. 1984 model
  58. for 128x32 display memory
  59. 59.0 59.1 Window on display memory
  60. 2K VRAM + 2K Character RAM according to old-computers.com [2] . and according to this "self portrait picture [3]"
  61. 8×8 pixel characters
  62. For each character position there was an attribute byte (from C500 to C7FF in memory, see [4](translate with Babelfish)). The three least significant bits (0,1 & 2) determined the foreground color, and the next three bits (3, 4 & 5) the background color, from LSB to MSB in the order blue, red, green. Bit six was used to switch between predefined, and software-defined characters. A similar scheme was used when one of the 16 semi graphics characters was chosen, where two attribute bytes were used for each of the sixteen block combinations, to determine the color of each quadrant of the semi graphics character.
  63. Not point addressable, but through the 8×8 pixel programmable character set
  64. 64×48 by using one of the 16 available characters with a 4×4 pixel (quarter character) text semigraphics pattern
  65. 1K for fonts, (128 8×8 characters) and 1K for character data (768 bytes)
  66. 64×48 using TRS-80 style text semigraphics
  67. for basic system, the Hires expansion board had its own 16K Video RAM
  68. 2, 4 or 16 tints with Hires expansion board; grayscale with monochrome monitor and composite interface only, color with color monitor and composite or TTL RGB interface
  69. 69.0 69.1 Code table 1 contained 16 text semigraphics characters with all combinations of a 2×2 matrix of blocks on and off to use to create a pseudo all points addressable 80×50 mode
  70. The MZ-80 K had very poor graphics capabilities, but the large sets of well-chosen pseudo graphic characters made it possible to still create some enjoyable games, especially when the MZ700 came out which added color
  71. Only seven bits of each byte are defined
  72. The 85/1 and 87 also offer semigraphics, but this mode uses a higher 40x24 resolution
  73. Some of its many clones used CRTCs
  74. Actually there were only seven 1024×1 bit RAMs used in the Model I to store the seven bits per character, but there was an unpopulated socket for an eighth RAM. That is also why lowercase could not easily be accomplished. Of the 128 possible characters 64 were used for the "pseudographics", and the remaining 64 came from a character generator PROM that only contained uppercase characters
  75. actually exists in the Model I character set, but Model I needs an eighth chip (which BASIC needs to be disabled) to display it
  76. each character mapped to a matrix of 2×3 pixels to generate a "semi-high resolution mode". No Video RAM arbitration logic meant that writing to the screen caused a lot of "black snow", that is black stripes in the screen during write accesses.
  77. 77.00 77.01 77.02 77.03 77.04 77.05 77.06 77.07 77.08 77.09 77.10 77.11 77.12 77.13 77.14 77.15 77.16 77.17 77.18 77.19 77.20 77.21 In theory it was possible to draw block graphics on the real high-resolution screen, but it was mostly pointless to do this in practice
  78. 16 colors or shades of green
  79. The framebuffer was built out of discrete logic, but a PAL generated the video timing signals
  80. basically the VDU was built using discrete logic, but a Ferranti ZNA134 was used to generate the video timing pulses
  81. Depending on the resolution 715/1430 bytes, 2860/5720 bytes, 11440/22880 bytes or 15840/31680 bytes of RAM was used
  82. 82.0 82.1 blocky versions of the high resolution graphics mode
  83. The ZNA134 actually generated the correct video timing pulses for lines of 66 characters but the VDU generally would not display these extra columns in text mode
  84. In 4 color mode the logical palette per line was limited to one foreground and one background color, and in 16 color mode it was limited to four. In either mode only one palette color was allowed to be changed at a time.
  85. Calculated as 288×256 pixels/8 = 9216 bytes for pixel data and 384 bytes for grayscale data (2 bits per pixel) for each of the 48 (6-pixel) rows per line
  86. assuming 6×8 pixels per character, details are unclear
  87. soft fonts as characters are drawn only in a graphics mode screen, no text mode hardware exists
  88. Most likely at least 16 to maintain backward compatibility
  89. 89.0 89.1 Part of regular RAM and size depending on graphic resolution
  90. 64×32 when using [math]\displaystyle{ \tfrac{1}{4} }[/math]K of RAM, 64×64 when using [math]\displaystyle{ \tfrac{1}{2} }[/math]K of RAM, 64x128 with 1K of RAM
  91. 91.0 91.1 in practice text was often drawn in the low resolution graphics mode, especially when using the CHIP-8 programming system
  92. With the CDP 1862 also on board either computer could display 8 colors per pixel on a background that could be chosen from 4 colors, boosting its Video RAM support up to 3K
  93. 64x48 when using 384 Bytes of RAM, 64x96 when using 768 Bytes of RAM, 64x192 with 1.5K of RAM
  94. With the CDP 1862 also on board any of these could display 8 colors per pixel on a background that could be chosen from 4 colors, boosting its Video RAM support up to 4.5K
  95. The Apple IIe used two ASICs (the MMU and IOU) to replace most of the discrete logic of the Apple II. All comments for the Apple II apply to the IIe, but the IIe has additional capabilities.
  96. And Apple IIc Plus, which has identical graphics capabilities
  97. has all the capabilities of the Apple IIe, and an improved character set
  98. Most of the discrete logic of earlier Apple IIs has reimplemented in two ASICs: a memory-management unit (MMU) and an input/output unit (IOU). These chips were also used in the IIc.
  99. The Apple IIe used 1K of auxiliary-slot RAM for the 80-column text mode and 8K of auxiliary-slot RAM for Double Hi-Res. A 64K expansion (the "Extended 80-Column Card") was most commonly installed, though Apple also briefly offered a 1K card that only enabled 80-column text.
  100. 100.0 100.1 effectively the color resolution was only 140×192, due to pixel placement restriction
  101. using the "resolution doubler" originally developed for the double low resolution mode uses the second bank of high resolution RAM.
  102. double low resolution mode, using the extra 1K text mode
  103. The Apple IIc now used a small part of the character set to display special "mouse graphics" symbols, and the character ROM was doubled in size, so it was possible to switch to a character set that could display extra local language characters and symbols such as accented letters such as "á", "é", "ç" etc.
  104. The Apple IIe used a hardware character generator, but could not mix text and graphics except by displaying four lines of text beneath the graphics screen, also the text was strictly black and white, so often text on the screen was displayed using software so colored text could be displayed in different fonts.
  105. Video Graphics Chip
  106. using almost half of the system's 4 KB, resulting in only 1.7 KB for (BASIC) programs
  107. 16 foreground, and 16 background colors per character
  108. using TRS-80 like 2×3 Text semigraphics characters, available in the font
  109. Soft logic implementation of MC6847 plus higher color and higher resolution graphics modes
  110. For real 256 color mode, in theory displays artifacts on composite connection
  111. GIME-processed modes use 8x9 or 8x12 character cells
  112. 8 foreground + 8 background
  113. 9 for legacy 32x16 mode
  114. Only intermediate modes available in hardware are 200 lines and glitchy 210 lines where GIME continues processing the last line of real color data "forever"
  115. 115.0 115.1 115.2 The characterset includes 8 (one set for each color) ×16 characters with a 2×2 pixel matrix, with this a mixed text and semi graphics mode can be created that can display pixels in 8 colors against a black background, albeit with some color clash
  116. 116.0 116.1 116.2 Another semigraphics mode, like the 64×32 mode, but exchanging a more limited number of colors for a somewhat higher resolution
  117. palette of 512 colors
  118. The series of Soviet home computers based on PDP-11 architecture
  119. The K1801VP1-037 with 600 logic elements
  120. It was one of the biggest problems of BK, which wasn't corrected even in updated -0011 model that had 128 KB of memory, as 16 KB was VP1-037's hardwired limit due to the low gate count of its host PLA.
  121. BK-0011 only. VDC lacked hardware text modes, so they were simulated in software by BIOS routines. The -0011 model had an updated BIOS that could display "narrow" symbols. It also had some limited palette support.
  122. 16 hardwired 4-color sets selectable from a 64-color palette
  123. BK's VDC was rather primitive and lacked most advanced features except hardware scrolling (implemented through software-controlled framebuffer offset register). However, the fact that the screen output was almost entirely software-generated, together with powerful 16-bit CPU, made possible seamless integration of text and graphics with escape sequence-controlled composite output.
  124. and Enterprise 128, which is the same machine, only with more memory, also known as DPC, Samurai, Oscar, Elan and Flan
  125. In "LORES" mode using half as much memory, the horizontal resolution is halved, while the number of colors remain the same.
  126. In any mode except 256 color mode, it was possible to choose the colors for the restricted set out of the 256 available colors
  127. The Enterprise's "Nick" chip could be programmed to do more than the built-in software supported, so the mentioned resolutions are meant as what the built-in software supported, not as what the hardware could actually do, it's very hard to get reliable data as to what the "Nick" chip could actually do. These figures are gathered from the "Enterprise programming guide"
  128. and Oric Atmos, which is the same system, only with a better keyboard and improved ROM. The STRATOS / IQ 164 was almost identical but was planning to support 16 colors. Although never released, it inspired the French TELESTRAT, which is also very similar to the Oric 1, but was to have 80-column text mode and CP/M.
  129. When in text mode it reads 40 bytes in memory to display a 240-pixel line, that is it uses six bits per byte, six bits are used to choose one of the 64 available characters in the current character set, (which could be switched) the other two bits are used to choose whether either to display the character or to process an attribute. If both bits are zero then the character is simply displayed. If not then space is displayed in the current background color. The most significant bit is a video reverse bit. When an attribute byte is encountered it immediately affects the rest of the line and can switch foreground and background color, switch between character sets, change the height of the character, switch to graphics mode, and more.
  130. Oric also had a programmable character set
  131. through a programmable character set
  132. Unnamed FPGA-based VLSI, further details unknown
  133. Made by VLSI Technology, no nickname known, contents designed by Bruce Gordon
  134. 6 ¾, 12 or 24K
  135. 2-2-2-1 bit RGBI
  136. Ferranti 6C001E ULA
  137. Eight colors, but with two brightness levels, however the "color" black is repeated twice (it was the same with each brightness level), so actually there are just 15 color tints
  138. The Sinclair Spectrum high-resolution screen has serious color limitations. Each 8×8 pixel block can have only one set of foreground and background colors. This is because of the separate 768-byte color table, (one byte for each 8×8 pixel block). In each of these bytes, the lower three bits (0–2) are the background color, the next three higher bits (3–5) are the foreground color and the two remaining high-order bits were used for a "bright" (6th) and a "blinking" (7th) bit. The color limitations of this design can cause some heavy attribute clashes, for which the Spectrum is indeed infamous. For more information see ZX Spectrum graphic modes.
  139. Timex's own CPLD called an "SCLD", made by NCR Corporation for Sinclair, Type "TS 2068 PAL" in a 68-pin QFP
  140. The Copper is a simple programmed system which allows certain Next Registers to be altered automatically at certain scanline positions.
  141. This is how the QL physically simulated up to 256 colors, but an RF connection did not copy this effect to a TV reliably
  142. In 256×256 (eight-color mode), the QL uses one nibble (four bits) per pixel, three bits are used for the color itself, leaving one bit per pixel which is used for turning hardware blinking on or off on a per-pixel basis.
  143. 8000 bytes for pixels; 6000 bytes for color attributes, either 7000 or 8000 bytes for TO7-70
  144. The TO7 used a complex system with color restrictions, Each line is split into 40 spans of 8  pixels and each span can only have two different colors (among eight or sixteen in the case of the TO7-70). This allows representing 8 pixels with 14-16 bits (two three-bit palette entries [either these and one common intensity bit or two four-bit palette entries in the case of the TO7-70], and 8 one-bit pixel entries) instead of 24 bits or 32 in the case of the TO7-70.
  145. Depending on the boot floppy used, the Aster reconfigured its internal memory map for use as a TRS-80 compatible machine or a fully CP/M compatible machine, including the location in the internal memory map of the video memory. In TRS-80 mode it used 1K (16 lines of 64 characters) and used all 8 bits of the character to support a full set of 256 characters, and in CP/M compatible mode it used 2000 bytes (25 lines of 80 characters) of a dedicated 2K memory, using the same character set as the TRS-80 mode
  146. 160×75 only in the CP/M compatible mode
  147. 80x75 only when booted with a special Videotex terminal emulator program
  148. in TRS-80 as well as in CP/M mode the Aster could switch to a display mode where it would only display the odd display memory bytes at double width. The 40×25 mode was initiated when the system was booted with a special Videotex terminal emulator program. In both modes, a hardware "de-snowing" (Video memory arbitration system) system was employed that removed the bothersome "snow" that appeared on a TRS-80 screen whenever the system made a large number of accesses to the video memory. The memory arbitration logic did not need software support, so it also worked with all existing software
  149. Actually, the Aster could display the TRS-80 graphics in black (pixel off), white (pixel on) and one grayscale halfway in-between black and white, which was accomplished by dithering the pixels in the semi-graphics block with a checkerboard pattern
  150. although the original TRS-80 Model 1 did not support lowercase the Aster did. It also supported a second copy of the 2×3 semi graphics set that was dithered to emulate a "grey" version of the TRS-80 graphics pixels, and it supported a set of semi-graphic characters similar to the PETSCII set
  151. The Aster system could switch "on the fly" between two completely different system architectures, and also switched its video logic and memory map accordingly, it also lowered the dot clock (crystal) in CP/M mode, so the 64×16 and 80×25 screens were equally wide
  152. Part of the character-set was programmable
  153. 2K "screen" RAM, 2K of PCG RAM for 128 8×16 characters
  154. Later models up to 56K (8K each screen + "attribute" + color + 32K PCG
  155. 155.0 155.1 Later models also 80×25
  156. Later models 16, 27 and more? but only 2 per character cell
  157. Later models also 26 (limited) full graphics modes from 640x200 to 640x400 in steps of 8 lines and full graphics modes up to 512x512
  158. Later models also 160×75
  159. using the usual TRS-80 semi-graphics trick by programming the font RAM with the needed 2×3 pattern
  160. VRAM 32 KB + 2 KB Character RAM, 2K attribute RAM and 2K Programmable font (PCG) RAM
  161. G version had a NTSC genlocker, and P version a PAL genlocker
  162. Or less when one or more "display pages" were turned off. The Lynx used a display page for each of the three primary colors. For example when the BASIC instruction TEXT was executed the Lynx turned off the display panes for red and blue, so it could reclaim ⅔ of the memory for the display for bigger programs (with all planes on the Lynx had just 16K left for programs) and this also increased the speed of the system because the VDU did not prohibit the CPU access to the memory so often
  163. The Lynx used a trick, the natural resolution of 256 pixels would have called for a display of only 32×24, but by only using 6 pixels wide characters the Lynx could fit in 40 per line, only a very large software overhead was needed, so the display was slow, so slow in fact that the software did not scroll a text screen but simply started on the top line again
  164. Colour Genie used 4080 bytes of video RAM when displaying 160×102 graphics in 4 colors and could use "page flipping" to flip up to 4 different palettes of 4 colors, all of which could be unique
  165. 165.0 165.1 or 40×25 with a ROM upgrade
  166. or 320×200 with a ROM upgrade
  167. White, Red, Yellow, Orange. brown, cyan, magenta, light blue, grey, light yellow, violet, light grey, red-violet, bright white
  168. 168.0 168.1 or 160×102 with upgraded ROMs
  169. or 80×75 with a ROM upgrade
  170. 128 8×8 pixel programmable characters, plus 128 semi graphic characters in two sets.
  171. There is some confusion here, according to some sources, the programmable character generator (PCG) of the X1 used four bits per pixel, which means 64000 bytes of RAM for 640x200 pixels, other data claims only 48000 bytes of VRAM
  172. Not accessed through the memory map, but through the Z80's special instructions to access the "I/O map"
  173. Turbo series used bank switching to store pixel data for 640x400 resolution and probably 12-bit color
  174. It is not obvious whether this is an All Points Addressable mode, or that these are in fact text modes that used the Programmable Character Generator of the X1 to create an illusion that High-Resolution APA graphics were possible. That is, it is possible that the X1 had 1000 (40×25) or even 2000 (80×25) or even more unique programmable characters so that there could be one PCG character for each screen location)
  175. It is not obvious how many unique programmable characters the X1 had, only that they were programmable on a per-pixel basis with 3 or 4 bits per pixel
  176. Turbo series also 80x50 in 640x400
  177. not sure about this either
  178. in a way the PGC is a kind of sprite system
  179. The X1 had a programmable character generator that allowed per-pixel programming with 3 or 4-bit per pixel data. This meant that delicate color graphic "building blocks" could be created on the fly to create bigger full-color graphic elements, not only for text but more specifically for games. Plus the fact that the X1's VRAM was not memory mapped, but used the Z80 unique extended I/O mapping, where normally the i8080 had just 256 I/O locations, the Z80 supported 16-bit I/O addressing, so the "I/O map" could cover 64K. There is confusion as to whether the X1 used 48000 or 64000 bytes of the I/O map to address VRAM, so all of the 64K memory maps could be RAM (except for a small BIOS/IPL ROM).
  180. 2K for characters; 2K for attributes, which is 3 bits for the foreground, and 3 bits for background color, one bit for blinking, and one bit for double-height characters
  181. Most probably just a tweaked semigraphics mode dividing the text screen's characters into a 2x4 (single height) or 2x8 (double height) semigraphics matrix instead of the presumed 2x3 included in the system font
  182. 1K Video ram and 2K character RAM for 128 programmable characters (6×8 Bytes NTSC or 6×9 Bytes PAL, RAM was available for 6×16 which was possible to use via assembler code)
  183. In Assembler the width and/or height of the characters could be doubled, so 20×24, 40×12, and 20×12 was also possible
  184. Using a programmable font (with 128 characters 6 pixels wide and 9 pixels high) that meant that not each pixel of the theoretical 240×192, 240x216 or 240x384 could be individually addressed. In fact at most 128×6×8 = 6144, 128×6×9 = 6912 or 128x6x16 = 12288 individual pixels could be addressed at any one time
  185. One way to create a real high-res mode was to program the character set by dividing the 6x8 or 6×9 pixels of the character into 3x2 and 3×3 zones (like the TRS-80 graphics mode), in this way an 80×72 point addressable high-res mode was feasible using 64 characters
  186. By using the max character size of 6×16, double-height and double-width a resolution of 120×96 was possible using 120 characters (20x6) to fill the complete screen
  187. Except by reprogramming the 64 character set, But BASIC used uppercase only
  188. Like the MZ-80K but with color added, and without a built in CRT
  189. VHiMZ60719GSO Sharp's own custom VLSI
  190. 1000 bytes for (40×25) characters, and another 1000 Bytes for color data
  191. 160×200 with an expansion option
  192. Most probably the PC-8001 used a pseudo graphics mode based on the 80×25 text screen with a 2×4 (2x8 with expansion) pseudo graphics matrix. The 80×25 mode used 2000 bytes, so there were 1072 bytes leftover for attributes. so three bits for the foreground color and three for the background color, the two remaining bits were used for invert and blinking bits
  193. 1K Video RAM and 2K character ROM
  194. Lapierre, Patrice. "Le wiki d'Alice - Hardware". https://alice.system-cfg.com/hardware.php. 
  195. The Matra Alice 90 featured video-in, so EF9345 graphics could be overlaid onto the input video
  196. The Rabbit 83 is probably a copy of the Belgian GEM 1000, and was also brought out, with more memory, as the Brazilian MC-1000. Unlike many other MC6847 based systems (CoCo clones) it didn't use all Motorola chips, like the 6809 CPU. Instead it used a Z80, and the General Instrument AY-3-8910 sound chip. Graphically it was mainly let down by such a low amount of RAM that most 6847 video modes were impossible
  197. The VTech Laser 200 was also called the "Salora Fellow" (mainly in Scandinavia, particularly Finland), the "Texet TX8000" (in the United Kingdom) and the Dick Smith "VZ 200" (in Australia and New Zealand) The Laser 100 and 110 are simpler earlier models
  198. MC-1000 two years after the other two
  199. European TVs of the time generally would not resolve the colors produced by the 6847 because they had no way to synchronize with its 60 Hz timing
  200. Two intensity levels of block graphic characters
  201. There were three models, but the video display capabilities of the first two models differed only slightly
  202. Some later models of the CoCo model 2 used the MC6847T1.
  203. This semigraphics mode technically exists, but the BASIC cannot access it
  204. Later models that used the MC6847T1 did support lower case
  205. or 'Video interface controller', Pertaining to the MOS technology 6560 (NTSC version) and the 6561 (PAL version) chips. These chips did more than supporting the video display, they also provided the sound system, and had two A/D converters for its paddle game control system
  206. The VIC chip in and of itself could address 16K of address space for screen and character memory. But only the 5K that points to internal RAM can be used by it on the VIC-20 (even with a RAM expansion module plugged in) without a hardware modification, and the unexpanded VIC-20 only had a grand total of 5K of which only 512 bytes was reserved for the screen; character shape data was 2K but normally came from ROM, not RAM. Color memory is nibble memory (4 bits per location) that is separate from normal RAM because both have to be accessed at the same time.
  207. 207.0 207.1 8×8 characters, the VIC also supported 8×16 characters; up to 31x29 possible on NTSC machines or up to 32x35 possible on PAL machines
  208. PETSCII contained 2x2 block graphics characters, and the 22x23 standard for the VIC-20 firmware text screen was enough for PETSCII block graphics to significantly beat the Apple II's block graphics mode, although mysteriously nobody really cared much about that at the time.
  209. Like on the PET, 256 different characters could be displayed at a time, normally taken from one of the two character generators in ROM (one for upper-case letters and simple graphics, the other for mixed-case -- non-English characters were not provided)
  210. 176×184 is the standard for the VIC-20 firmware, although up to 248×232p/464i is possible on an NTSC machine and 256x280 is possible on a PAL machine.
  211. 211.0 211.1 211.2 211.3 blocky version of 320x200 mode
  212. The VIC-III would only supply fixed timings, but could access all of palette RAM whichever timing it would be supplying at the time
  213. 213.0 213.1 blocky versions of 320x200 and 320x400 modes
  214. 256-color RAM palette, with 16 intensity levels per primary color (yielding 4096 colors)
  215. Included three interval timers
  216. Not to be confused with VGA. Also known as "CGA plus", the PCjr video subsystem consisted of the Video Gate Array, the 6845, and some discrete logic.
  217. Commonly called "TGA", essentially the same in function as the video circuitry in the PCjr.
  218. From 2K to 96K, in fact all of the system memory could be used as Video RAM, though not all of it was also practically usable, at most 32K could be used by any video mode
  219. CGA tweaked text mode
  220. Up to eight font sets could be stored in video memory
  221. All Acorn A-series machines (A300, A5000, etc.) except A7000(+)
  222. for mouse pointer
  223. No fixed graphics modes, any mode can be generated by supplying timings. Modes are limited only by analog video bandwidth, video RAM, or DRAM bandwidth and the minimum refresh rate monitor will accept. Definitions for common monitors are supplied up to 1600×1200×256cols.
  224. SGP=Super Graphic Processor
  225. some versions supported 65536 (16-bit per pixel) colors
  226. 226.0 226.1 relevant only for very early systems with text mode displays, possible in software for later systems but not generally relevant
  227. Some versions supported 256 out of 65536 colors
  228. Interface Age magazine
  229. one byte for font and one nibble for color, per character, assumed
  230. Details are very sketchy, this is a "best guess" based on the point addressable mode that there seemed to have been; that is, the 168 bytes of video memory were reinterpreted as the 4-bit RGBI values of a column of 336 pixels, being then reloaded 384 times per frame
  231. Details are very sketchy, this is a "best guess" based on 8×8 (blocky) pixel characters, these most likely being of 3x6i high-resolution pixels
  232. text apparently drawn in blocky pixels on high-resolution graphics screen
  233. Including the Atari 400, 600XL, 800/XE/XL, 65XE, 1200XL and 130XE.
  234. The extremely flexible ANTIC chip can access the entire 64K of addressable memory space. But, the highest of all possible resolutions could utilize a maximum of 15K for playfield graphics, plus 2K for Player/Missile Graphics, plus 1K for the character set. However, since multiple redefined character sets are possible the maximum amount of memory in use by ANTIC could be even higher than 18K. Scrolling map memory can occupy any amount of available RAM.
  235. A maximum of 30 Characters can be displayed in a row in PAL. In 48 Characters Width mode, only 42-44 characters are shown on a normal TV.
  236. blocky version of 64/80/96x48 (60) mode
  237. 192 lines is the arbitrary default set by the Operating System when creating display lists. Custom display lists can use fewer or more lines into the display overscan area limited to the hardware's 240 maximum scan lines of playfield graphics.
  238. The default system font includes lowercase letters, and graphics characters for drawing lines, boxes and graphics on the screen. ANTIC also supports a specific "Lowercase with descenders" mode as part of custom display lists, which is not available via a BASIC GRAPHICS mode command. In this mode characters are 10 pixels high and occupy either the upper or lower 8 pixels of that height. This is not strictly speaking a 40×24 text mode, because of the unusual height.
  239. The character set was easily redirected by changing an ANTIC register, allowing the user to create their own character sets with relative ease, or built out of the CTIA/GTIA's P/M Graphics as had to be done with the TIA of the Atari 2600.
  240. MSX wasn't a single machine, but a standard that was followed by various manufacturers. Thus, specs vary between various models and standard revisions. But from the perspective of the video hardware, all MSX1 systems are the same, as they use the same video display generator with 16K of Video-RAM.
  241. The Memotech MTX500, MTX512A and RS128 machines all have the same video capabilities
  242. the TMS9918 is actually a family of devices. The TMS9918A outputs 60 Hz NTSC composite video and TMS9928 and TMS9929 output three separate signals (Y, R-Y and B-Y) with which either a 60 Hz NTSC (TMS9928A) or a 50 Hz PAL or SECAM (TMS9929A) video signal could be created
  243. TMS9918/28 based systems: in 32×24 text mode the character set is divided in 32 blocks of eight characters. each block of eight characters can have a different foreground and background color. This can be used in games, because it is possible to generate a relatively fast high-resolution mode by reprogramming the characters as 8×8 tiles and grouping them together in blocks of eight with the same colors. The tiles can then be manipulated quickly through the character pointer table. Sprites could be used too in this mode, and all 16 colors could be displayed at the same time. Another use is to have four identical character sets, each with 64 characters in them but with different colors. with this character set, it is possible to create a 32×24 text mode that can display texts with four different foreground and background colors at the same time, on the same screen. In 256×192 graphics mode, there is a 2-color limitation for each 8-pixel wide line inside a character.
  244. the MTX character set included only lowercase letters
  245. Except for the ASCII character set the MSX standard did not define the character set, however, most MSX systems sold in the West did have among Greek and other alphabets a large set of semi graphical characters including some for block graphics. Some systems even had the pseudo graphic characters printed on their keys
  246. Second through fourth revisions of MSX standard, significantly extending the machine's capabilities. Most notable change was the so-called MSX-video chip -- an upgraded version of the TMS9918 VDP used in MSX-1 machines -- and its upgraded version the Yamaha V9958, and a corresponding memory upgrade.
  247. Depending on manufacturer or revision. It can only be expanded to 192KB by modding the machine.
  248. 248.0 248.1 26.5 rows aren't supported by default by MSX BASIC, but it's easy to enable it.
  249. vertical only. Horizontal scroll limited to 16 pixels, by using the screen position adjust register.
  250. 1 color per line. Supports combining sprites as bitplanes to allow 3 or 8 colors per line.
  251. MSX2 machines and higher featured advanced VDP, that was somewhat similar in abilities to the Amiga one. It was able to do hardware-accelerated scrolling, bit copy (with logical operations), line drawing, area-filling, and even included overlay support, digitization, mouse and light pen ports. Sprite engine was especially powerful, allowing preprogrammed movement of multicolored (up to 16 colors) sprites. Several VDP exceptions, such as sprite collision and backtracking, had special status flags that, with skillful manipulation of VDP registers, allowed for many visual tricks.
  252. the P2000M had nothing to do with the P2000T; it was a CP/M business machine without any special video attributes, just 80×24 text
  253. Essentially Philips (a TV maker) simply used a video chip used in their TVs for the display of Teletext, I believe it was the SAA5243 but am not completely sure, as Philips used many different Teletext chips. If there is evidence Philips used another chip please correct.[original research?]
  254. 96K for FM-77AV and AV20, 144K for FM-77AV40
  255. The FM-77AV used twelve (AV and AV20) or eighteen (AV40) "graphics planes", four (AV and AV20) or six (AV40) for each primary color, each plane had one bit for each pixel, so it used 8000 bytes, so 192 bytes per plane went unused
  256. The FM-7 used three "graphics planes", one for each primary color, each plane had one bit for each pixel, so it used 16000 bytes, so 384 bytes per plane went unused
  257. due to its use of a separate 6809 processor for graphics, the FM-7 could use a massive 48K of RAM for three 16K bit planes each using 16000 bytes, and the FM-77AV could use an even more massive 96K (AV and AV20) or 144K (AV40) but only for 8K bit planes each using 8000 bytes (why Fujitsu made this decision is a mystery), that way it could have pixels with twelve or eighteen bits to call their own respectively. The remaining 16K or more (32 or 112K for FM-77AV and AV20 or 48 or 176K for FM-77AV40) of RAM was used to store fonts and drawing routines. To communicate with the main CPU the FM-7 used a shared memory system, not unlike the "Tube" of the BBC Micro.
  258. Pertaining to the Amiga 1000, Amiga 2000 and Amiga 500 machines
  259. 259.0 259.1 For DMA memory access and Blitter functions, and a Copper (co-processor), a programmable finite state machine that executes a programmed instruction stream, synchronized with the video hardware
  260. the main video processor. Without using overscan, the display was 320 (low-res) or 640 (hires) pixels wide by 200 (NTSC) or 256 (PAL) tall. It also supported interlacing which doubled the vertical resolution. Anything between 2 and 32 unique colors (1 to 5 bitplanes) from a 12 bit (4096 colors) palette, was supported. A 6th bitplane was available for either the Halfbrite mode that added a copy of the first 32 colors but with half the intensity or Holds And Modify mode which allowed access to all 4096 colors at once. Denise supported eight sprites, smooth scrolling, and "dual playfield". For more information see Original Amiga chipset.
  261. Older versions could only access 512K Chip RAM
  262. All text output rendered by Blitter or software in any graphics mode
  263. 263.0 263.1 320×256p, 640×256p, 320×512i or 640×512i in PAL mode
  264. The Amiga's hardware engine supports only 8 sprites, but with copper support, can present the illusion of many more. Each sprite is drawn in a certain position until the raster beam has passed it; the copper can then instantly change its location and appearance, moving it below the raster beam again
  265. 3 colors (plus a fourth transparent "color"). Two sprites could be attached to make a single 15-color sprite.
  266. Too many to mention, see Original Amiga chipset
  267. Pertaining to the Amiga 3000 machines
  268. Could do all the things the original Agnus chip could and added support for Productivity (640×480 noninterlaced) and Super Highres (1280×200 or 1280×256) display modes, which were however limited to only 4 colors. Also the blitter could copy regions larger than 1024×1024 pixels in one operation. Sprites could be displayed in border regions (outside of any display window where bitplanes are shown).
  269. 269.0 269.1 Now In non interlaced too
  270. Even more features than the original chipset, see Enhanced Amiga chipset
  271. used in the CD32, Amiga 1200 and Amiga 4000.
  272. AGA is able to do 8-bit pixels, which gives 256 colors in normal display mode and 262144 colors in HAM-8 (Hold-And-Modify) mode (18-bit color, 6 bits per RGB channel). Palette for AGA chipset is 256 entries from 16,777,216 colors (24-bit). The original Amiga chipset (OCS) had 4096 colors (12-bit, 4 bits per RGB channel), of which 32 could be displayed unless in half-bright (which provided an additional 32 colors fixed at half the brightness of the first 32) or HAM mode.
  273. Other features added to AGA over ECS were SuperHiRes, smooth scrolling, and 32-bit fast page memory fetches to supply the graphics data bandwidth for 8 bitplane graphics modes and wider sprites see Advanced Graphics Architecture, the CD32 has an Akiko bitmap to planar conversion chip
  274. An alternative 80×25 text mode card later also became available
  275. YPbPr (40 column mode), RGBI (80 column mode)
  276. Unique in that the system contained two different video circuits with separate outputs
  277. All text output produced by software in high-res graphics modes
  278. Fullscreen up to 26x36, 52x36, 104x36
  279. Fullscreen up to 208x288, 416x288, 832x288
  280. with an independent palette of 15 colors, but sprite pixels can also be transparent, and each logical color can be any of 4096 colors
  281. three levels of magnification, 1×, 2× and 4×. Independent for X and Y axis
  282. Additional screen controls have been added to allow split screen operation and facilitate smooth scrolling.
  283. The teletext mode only used 1K of memory, the others from 8 to 20K as needed
  284. Using Teletext mode with the aid of an SAA5050, in this mode the Beeb only needed 1K RAM for 40x25 characters of text
  285. by using serial attributes, as common in Teletext systems
  286. spaced display with two blank horizontal lines following every 8 pixel lines
  287. using the 2×3 block graphics of teletext mode
  288. Modes 0 to 6 could display a choice of colors from a logical palette of sixteen, though only eight colors were available; the eight basic RGB colors (0-black, 1-red, 2-green, 3-yellow, 4-blue, 5-magenta, 6-cyan, 7-white) and eight colors in a flashing state, (8-black/white, 9-red/cyan, 10-green/magenta, 11-yellow/blue, 12-blue/yellow, 13-magenta/green, 14-cyan/red, 15-white/black)
  289. Mode 7 was a Teletext mode and extremely economfical on memory, using only 1K, In addition, the BBC B+ and the later Master allowed 'shadow modes', where the framebuffer was stored in 20 K of extra RAM mapped to location 0x8000 onwards ('shadowing' the BASIC ROM mapped to that area), instead of taking up the user memory below 0x8000. This feature was enabled by setting bit 7 of the mode variable, i.e. by requesting modes 128–135.
  290. Teletext graphics, using text semigraphics characters, unlike the TRS-80 the pseudo graphics characters came in two kinds, "massive" and "separate", the first is exactly like the TRS-80, the second has each "pixel block" surrounded by a narrow line of background color
  291. Used a chip designed to display Teletext in TV's. This "video co-processor" uses "serial attributes" for its "teletext text mode"
  292. The two main CRT Controller chips were called "VINAS 1 + 2", later models used a chip called VICON. The "Video Controller" was called "VSOP", or in later models "VIPS". The separate "Sprite Controller" was called "CYNTHIA / Jr" in its first incarnation, and later just "CYNTHIA", then last but not least there was the "Video Data Selector" first called (strangely enough) "RESERVE", but later more fanciful "CATHY"
  293. 512KB Text VRAM, 512KB Graphic VRAM, 32KB Sprite VRAM
  294. The X68000 had a separate 768KB Character Generator ROM, with fonts for 16×16, 8×16, 8×8 and JIS 1 + 2 characters.
  295. software rendered
  296. Hardware scrolling, priority control, super-impose
  297. Potentially drawn on graphics screen