Peripheral Information


Atari Meets The Real World

Richard Kushner

You've had your Atari computer for a while, reached the level of Commander in Star Raiders, killed 754 aliens in Space Invaders, learned the difference between PUT and GET and written some programs to amuse and astound your friends and family. Now you're looking for new worlds to conquer. Lurking out there past the peripheral plug on your Atari, and just beyond the end of your telephone line, is the real world. To get there from here means connecting your Atari to something that speaks the language of the outside world. As often as not, that means using an RS-232 compatible device. All this really means is that many devices that can hook onto your computer require a connection with voltage and signal specifications given by the RS-232 technical standard. Printers use it, modems use it, and a wide range of other peripherals are most comfortable communicating across it.

So what do you do? You can build an RS-232 interface, but if you're like me, your interest lies more at the programming end and you'd prefer something that comes ready to go. I'm pleased to report that such a device exists and works very well, thank you. It is the Atari 850 Interface Module and it does a lot of things to make the interfacing easy and understandable while, at the same time, providing versatility and supporting future expansion. This article will give a rundown of many of its useful features.

The Model 850 plugs into the Atari peripheral port and provides connections to daisy chain other devices (like the tape cassette) that do not require the interface. It has its own power supply (identical to the power supply for the Atari computer) and supports four RS-232 serial ports and one parallel port. The parallel port is intended for the Atari 825 Printer (a slightly disguised Centronics 737 Printer) and the manual describes the leads to all the pins in case your parallel device is not Centronics compatible. The four serial ports have different levels of support. Port #1 is intended for modems, Ports #2 and #3 are intended for serial printers and other generally receive-only devices, and Port #4 supports a 20ma current loop for teletype interfacing. The key word here is RS-232 "compatible." The connections are nine pin as opposed to the 25 pin on standard RS-232 connectors and therefore cannot support all the possible RS-232 interconnections. Table 1 shows the connections that are available on the four ports. They should be adequate for most personal computer hook-ups. You'll have to make a connector to bridge the gap between the Model 850 and your RS-232 device. Carefully note that the pin designations are relative to each device, i.e., "receive" on the Model 850 goes to "send" on the peripheral and vice versa. Understanding that fact makes the interconnection reasonable and straightforward.

So far we've just scratched the surface. Inside the Model 850 resides its very own microprocessor. When the system is powered up, the Model 850 passes a handler routine and serial port information up to the computer and then waits for instructions. To transmit or receive over any port you must configure the port (or accept the default configuration). You can specify baud rate (45.5 to 9600, concurrent (two way) or block (output only) communication, port number, translation (how to send Atari ASCII so that your ASCII only device won't hiccup), bits per word, parity, and whether or not to monitor signals from the device at the other end. The length of the list and the variety within each item should give an indication of the versatility of this device. The cost to you (besides the purchase price, of course) is the 1,762 bytes of memory used when the interface loads its handler and tables into the computer memory. The following is a brief description of some of the features:

1. Baud Rate: virtually all common baud rates from 45.5 (60 words per minute for Baudout teletypes) to 9600 baud are supported and software-selectable. 300 Baud is the default value, making it immediately compatible with modems. I currently have a 1200 Baud serial printer running.

2. Translation Modes: three modes can be used -

  1. no translation - just like it says, no changes are made on sending or receiving characters. This is only useful if you have some way of processing the characters or if your peripheral device understands the Atari version of ASCII, as, for example, if you are talking to another Atari computer.
  2. light translation - on output End Of Line (EOL) is translated into Carriage Return (CR) and vice versa on input. Also the high bit is set to zero. This is the default mode.
  3. heavy translation - this mode does what light translation does plus, on input, it looks for correspondence between Atari ASCII and regular ASCII. If there is correspondence then it passes the character on and, if not, it translates the character into whatever you have specified as the "won't translate" character. On output, however, untranslatable characters are not sent at all.

3. I/O Modes: the interface handles either concurrent or block output. Input must always be done in the concurrent mode. In the block output mode, data is sent to the interface module in 32 character blocks, then the computer waits for the block to be transmitted before sending the next block. It is possible to force the computer to send a block of less than 32 characters so that data need not be lost. Concurrent mode output sends characters to a 32 character buffer which continuously empties out the other end. Programs are not held up in this operation unless the buffer fills up, in which case the computer must wait until space becomes available.

There are other capabilities built into the interface, but it is my intention here to give you a feel for the power of this device rather than to give a recitation of the technical manual. Don't be afraid to try to interface non-Atari RS-232 devices to your Atari. This interface module should be able to support whatever you have, although you'll probably have to experiment with the library of commands to get communication to take place. For example, the Atari directly supports the LPRINT command which outputs data to a parallel printer on the appropriate connection of the interface module. For my serial printer, it was necessary to 1) establish a port for the device (calling OPENing a channel; 2) configure the port to output data at the 1200 Baud rate that the printer required; and 3) look into whether or not I needed a line feed after a carriage return. All of this really required only two statements near the beginning of my program and the use of PRINT #4 (where 4 is the device number I had set up) rather than LPRINT, when I wished to send data to the printer.

The Model 850 Interface Module has been carefully thought out to provide a great deal of versatility to the user. Several months of experience with this device has convinced me that it is a good investment in future expansion of my Atari computer system and a worthwhile item to have now.

Table 1

PORT-1PORT-2PORT-3PORT-4
XMTTransmitXMTXMTXMT
RCVReceiveRCVRCVRCV
DTRData Terminal ReadyDTRDTRDTR
DSRData Set ReadyDSRDSR
RTSRequest to SendRTS
CRXCarrier Detect
CTSClear to Send


Return to Table of Contents | Previous Section | Next Section