MC6847 VDG
Motorola video chip
The Motorola Video Display Generator used in the Dragon and TRS-80 Color Computer, offering text and graphics modes but limited colour flexibility compared to custom chips.
The MC6847 (Video Display Generator) was Motorola’s video chip used in the Dragon 32/64 and TRS-80 Color Computer. While capable of respectable resolutions, its fixed colour sets and limited flexibility made it less competitive against custom chips like the VIC-II.
Fast facts
- Manufacturer: Motorola
- Used in: Dragon, CoCo, others
- Text: 32×16 characters, from an internal ROM of 64 characters
- Graphics: up to 256×192
- Colours: 8, produced by the output stage rather than looked up in a palette
- Modes: 14 — four alphanumeric, two semigraphic, eight graphic
Display modes
Motorola groups the fourteen modes into two major modes. Major mode 1 holds the four alphanumeric modes and the two semigraphic ones; major mode 2 holds the eight graphic modes, four full-colour and four restricted.
| Mode | Resolution | Colours |
|---|---|---|
| Alphanumeric (internal or external ROM, each with an inverted variant) | 32×16 characters | 2 |
| Semigraphics 4 (SG4) | 64×32 | 8 |
| Semigraphics 6 (SG6) | 64×48 | 8 |
| Color Graphics One (CG1) | 64×64 | 4 |
| Resolution Graphics One (RG1) | 128×64 | 2 |
| Color Graphics Two (CG2) | 128×64 | 4 |
| Resolution Graphics Two (RG2) | 128×96 | 2 |
| Color Graphics Three (CG3) | 128×96 | 4 |
| Resolution Graphics Three (RG3) | 128×192 | 2 |
| Color Graphics Six (CG6) | 128×192 | 4 |
| Resolution Graphics Six (RG6) | 256×192 | 2 |
The pairing runs right through the list: for the same memory, a colour mode costs half the horizontal resolution of the two-colour mode beside it.
The semigraphic modes are the character grid subdivided rather than a separate raster. SG4 splits each 8×12 character cell into four pixels, four low-order data bits picking one of sixteen illumination patterns and the next three the colour; SG6 splits it into six, with sixty-four patterns.
Colour Limitations
| Issue | Impact |
|---|---|
| Fixed sets | Can’t choose arbitrary colours |
| Green/orange text | Distinctive but limiting |
| Two-colour hi-res | Four-colour required lower resolution |
| 64-character ROM | Six-bit ASCII, so upper case only unless an external character ROM is fitted |
vs Contemporary Chips
| Aspect | MC6847 | VIC-II | ULA |
|---|---|---|---|
| Sprites | None | 8 | None |
| Colours | 8 fixed | 16 | 15 |
| Flexibility | Low | High | Medium |
The “low” needs a qualification. Alphanumeric and semigraphic modes can be mixed freely, character by character, and inverse video is per-character too. It is the eight graphics modes that are rigid: Motorola warns that only CG1/RG1 and CG6/RG6 can be switched between mid-screen, and that switching major mode element-by-element “is impractical”.
Legacy
The MC6847’s limitations constrained Dragon and CoCo games compared to C64 and Spectrum. However, skilled programmers achieved impressive results within its constraints, and its simplicity made it accessible for learning graphics programming.