Motorola 6847
The MC6847 is a Video Display Generator first introduced by Motorola in 1978 and used in the TRS-80 Color Computer, Dragon 32/64, Laser 200, TRS-80 MC-10/Matra Alice, NEC PC-6000 series, Acorn Atom, Gakken Compact Vision TV Boy and the APF Imagination Machine, among others. It is a relatively simple display generator intended for NTSC television output: capable of displaying alphanumeric text, semigraphics, and raster graphics contained within a roughly square display matrix 256 pixels wide by 192 lines high.
The ROM includes a 5 x 7 pixel font, compatible with 6-bit ASCII. Effects such as inverse video or colored text are possible.
The hardware palette is composed of twelve colors: black, green, yellow, blue, red, buff, cyan, magenta, and orange. According to the MC6847 datasheet, the colors are formed by the combination of three signals: with 6 possible levels, and , based on the YPbPr colorspace, and then converted for output into a NTSC analog signal.
The low display resolution is a necessity of using television sets as display monitors. Making the display wider risked cutting off characters due to overscan. Compressing more dots into the display window would easily exceed the resolution of the television and be useless.
Variants
According to the datasheets, there are non-interlaced and interlaced variants, plus the 6847T1. The chips can be found with ceramic, plastic or CERDIP packages.Signal levels and color palette
The chip outputs a NTSC-compatible progressive scan signal composed of one field of 262 lines 60 times per second.According to the MC6847 datasheet, colors are formed by the combination of three signals: luminance and and chroma, according to the YPbPr color space.
may assume one of these voltages: "Black" = 0.72V, "White Low" = 0.65V, "White Medium" = 0.54V and "White High" = 0.42V.
and may be: "Output Low" = 1.0V, "R" = 1.5V and "Input High" = 2.0V.
The following table shows possible signal value combinations, based on page 317 of the datasheet:
| border left | Green | Yellow | Blue | Red | Buff | Cyan | Magenta | Orange | border right | |
| 0.42, 0.54, 0.65, 0.72 | 0.54 | 0.65 | 0.42 | 0.42 | 0.65 | 0.54 | 0.54 | 0.54 | 0.42, 0.72 | |
| 1.0, 1.5 | 1.0 | 1.5 | 1.5 | 2.0 | 1.5 | 1.0 | 2.0 | 2.0 | 1.0, 1.5 | |
| 1.0, 1.5 | 1.0 | 1.0 | 2.0 | 1.5 | 1.5 | 1.5 | 2.0 | 1.0 | 1.0, 1.5 |
These internal voltages are then converted into valid value ranges, generating signals that can drive a TV directly, or be used with a NTSC modulator for RF output.
The resulting colors can be seen on the following image, illustrating the MC6847 standard character set and palette:
The first eight colors were numbered 0 to 7 in the upper bits of the character set, but ColorBASIC's numbering was 1 higher than that in text mode, as it used 0 for black.
At least on the Color Computer 1 and 2, the alternate palette of text modes was dark pink on light pink, of shades not listed here, whereas the Color Computer 3, with a different chip, made it dark orange on orange.
Video modes
Possible MC6847 video display modes:Character generator
The built-in character generator ROM offers 64 ASCII characters with 5x7 pixels. Characters can be green or orange, on dark green or orange background, with a possible "invert" attribute.The internal character rom is organized as a matrix of 64x35 where each column consists of the 35 bytes needed to form a character. The character bits are stored sequentially in column order, that is 7 bits of column 0 followed by the 7 bits of column 1, and so on.
The following picture shows the bits overlapped on top of the rom array, with the ones of the first character in different colours to highlight the organization.
Motorola offered its customers the possibility of ordering the MC6847 with the internal ROM masked with a custom pattern. The customer would provide the ROM pattern on MCM2708 or MCM2716 PROMS or on a MDOS formatted 8-inch single sided, single density floppy disk. Motorola would then send 10 verification units for the customer to verify the ROM pattern.
The MC6847 also supports an external character ROM. The Dragon 200-E, a spanish variant of the Dragon 64 is a great example of this. The machine had a daughterboard that fits on the MC6847 socket and had the VDG plus a 2532 EPROM and some decoding logic.
The updated version of the chip had a 96 character ROM that included lowercase characters.
Here you can see the default MC6847 and MC6847T1 default character sets, the Dragon 200-E one and the Dragon 200-E daughterboard.