The MC6847 is a video chip with no registers. A program cannot write to it at all. The chip reads a block of memory over its own address lines and turns it into a television picture, and eight input pins decide how that memory is read: as text, as chunky block graphics, or as one of eight bitmap modes up to 256×192. Whatever the computer wants to change about the picture, it changes by changing the memory or the levels on those pins.
Motorola built it for American NTSC televisions and for its own 6800 family of processors. Terry Ritter, who co-designed the 6809, was co-architect of the 6847 too, according to BYTE in January 1979. By that September, colour graphics boards built around it were advertised for S-100 computers. It went on to draw the picture in Tandy’s Color Computer, the Dragon 32 and Dragon 64, and Acorn’s Atom.
Fast facts
- Maker: Motorola, Austin, Texas.
- On sale: by September 1979.
- Versions: MC6847, non-interlaced, “recommended for use in systems (i.e., TV games and personal computers)”; MC6847Y, interlaced, for broadcast-standard pictures.
- Clock: 3.579545 MHz, the NTSC colour carrier.
- Text: 32×16 characters from an internal ROM of 64, upper case only.
- Graphics: eight bitmap modes, 64×64 to 256×192.
- Colours: eight, in two sets of four, plus black.
- Registers: none. Mode pins, set by the host computer.
- Used in: TRS-80 Color Computer 1 and 2, Dragon 32 and 64, Acorn Atom.
How it works
The VDG puts out a 13-bit address on its own pins, DA0–DA12, and reads the byte that comes back from RAM. It steps through the screen memory from the top left, one byte after another. When the processor needs the memory, the host pulls the chip’s memory-select pin (MS) low, and the VDG releases the address lines. In the Color Computer and the Dragon the SAM chip arranges this sharing, so the processor and the VDG take turns on the same RAM without either seeing the other.
Each field is 262 lines, sent 60 times a second, with 192 lines of picture in the middle. The field sync output (FS) marks the end of the picture area, and Motorola suggested using it as an interrupt: it gives the processor “a total of thirty-two scan lines or 2.03 ms to update the display memory” before the next picture starts.
Display modes
Motorola groups the fourteen modes into two major modes. Major mode 1 holds the four text modes and the two semigraphic ones. Major mode 2 holds the eight bitmap modes: four “colour graphics” modes with two bits per pixel and four “resolution graphics” modes with one.
| Mode | Resolution | Colours | Memory |
|---|---|---|---|
| Alphanumeric (internal or external ROM, each with an inverted variant) | 32×16 characters | 2 | 512 bytes |
| Semigraphics 4 (SG4) | 64×32 | 8 | 512 bytes |
| Semigraphics 6 (SG6) | 64×48 | 8 | 512 bytes |
| Color Graphics One (CG1) | 64×64 | 4 | 1K |
| Resolution Graphics One (RG1) | 128×64 | 2 | 1K |
| Color Graphics Two (CG2) | 128×64 | 4 | 2K |
| Resolution Graphics Two (RG2) | 128×96 | 2 | 1.5K |
| Color Graphics Three (CG3) | 128×96 | 4 | 3K |
| Resolution Graphics Three (RG3) | 128×192 | 2 | 3K |
| Color Graphics Six (CG6) | 128×192 | 4 | 6K |
| Resolution Graphics Six (RG6) | 256×192 | 2 | 6K |
The table shows the trade the chip forces. Four colours cost half the horizontal resolution of two. The Dragon’s and Color Computer’s BASIC exposes the top modes as PMODE 3 (128×192, four colours) and PMODE 4 (256×192, two).
Text. The internal ROM holds “64 standard 5x7 dot matrix characters from standard 6-bit ASCII input”, placed in a cell 8 dots wide and 12 lines high. Sixty-four characters from six bits means capitals, digits and punctuation, with no lower case. The other two bits of each byte are free for inverse video, colour or switching to an external character generator, one character at a time. Motorola suggested an external ROM “for those who wish to display lower case letters”. Text appears in green on dark green, or orange on dark orange.
Semigraphics. The two semigraphic modes divide the text cell rather than drawing a separate bitmap. SG4 splits each 8×12 cell into four blocks: the four low bits of the byte choose one of sixteen patterns and the next three choose the colour. SG6 splits it into six blocks, giving sixty-four patterns and fewer colour bits. Because these modes share the text layout, programs can mix text and block graphics freely, character by character. In the Dragon the relevant mode pins are wired to data bits 6 and 7, so each byte in screen memory chooses for itself.
Bitmap modes cannot be mixed so easily. Motorola warns that “care must be taken” when switching modes partway down the screen in major mode 2, because the only compatible pairs are CG1 with RG1 and CG6 with RG6. Switching between text and graphics element by element “is impractical” without extra hardware. On the Color Computer and Dragon, as Retro Gamer later pointed out, that made it hard for a game in a graphics mode simply to print a word like “score” on screen: it had to draw the letters itself.
Colour
The VDG does not have a palette in the modern sense. Its analogue outputs, a luminance signal and two colour-difference signals, can together “specify one of eight colors”, and the colour-set select pin (CSS) chooses which four are available. In the four-colour bitmap modes, set 0 is green, yellow, blue and red, and set 1 is buff, cyan, magenta and orange. In the two-colour modes the choice is black and green or black and buff. The border in the bitmap modes is green or buff to match.
A program cannot pick any four colours it likes. It picks one of two fixed groups.
Artifact colours
The chip’s densest mode had a side effect that Color Computer programmers used deliberately. In RG6, each pixel is half a cycle of the 3.58 MHz colour carrier wide, the smallest element the chip can draw. A run of alternating lit and unlit pixels therefore makes a signal at the colour carrier’s own frequency, and a colour television decodes it as colour. Motorola’s data sheet notes that colour burst, the timing reference a television uses to decode colour, is suppressed in the densest two-colour modes, and that “this leads to some interesting rainbow effects on the display which is frequency and pattern dependent”.
On the CoCo those effects became a technique. Games drew in PMODE 4 with patterns of pixels that a composite television showed as red and blue, with yellows, greens and purples where the patterns met. Artifact colours came from the television, not the computer, so they vanished on an RGB monitor. When the CoCo 3 arrived with RGB output in 1986, Swygert noted that “programs using artifacted colors will display as black and white on an RGB monitor”.
Where it was used
- Tandy TRS-80 Color Computer and Color Computer 2 (1980 and 1983), with Motorola’s MC6883 SAM and the 6809E.
- Dragon 32 and Dragon 64 (1982 and 1983), with the same partners. The chip was designed for NTSC, and the Dragon’s designers had to adapt it to the British PAL system.
- Acorn Atom (1980), a 6502 machine, which lists the 6847 as its video display generator.
- S-100 graphics boards for hobbyist computers from 1979, among them the CGS-808 advertised in BYTE.
The Color Computer 3 of 1986 replaced it with a custom Tandy chip that could still produce the old modes for compatibility.
Sources
- Motorola, MC6847/MC6847Y MOS Video Display Generator data sheet, 1984: features, the two versions, signal descriptions (clock, address and memory-select lines, field sync,
CSS), the internal character ROM, display modes and memory sizes (Tables 1 and 2), semigraphic encodings, mode switching, and colour burst suppression in the densest modes. - BYTE, January 1979, p. 15: Terry Ritter as co-architect of the 6847. September 1979, p. 152: advertisement for the CGS-808 colour graphics board.
- Radio Shack, TRS-80 Color Computer Technical Reference Manual, 1981: the 6847 and SAM in the Color Computer.
- Duncan Smeed and Ian Sommerville, Inside the Dragon (Addison-Wesley, 1983), pp. 154-155: the Dragon’s graphics chips, and
A/SandINVwired to data bits 6 and 7. - Motorola, MC6883 Synchronous Address Multiplexer data sheet: interleaved access to shared RAM, so that the processor “is not slowed down nor stopped”.
- Duncan Smeed and Ian Sommerville, Inside the Dragon, sections 7.4 and 7.5:
PMODE 3as 128×192 in four colours andPMODE 4as 256×192. - Radio Shack, Getting Started with Extended Color BASIC, 1984, Table 17-1: the PMODE settings.
- Retro Gamer issue 37, 2007, Dragon 32 feature: text and graphics could not be mixed, so games could not easily print legends such as “score”.
- Tim Danton, The Computers That Made Britain (Raspberry Pi Press, 2021), pp. 140-151: Ian Thompson-Bell on adapting the NTSC chip to PAL for the Dragon.
- Acorn Computers, Acorn Atom Technical Manual, 1980: component list.
- F. G. Swygert, Tandy’s Little Wonder: The Color Computer 1979-1991 (FARNA Systems, 1993), p. 67: artifact colours and RGB monitors.
- Robert Gault, “Emulator Sand Patch”, The World of 68’ Micros, January 1998, p. 19: the red, blue and intermediate artifact colours.
- Tandy Corporation, Color Computer 3 service manual: the ACVC’s compatibility with Color Computer 1 and 2 modes.
See also
- Motorola 6809
- TRS-80 Color Computer
- Dragon 32
- VIC-II and the Spectrum’s ULA: later video chips that took a different approach to colour.