List of home computers by video hardware
{{Short description|none}}
{{multiple issues|
{{Cleanup|date=June 2021|reason=300+ tangential footnotes and only a handful of sources}}
{{Essay-like|date=June 2021}}
}}
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 early home computers are the TRS-80, Atari 8-bit computers, BBC Micro, ZX Spectrum, MSX, Amstrad CPC 464, and Commodore 64. Examples of 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.
File:Cpc464.computer.750pix.jpg 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.[https://web.archive.org/web/20071026113541/http://www.gamasutra.com/view/feature/1991/a_history_of_gaming_platforms_the_.php?print=1 History of the C64 as gaming platform] 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.[http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm 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] 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 =
= Systems using software-driven video generation =
=Systems using discrete logic=
== With independent text mode(s) ==
== Without independent text mode(s) ==
class="wikitable" style="font-size: 90%;"
|+ !System name !Year !{{verth|Chip name}} !Video RAM !Video mode(s) !color resolution !{{verth|Font extras}} !{{verth|soft fonts}} !palette support !unique features |
Apple III
|1980 | |64K |40×24 Text in 280×192 Graphics or 80×24 in 560×192In theory it was possible to draw block graphics on the real high-resolution screen, but it was mostly pointless to do this in practice 2 or 16 colors16 colors or shades of green |140x192, 280x192; 140x192, 560x192 | rowspan="3" |LC | | |228 programmable characters, bundled with Apple II software emulator |
Apple Lisa/Macintosh XL
|1983 | |Presumably 2x32760 bytes |drawn by software on 720x364r/608x432s mono, (4 gray scales) |(720x364r/608x432s) | rowspan="2" {{Yes}} | | |
Apple Macintosh 128K and other compact models
|1984 | {{sdash}}The framebuffer was built out of discrete logic, but a PAL generated the video timing signals |2x21888 bytes |drawn by software on 512x342 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 |88×65, 176×130,blocky versions of the high resolution graphics mode 352×260, 60x24The 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 Text in 528×240 Graphics 4 or 16 colors |88×65, 176×130, 352×260, 528×240 |LC | {{sdash}} |split screen text and graphics mode with 4-line caption |
PMD 85
|1985 | |48×32assuming 6×8 pixels per character, details are unclear Text in 288×256 Graphics 4 gray-scales, 4 colors for 85/3 |288x256 |LCsoft fonts as characters are drawn only in a graphics mode screen, no text mode hardware exists | |4 out of ? gray-scales, 4 out of ?Most likely at least 16 to maintain backward compatibility colors for 85/3 |no text modes, only a single 288×256x2 bits per pixel graphics mode |
Tiki 100
|1984 | {{sdash}} |32K |40×25 Text in 256×256 Graphics 16 colors, 80×25 in 512×256 4 colors, 160×25 in 1024×256 2 colors |256×256, 512×256, 1024×256 |LC |{{Yes}} |256 |SC |
Robotron KC 85/2
| 1984 | rowspan=2 | | rowspan=2 | 16K | rowspan=2 | 320x256 | rowspan=2 | 40x64 (16fg8bg) | | rowspan=2 {{Yes}} | rowspan=2 {{No}} | rowspan=2 | CPU VRAM access can cause visual distortions, Half-character attribute cells (8x4){{efn|group=t_discrete_notext|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}} |
KC 85/3
| 1986 | LC |
KC 85/4
| 1988 | | 64K | 320x256 | 40x256 (16fg8bg), 320x256 (4{{efn|group=t_discrete_notext|white, black, red, cyan}}) | 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 |
{{notelist|group=t_discrete_notext}}
= Systems using simple Video Shift Registers =
=Systems using custom logic ICs=
== With independent text mode(s) ==
== Without independent text mode(s) ==
=Systems using a CRTC=
== [[MC6845]] or second source ==
=== With independent text mode(s) ===
{{sort under}}
=== Without independent text mode(s) ===
== Other models ==
class="wikitable" style="font-size: 90%;"
|+ ! rowspan="2" |System name ! rowspan="2" |Year ! rowspan="2" |Chip name ! rowspan="2" |Video RAM ! colspan="2" |Video mode(s) ! rowspan="2" |color resolution ! rowspan="2" {{verth|Font extras}} ! rowspan="2" |soft fonts ! rowspan="2" |palette support ! rowspan="2" {{verth|HW accel}} ! rowspan="2" |unique features |
Text
!Graphics |
---|
Compucolor II
|1977 |SMSC CRT5027 |64×32 or 64×16 8 colors on 13" built-in color screen |"Full": Limited 512x256 8 colors Semi: 128×128Most 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 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 |40×24In Assembler the width and/or height of the characters could be doubled, so 20×24, 40×12, and 20×12 was also possible 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)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 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×72One 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/120×96By 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 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, SGExcept by reprogramming the 64 character set, But BASIC used uppercase only |{{Yes}} |{{dunno|8 foregrounds | | |
Durango F-85
|1977 |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-700Like the MZ-80K but with color added, and without a built in CRT
|1982 |M60719VHiMZ60719GSO Sharp's own custom VLSI |2000 Bytes1000 bytes for (40×25) characters, and another 1000 Bytes for color data |40×25 8 colors |"full": Limited 320x200 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×100160×200 with an expansion optionMost 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 8 colors |320x200 or 640x200, 80x25 |LC, BG |{{No}} | | | |
Robotron 1715
|1984 |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 |1K1K Video RAM and 2K character ROM |Presumably 40x24 8 colors |Semi: 80x72 8 colors |40x24 |LC |{{No}} | | | |
Matra Alice 32/90 and clones and Philips VG5000
|1984 |8K |32×16, 40×25 or 80×25 9 colors |Full: 160×125 or 320×250{{Cite web|last=Lapierre|first=Patrice|date=|title=Le wiki d'Alice - Hardware|url=https://alice.system-cfg.com/hardware.php|access-date=4 April 2018|website=Le wiki d'Alice}} 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 InputThe Matra Alice 90 featured video-in, so EF9345 graphics could be overlaid onto the input video |
=Systems using a Video Interface Controller=
== [[MC6847]] or second source ==
{{sort under}}
class="wikitable sortable sort-under" style="font-size: 90%;"
! rowspan="2" |System name | rowspan="2" {{verth|Year}} | rowspan="2" {{verth| Chip name}} | colspan="2" | Video mode(s) | rowspan="2" | color resolution | rowspan="2" {{verth| Font extras}} | rowspan="2" |HW accel | rowspan="2" | Sprite details |
{{verth|Text}}
! {{verth|Graphics}} | |||||||
---|---|---|---|---|---|---|---|
Acorn Atom, APF Imagination Machine, APF-MP1000, GEM 1000 / Charlemagne 999,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 Laser 100/110, Laser 200/210 and 310,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 SPC-1000 (later models), CCE MC-1000, Gakken Compact Vision TV Boy, Dragon 32/64, TRS-80 MC-10 and clones | | 1978, 1979, 1980, 1981, 1982, 1983, 1985 MC-1000 two years after the other two | {{verth|va=middle|MC6847}} | rowspan="4" {{verth|va=middle| 32×16 9 colors}}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 | rowspan="2" |Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors or 256×192 2 colors Semi: 64×32 9 colors or 64×48 4 colors | rowspan="2" |64×64, 128×64, 128×96, 128×192 or 256×192; 64×32 or 64×48 | rowspan="2" | BGTwo intensity levels of block graphic characters | colspan="2" rowspan="2" {{CNone|None}} | ||||||
SPC-1000 (early models) | 1983 | {{verth|va=middle|AMI S68047}} | |||||
NEC PC-6001
|1981 |{{verth|va=middle|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: 64×32 9 colors or 64×48 4 or 9 colors |64×64, 128×64, 128×96, 128×192, 256×128 or 256×192; 64×32 or 64×48 | | | | |||||||
TRS-80 Color Computer 1 & 2 and clonesThere were three models, but the video display capabilities of the first two models differed only slightly | 1980
| {{verth|va=middle|MC6847Some later models of the CoCo model 2 used the MC6847T1.+MC6883}} |Full: 64×64 4 colors, 128×64, 128×96, 128×192 2 or 4 colors or 256×192 Semi: 64×32 (64×64, 64×96 or 64×192This semigraphics mode technically exists, but the BASIC cannot access it) 9 colors, 64×48 4 colors |64×64, 128×64, 128×96, 128×192 or 256×192; 64×32, 64×48, 64×64, 64×96 or 64×192 | BGLater models that used the MC6847T1 did support lower case | colspan="2" |The MC6883 could actually be used as a limited sort of sprite hardware in semigraphics modes, making them in practice limited 256×192×9 graphics modes |
== Other models ==
=== With independent text mode(s) ===
class="wikitable" style="font-size: 90%;"
|+ ! rowspan="2" |System name ! rowspan="2" {{verth|va=middle|Year}} ! rowspan="2" |Chip name ! rowspan="2" {{verth|va=middle|Video RAM}} ! colspan="2" |Video mode(s) ! rowspan="2" |color resolution ! rowspan="2" {{verth|va=middle|Font extras}} ! rowspan="2" |soft fonts ! rowspan="2" |palette support ! rowspan="2" {{verth|va=middle|HW accel}} ! rowspan="2" |Sprite details ! rowspan="2" |unique features |
Text
!Graphics |
---|
VIC-20
|{{verth|va=middle|1980}} |VICor '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 |22×238×8 characters, the VIC also supported 8×16 characters; up to 31x29 possible on NTSC machines or up to 32x35 possible on PAL machines 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 setPETSCII 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. |{{verth|va=middle|LC, BG, SGLike 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)}} | rowspan="4" {{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 | colspan="2" |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 mode176×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. |
Commodore 64
|{{verth|va=middle|1982}} |{{verth|va=middle|16K}} |40×25 16 colors |Full: 160×200blocky version of 320x200 mode or 320×200 16 colors (semi: 80×50 16 colors using part of its pseudo graphic characters set) |40x25 | rowspan="3" |LC, BG, SG |1 (320 px) or 3 (160 px) foreground + 1 background out of 16 |{{verth|va=middle|SP, SC}} | rowspan="2" |S#= 8 SS= 24×21, 12×21 SC=1 SP=8 |{{some|Many}} |
Commodore 65
|{{verth|va=middle|1991}} |{{verth|va=middle|up to 500K supportedThe VIC-III would only supply fixed timings, but could access all of palette RAM whichever timing it would be supplying at the time}} |40×25 or 80×25 16 colors |full: 160×200, 160×400,blocky versions of 320x200 and 320x400 modes 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, 320×200, 320×400, 640×200, 640×400, 1280×200 or 1280×400 |4096256-color RAM palette, with 16 intensity levels per primary color (yielding 4096 colors) |{{verth|va=middle|SP, SC, BL}} |All the Commodore 64, plus DMA blitter support & genlock. |
Commodore 16, 116 and Plus/4
|{{verth|va=middle|1984}} |TED |{{verth|va=middle|8K}} |40×25 16 colors |Full: 160×200 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 | colspan="2" {{CNone|None}} |{{Some}}Included three interval timers |
IBM PCjr & Tandy 1000
|{{verth|va=middle|1984}} |"Video Gate Array" + 6845 (PCjr)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. / Tandy proprietary chipCommonly called "TGA", essentially the same in function as the video circuitry in the PCjr. |{{verth|va=middle|32KFrom 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}} |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×100CGA tweaked text mode 16 colors) |40×25 or 80x25; 160×200, 320×200 or 640×200 |{{verth|va=middle|LC}} |{{No}} |2 or 4 out of 16 | | | |
IBM PS/1
|{{verth|va=middle|1990}} |"VGA" |{{verth|va=middle|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 |Commonly 640×480, 640×400, 640×350 or 320×200 |{{verth|va=middle|LC}} |{{Yes}}Up to eight font sets could be stored in video memory |16 or 256 colors out of a 262144 colors palette (6 bit per RGB channel) |SC | {{sdash}} |
=== Without independent text mode(s) ===
class="wikitable" style="font-size: 90%;"
!System name !Year !Chip name !Video RAM !Video mode(s) !color resolution !{{verth|Font extras}} !{{verth|soft fonts}} !palette support !{{verth|HW accel}} !Sprite details !unique features |
Acorn ArchimedesAll Acorn A-series machines (A300, A5000, etc.) except A7000(+)
|1987 |480KB (from system RAM) |Text sized by software in Flexible Graphics, no more than 256 colors (e.g. 800×600 16cols) |up to 1152x896 | rowspan="2" |LC | rowspan="2" {{Yes}} |16 groups of 16 from 4096 | rowspan="2" |SP | rowspan="2" |S#= 1for mouse pointer SS= 32×n SC=3 SP=1 | rowspan="2" | |
Acorn RiscPC
|1994 |2MB, 1MB |Text sized by software in Flexible Graphics, up to 16M colors (e.g. 1600×1200 256cols)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. |up to 1600x1200 |In ≤256 color modes |
NEC PC-8801
|1981 |SGPSGP=Super Graphic Processor |48K |Full: 80×25 Text in 640×200 Graphics, 640×400 2 colors, 40×25 in 320×200 or 320×400 8 colorssome versions supported 65536 (16-bit per pixel) colors Semi: 160×100relevant only for very early systems with text mode displays, possible in software for later systems but not generally relevant 8 colors |160x100; 640×200, 640×400, 320×200 or 320×400 |LC, BG, SG |{{Yes}} |8 or 2 out of 512Some versions supported 256 out of 65536 colors | colspan="2" {{No}} |early highres support |
VideoBrain
|1978 |168 bytesone byte for font and one nibble for color, per character, assumed 16×7 Text in 128x56Details are very sketchy, this is a "best guess" based on 8×8 (blocky) pixel characters, these most likely being of 3x6i high-resolution pixels Semigraphics 16 colors |16×7, 384x336i |SGtext apparently drawn in blocky pixels on high-resolution graphics screen |{{No}} | colspan="3" {{CNone|None}} | |
=Systems using a video co-processor=
== With independent text mode(s) ==
== Without independent text mode(s) ==
=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.
{{sort under}}
class="wikitable sortable sort-under" style="font-size: 90%;"
! rowspan="2" |System name | rowspan="2" {{verth|va=middle|Year}} | rowspan="2" | Chip name | rowspan="2" | Video RAM | colspan="2" | Video mode(s) | rowspan="2" | color resolution | rowspan="2" | Font extras | rowspan="2" | soft fonts | rowspan="2" | palette support | rowspan="2" |HW accel | rowspan="2" | Sprite details | rowspan="2" |unique features |
Text
!Graphics | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Acorn Eurocard systemsAn alternative 80×25 text mode card later also became available
| {{verth|va=middle|1980}} | MC6845 + SAA5050 | 1K | 40×25 8 colors
|Semi: 80×75 8 colors |40x25 | LC, BG | rowspan="3" {{No}} | colspan="3" {{CNone|None}} | |||||
Commodore CBM-II Series
|{{verth|va=middle|1982}} |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 | {{verth|va=middle|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 colorsYPbPr (40 column mode), RGBI (80 column mode)
|Full: 160×200 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 circuitsUnique in that the system contained two different video circuits with separate outputs | |||
Amstrad CPC | {{verth|va=middle|1984, 1990}} | MC6845+ASIC | 16K | 20×25 16 colors, 40×25 4 colors or 80×25All text output produced by software in high-res graphics modesFullscreen up to 26x36, 52x36, 104x36 2 colors
|160×200 16 colors, 320×200 4 colors or 640×200Fullscreen up to 208x288, 416x288, 832x288 2 colors |160×200, 320×200 or 640×200 | LC | {{Yes}} | 17 of 27 (original), 32 of 4096 (Plus) | SC, SP (Plus) | S#=16with an independent palette of 15 colors, but sprite pixels can also be transparent, and each logical color can be any of 4096 colors SS=16×16three levels of magnification, 1×, 2× and 4×. Independent for X and Y axis SC=1 SP=16 (Plus) | 3-level RGB (original), screen controlAdditional screen controls have been added to allow split screen operation and facilitate smooth scrolling. (Plus) | |
BBC Micro | {{verth|va=middle|1981}} | MC6845+SAA5050 | 20K (max)The teletext mode only used 1K of memory, the others from 8 to 20K as neededUsing Teletext mode with the aid of an SAA5050, in this mode the Beeb only needed 1K RAM for 40x25 characters of text | 80×32 or 80×25 2 colors, 40×32 2 or 4 colors, 40×25 2, 4 or 8 colors,by using serial attributes, as common in Teletext systems 20×32 4 or 8 colors
|Full: 640×256, 640×200spaced display with two blank horizontal lines following every 8 pixel lines 2 colors, 320×256, 320×200 2 or 4 colors or 160×256 4 or 8 colors Semi: 80×75using the 2×3 block graphics of teletext mode 8 colors |640×256, 320×256, 160×256, 640×200 or 320×200; 40x25 | rowspan="3" | LC, BG | rowspan="2" {{No}} | 16Modes 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) | colspan="2" rowspan="3" {{CNone|None}} | Teletext mode, shadow RAM supportMode 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. | |||
NEC PC-6001 MKII
|{{verth|va=middle|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 | {{sdash}} | |||||||||||
Polycorp Poly-1 | {{verth|va=middle|1980}} | 2 x SAA5050 + SAA5020 + discrete logic | 48K | 40×24, 80x20 8 colors
|Full: 240x204 or 480x204 8 colors Semi: 80×72Teletext 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 8 colors |240x204 or 480x204, 40×24 | {{CNone|None}} | Also used three Teletext chips designed for TV's.Used a chip designed to display Teletext in TV's. This "video co-processor" uses "serial attributes" for its "teletext text mode"| | |||||
Sharp X68000
|{{verth|va=middle|1987}} |1056K512KB Text VRAM, 512KB Graphic VRAM, 32KB Sprite VRAM |from 16×16 to 128×128The X68000 had a separate 768KB Character Generator ROM, with fonts for 16×16, 8×16, 8×8 and JIS 1 + 2 characters. 256 colors |from 256×256 to 1024×1024 256 colors |from 256×256 to 1024×1024 |LC |{{Yes}}software rendered |65,536 Palette |SP |S#=128 SS=16×16 SC=16 SP=32 |special hardware optionsHardware scrolling, priority control, super-impose |
=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.
class="wikitable" style="font-size: 90%;"
! rowspan="2" | System name | rowspan="2" | Year | rowspan="2" | Chip name | rowspan="2" | Video RAM | colspan="2" | Video mode(s) | rowspan="2" | color resolution | rowspan="2" | Font extras | rowspan="2" | soft fonts | rowspan="2" | palette support |
Text
!Graphics | ||||||||
---|---|---|---|---|---|---|---|---|
Agat series | 1983 | rowspan="3" {{Unknown}} | 8 KB | 32×32 16 colors
|64x64 16 colors, 128x128 8 colors or 256×256 2 colors |64x64, 128x128 or 256×256 | rowspan="3" | 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 64x32Potentially drawn on graphics screen 2 or 4 colors
|256×256 2 or 16 colors or 512x256 2 or 4 colors |256×256 or 512x256 | {{Unknown}}
|256 |