Classic Computer Magazine Archive COMPUTE! ISSUE 9 / FEBRUARY 1981 / PAGE 24

The Atari 825 Printer

Robert W. Baker
Atco, NJ

The Atari 825 printer is a dot matrix impact printer that can print lines up to eight inches long in three different character sets. The printer operates under complete control of an Atari 400 or Atari 800 Personal Computer System or other compatible host device. The Atari 825 printer is in fact a Centronics 737 printer, well known for its quality and durability. The same mechanism is also used by Radio Shack for their TRS-80 system, so obtaining supplies locally should not be a problem.

When used with the Atari computer, the Atari 850 Interface Module is required for operation of the printer. The Interface Module converts the Atari Input/Output protocol serial data into 7-bit parallel data for operation of the printer. Additionally, the Interface Module also provides four RS232C serial ports for connection of an Atari 830 Modem and other RS232C compatible peripheral devices.

As mentioned earlier, the printer will print in any of three character sets:

1) Monospaced (uniformly spaced) characters at 10 characters per inch (cpi).

2) Monospaced condensed characters at 16.7 cpi

3) Proportionally spaced characters at an average of 14 cpi

Each of these character sets consists of 96 standard ASCII characters. The default character set is the 10 cpi set and cannot be mixed with characters in the other two character sets. The condensed and proportionally spaced characters must be programmed by means of control codes and can be mixed on the same print line. When a character set selection code has been transmitted to the printer, the printer prints all characters in that set until it receives a different character set selection code or the printer is powered off.

The monospaced characters are formed in a dot matrix 7 dots wide by 8 dots high. The spacing between characters is uniform: 3 dot spaces between normal monospaced characters, and 2 dot spaces between condensed monospaced characters. Including the dot spaces between characters, the normal monospaced characters are considered to be 10 dot spaces wide and the condensed monospaced characters 9 dot spaces wide. The proportionally spaced characters are formed in a dot matrix N dots wide by 9 dots high, where N is a variable number of dots from 6 to 18. The numeric characters in this character set do not vary in width. They're always 12 dots wide and are monospaced at 12.5 cpi to allow tabulating columns of numbers. With the increased dot density in the porportionally spaced character set, print quality is extremely good and comes close to that of "letter quality" printers.

Elongated characters can be programmed by control codes and all characters can be elongated. The elogated characters have twice the dot width of normal size characters and can be mixed with normal size characters on the same print line. Elongated printing terminates when the "stop elongated printing" control code is programmed or the print line is terminated.

The printer can print up to 80 ten character per inch monospaced characters on an eight inch print line. When the characters are elongated, it can print half as many characters per line. The maximum number of proportionally spaced characters per eight inch line varies with the dot width of the characters. Therefore, the line limit must be computed in dot columns with a limit of 1200 per eighth inch line.

By decreasing or increasing the number of dot spaces between characters and/or words in the print line, you can even justify lines at the right margin. The printer responds to six dot spacing control codes that set from 1 to 6 dot spaces between words or characters. This feature combined with the proportionally spaced character set should make the printer ideal for word processing applications.

One special control code recognized by the printer activates a ninth pin in the print head to provide automatic underlining. Both characters and spaces are underlined until a "stop underlining" control code is encountered or the printer is powered off.

Backspacing is initiated by a control consisting of the ASCII backspace code (BS) followed by a character specifying the number of dot spaces to be backspaced. This feature is especially useful for printing overstrike characters such as a slashed-zero or a not-equal sign. The printer does not actually backspace in the sense that the carriage moves backward. The carriage can only move from left to right. When the printer receives a BS code, it returns the carriage to the left margin with no paper motion (no line feed) and then moves the carriage out to the last print column counted minus the specified backspace dot spaces. Then it prints the next character and continues the line. Remember that the number of dot spaces to specify in order to backspace to the desired print position depends on the character set being used.

The printer generates an automatic line feed each time the print line is terminated and the carriage is returned to the left margin. In addition, the printer responds to four different line feed codes to advance one full line, reverse one full line, reverse a half line, and advance a half line. This allows printing special mathematics and chemical formulas requiring subscripts or superscripts. The auto-linefeed function can be disabled if desired but is not recommended when used with the Atari computer systems.

The printer has a special line feed buffer that can store up to 255 line feed codes. This allows you to program consecutive line feed codes for paper handling and page formatting purposes. You can also mix line feed codes with character data, since the printer handles line feed codes and print characters on a "first-in-first-out" basis. Any characters before a line feed code are printed before performing a line feed, then any characters after the line feed are printed after the line feed code is executed. A carriage return does not occur with a line feed.

Manual switches on the front of the printer provide power on/off, online/local modes, and manual paper feeding in forward or reverse. The printer can handle three types of paper:

- roll paper, 8.5 inches wide

- fanfold paper, 9.5 inches wide with pin feed holes

- cut sheets and forms up to 8.5 inches wide

An adjustment on the printing head allows uniform printing of multi-part forms as well as single sheets.

A special ribbon is required for ribbon replacement. The ribbon is not on a typical ribbon spool. Instead, the ribbon used is referred to as a "zip pack". The continuous ribbon loop is provided in a plastic bag which is removed after the ribbon is installed in the printer. A pair of plastic gloves are usually supplied with each ribbon to avoid getting your hands covered with ink.

Several BASIC commands provide easy access to the prnter on the Atari computer systems. The LIST "P:" command will list a BASIC program on the printer rather than on the tv screen. The LPRINT command is used to print any data instead of displaying on the screen. Use of the LPRINT command does not require an OPEN statement and can be used in either direct (typed from the keyboard) or deferred mode (within a program). An OPEN command allows opening a "logical file" to the printer and then using the PRINT#... command to print to the printer. More details on these commands are provided in the Atari manuals.

All data to be sent to the printer is normally enclosed in quotes. ASCII control codes (like linefeed -LF) are generated on the Atari keyboard by pressing the CTRL key and holding it while pressing the next character key. Escape code sequences (like ESC SOH) are generated by pressing and releasing the ESC key (as many times as needed) and then keying CTRL followed by the desired character. When control codes and escape code sequences are keyed on the Atari keyboard, Atari graphics characters are displayed on the TV screen. These graphics characters are not printed by the printer, but the printer responds to the control codes generated.

If your BASIC program includes graphics characters that generate printer control codes, the printer will act on the codes when you try to list the program on the printer. This can be avoided to some extent by using the CHR$(nn) string function to include control codes in a print line. Most control codes will require two CHR$(nn) functions, such as: CHR$(27);CHR$(14) to start enlongated printing. Note that the CHR$ argument (nn) is a decimal number representing the value to be sent to the printer.

All in all, the printer is a very good quality, dependable unit manufactured by a highly respected printer manufacturer. Supplies and repairs should be easily obtainable from a number of local sources. The printer includes a number of features that make it ideally suited for most word processing and small business applications. It would certainly appear to be a very worth while investment for the serious Atari user. By the way, the price of the Atari 825 is very close to the price of a normal Centronics 737 so you don't pay a penalty by buying it from an Atari dealer. However, remember that you do need the Atari 850 Interface module to use the printer with the Atari system.

Keying Sequence ASCII Mnemonic Decimal Code Hex. Code Function
This group is keyed by pressing CNTR and this letter:
J LF 10 0A Forward line feed
M CR 13 0D Carriage return
O SI 15 0F Start underline
N SO 14 0E Stop underline
H BS 08 08 Backspace (must be followed by character defining number of dot spaces)
This group is keyed by ESC ESC then CTRL and this letter:
A ESC SOH 27 01 1B 01 1 dot space
B ESC STX 27 02 1B 02 2 dot spaces
C ESC ETX 27 03 1B 03 3 dot spaces
D ESC EOT 27 04 1B 04 4 dot spaces
E ESC ENQ 27 05 1B 05 5 dot spaces
F ESC ACK 27 06 1B 06 6 dot spaces
J ESC LF 27 10 1B 0A Full reverse line feed
N ESC SO 27 14 1B 0E Start elongated print
O ESC SI 27 15 1B 0F Stop elongated print
Q ESC DC1 27 17 1B 11 Select proportionally spaced character set
S ESC DC3 27 19 1B 13 Select 10 cpi mono-spaced character set
T ESC DC4 27 20 1B 14 Select 16.7 cpi condensed characters
This group by ESC ESC ESC then CTRL and this letter:
ESC FS 27 28 1B 1C Half-line forward line feed
ESC RS 27 30 1B 1E Half-line reverse line feed