mac-classic A look back: Dot matrix printers

By printing an arrangement of dots next to each other, the dot matrix printer could produce letters.

Epson introduced the popular MX-80 F/T series printer in 1980, and the FX-80 series printer a few years later. Both were dot matrix printers. While other dot matrix printers preceded these to the market, the Epson series of dot matrix printers were omnipresent. Throughout the 1980s, it seemed all DOS software assumed an Epson dot matrix printer as a default. The Epson printers were everywhere: in schools, in homes, and in offices.

Epson MX-80

Epson MX-80 (photo: Nakamura2828 at us.wikipedia, CC BY-SA 3.0)

I grew up in the 1980s, and we had the Epson FX-80 at home. The FX-80 was a reliable yet affordable printer that made it a good fit for most casual print jobs.

Epson no longer sells the FX-80 dot matrix printer, but their website still offers a copy of the FX-80/100 User Manual (PDF) which provides a good overview of the printer's functionality.

Dot matrix printing

The dot matrix or "impact" printer used a head that passed left and right over the paper, and had a series of vertical pins that would strike the paper at the right positions as the head moved to form an array of dots. By printing an arrangement of dots next to each other, the dot matrix printer could produce letters.

Epson FX-80

Simulation of the dot matrix print head (image: Jim Hall, CC-BY-SA)

Each letter was defined by a 6-column and 9-row grid or "matrix" of these dots. For example, to print an uppercase H, the printer would generate a vertical line of 7 dots from the top, then a horizontal line of 3 dots, and another vertical line of 7 dots. This defined a capital H within a 5×7 grid, which was typical.

Letters were typically defined within this 5×7 grid. Letters that dropped below the baseline, such as lowercase g, j, p, q, and y used the lower two dots. To produce a lowercase p, the printer would generate a vertical line of 7 dots starting at the bottom, then two horizontal lines of 3 dots, then a final vertical line of 3 dots to close the round body of the p

Epson FX-80

Simulation of the dot matrix print output (image: Jim Hall, CC-BY-SA)

Special features

The FX-80 was a typewriter-like device; every letter was the same width, like that on a typewriter. But the FX-80 could do more than just print plain text.

By default, the FX-80 printed text in 10 characters per inch—in typesetting, 10 characters per inch is called Pica pitch, where "pitch" is a technical term that refers to characters per inch. Printing in Pica results in 80 characters of text per line on a page. But you could send a code (ESC-M) to the FX-80 to switch to 12 characters per inch, or Elitch pitch. This allowed for up to 100 columns of text per line. Once in Elite pitch, you could go back to standard Pica pitch with a different code (ESC-P).

The FX-80 could also print in a third pitch mode: compressed mode. Like the other pitch modes, you set compressed mode with a code (ASCII 15, or the "Shift In" instruction) and reset back to normal pitch with a different code (ASCII 18, or "Device Control 2" instruction). The FX-80 supported other less-common print modes with other codes, including double-wide Pica printing (with ASCII code 14, or the "Shift Out" instruction), double-wide Elite printing, and proportional text printing.

The previous generation of dot matrix printers required a workaround for underlined text; to underline a single character, a program would print an underscore (_) character, then a backspace character (ASCII code 8) followed by the letter. Underlining an entire word required repeating the steps for every letter in the word.

However, the FX-80 supported a continuous underline mode that generated a solid line underneath the text being printed. For other fancy text formatting, the FX-80 provided an italic printing mode, superscript, subscript, and adjustable line feeds.

A powerful feature of the FX-80 was graphical mode output. This sent a bitmap of 8 bits of data to the dot matrix print head, which struck the corresponding pins. The FX-80 used a 9-pin dot matrix print head, but only used the top 8 pins in graphics mode. Binary "counting" started from the bottom: binary "1" put a single dot at the bottom of the 8-line print area, and binary "128" printed a dot at the top.

Oddly satisfying noise

But perhaps the most memorable feature of dot matrix printers was the noise they generated when printing text. Due to printing characters one vertical line at a time, dot matrix printers made a distinctive sound when printing. It was not a comforting noise; the high pitch could be unsettling. But at the same time, the sound of printing page after page of text was oddly satisfying. Here's a short video showing a more recent dot matrix printer, the Okidata Microline 321 Turbo series printer, in action during a test print: