Atari TerminalOnce you have become familiar with the operation of your ATARI home computer, you may find the world of data communications is a fascinating and rewarding avenue to explore. I chose the ATARI because of its ability to serve as a remote data terminal with features not found in competitive home computers, such as built-in lower case. I found that, with the addition of some relatively inexpensive peripherals and software, my ATARI can behave as a very fine terminal.
My initial objective was to access a mini at the office, using my ATARI at home, for work-related purposes. But it wasn't long until I discovered that I had ready access, at no cost other than telephone charges, to a variety of what are called computer bulletin boards. These are systems provided by users groups, dealers, and other hobbyists that offer free file space for messages, want ads, questions, answers, phone numbers for other bulletin boards, and public-domain software. A growing number of bulletin boards are devoted to ATARI enthusiasts. There are also commercial servcies, such as CompuServe, the Source, and Dow Jones, that provide large data bases and charge for usage.
This article provides a short overview of data communications, describes the peripherals needed to explore this field, and gives my views on two very fine public-domain programs that will turn your ATARI into quite a smart terminal. Also, you will find a listing and instructions for a short BASIC program that will allow even a novice to start communicating with bulletin boards.
Basically, there are three pieces involved in data communications: a computer, a terminal, and a telecommunications channel. In this context, the computer is the machine that is: doing the data processing, and it is often called the host computer, or just the host. The terminal is the system's human interface—a keyboard and display screen or printer — from which the user inputs instructions to the host and obtains output generated by the host.
Think of your ATARI as a terminal, and a bulletin-board system as a host. The public telephone network serves as the connecting channel. Your ATARI can also serve as a host. With the appropriate software and hardware, it can be the bulletin board system, and other hobbyists will begin calling your ATARI.
A Modem is a MustYou will need a modem to enter the world of data communications. "Modem" is a contraction of modulator/demodulator. The function of a modem is to transform the low-voltage, digital, data signals from the computer (or terminal) into an analog signal that can be transmitted and received over voice telephone lines. There is a wide choice of modems available, and you need to pay attention to four things: 1) how they connect to the ATARI, 2) how they connect to the telephone network, 3) the speed at which they transmit and receive data, and 4) extra features.
Most modems use an industry standard interface to the terminal or computer. The interface specification was developed by the Electronic Industries Association, which named it RS-232C. Connector pin assignments, signal directions, and voltage levels are specified for a 25pin connector that comes with the modem. To use an RS-232-C interface, you must also have the ATARI 850 Interface Module (or a functional equivalent).
The alternative is a relatively new modem that plugs into a joystick port. Special software comes with it for operation through the joystick interface. The public-domain terminal software described later won't work with a joystick-port modem. While I admire the folks at Microbits who figured out how to drive a modem through a joystick port, and realize that you can save money with this modem, when compared with the combination of the Interface Module and an RS-232-C modem, there is no flexibility to upgrade the modem or add an 80-column printer later on. My personal preferences lean toward the RS-232-C standard, which means the 850.
Three types of connections to the telephone network are available. These are acoustically-coupled, directconnect, and what I call a hybrid. An acoustic coupler has two cups in which you place the telephone handset after establishing a call to the host. Make sure you have an ordinary phone, as dial-inhandset and designer models won't fit. A direct-connect modem has a cord that plugs into the same miniature jack on the wall as does a modular telephone. Once the call is established, the telephone is not needed. The hybrid is another clever device that connects in series with the handset of a standard phone. To use it, the coiled handset cord on your telephone must have miniature plugs so you can unplug the cord, insert the hybrid modem, and reconnect the handset to it. Dial-in-handset phones won't work with the hybrid modem either.
The hybrid modem and most acoustic couplers are less expensive hen the direct-connect type, because he internal network in the telephone is sed to do part of the transmission ob. The direct-connect type should be nore reliable than an acoustic coupler, as it is not subject to interference from room noise, computer buzzers, and bells. By law, a direct-connect modem annot be used on a party line, but you don't want to try data communications on a party line anyway. The Microbits joystick modem is a directconnect variety. RS-232-C modems are either acoustic couplers or direct-connects, with a large variety of each available.
The hybrid modem I have tried (the Anchor Automation Signalman Mark II) is RS-232-C like. The Mark II is specially made for the ATARI, and comes with a cord that plugs into an 850 Interface Module serial port. It does not have an RS-232-C connector as such, a major disadvantage if you have need for it with a terminal other. than the ATARI.
Speed is the next parameter. Realistically, there are only two transfer rates of interest. These are 300 bps (bits per second) and 1200 bps. (Although many people, including modem and computer manufacturers like Atari, use the word "baud" interchangeably with "bits per second", this usage is technically incorrect.)
The higher the speed, the more complex the modulation technique needed to transmit data over a telephone connection intended for relatively lowfrequency speech. At 300 bps, a set of two audio tones, one that represents the bit-state 0 and the other the bitstate 1, is used for direction of transmission. Another set of two tones is used for the opposite direction. This is the reason for originate / answer switches on modems. Each end needs to know which it is so it will send the tone pair that the other is listening for.
In terminal/host applications, the terminal end is the originate and the computer end is the answer end, by logical convention. But if you are going to talk to a friend's ATARI (not a bulletin board) with your ATARI, you have to agree, beforehand who is which. At 120Q lbps, a more complicated modulation technique is necessary, and 1200 bps modems are consequently about two-to-three times more expensive than 300 bps modems with equivalent features.
A 300 bps modem is said to be Bell103 compatible, and the most common type of 1200 bps modem is called a 212 or 212A. These designations come from the names of the Bell System modems that use the standard modulation techniques. To my knowledge, all 212A modems operate at 300 bps with the flick of a switch. So if you get a 212A, you can still talk to bulletin boards that have only 300 bps capability.
A couple of more words about speed. There is nothing fundamental in a 300 bps modem that limits it to 300 bps. Within limits that I don't know, it will send out tones as fast as a terminal or computer can feed it bits. So if you have a nearby friend and a good telephone connection, you might, by prior mutual agreement and Atari software option settings, try to operate a 300 bps modem at 600 bps.
Many modems have another switch labeled half-duplex / full-duplex. Halfduplex means that at any given time, transmission is only in one direction. Full-duplex implies both directions simultaneously. As you type at a host computer from a terminal, the host will usually echo what you type so you can see both halves of the conversation. This requires full-duplex transmission. If you set your modem at- halfduplex, it will echo the characters rather than depending on the host to do so. But if you forget to tell the host you are working half-duplex, it will also echo the characters, and the effect will be ttwwoo cchhaarraacctteerrss on your screen for every one you type. You will probably never need half-duplex when talking to a host.
Other features you might use are automatic answer (necessary if you are a bulletin board) and automatic dialing. These fancy features are available only in some direct-connect modems, so you can't be a bulletin board with an acoustic modem.
Basically, it's like choosing a home computer; you have to trade off features and capabilities against cost. Don't forget that higher speed means lower phone bills if your calls are toll calls. If you're wondering where the Atari 830 fits into all this, it's an acoustic coupler with a standard RS232-C connector, an originate / answer switch, and a full/half-duplex switch.
The 850 Interface ModuleThe Interface Module does just what its name implies. It interfaces the Atari peripheral port to four serial ports and a single Centronics parallel port. A serial interface or port puts the bits that represent a character, plus other signaling bits, in series on one wire for each direction of transmission. Remembering the modem modulation techniques, it should be obvious that a series of bits, in time, is necessary when a data signal is to be transmitted over the telephone network. A parallel interface or port puts each bit of the character code on a separate, parallel wire. The parallel port on the Interface is intended for a printer that operates according to the Centronics parallel interface standard. This parallel interface is one-way. Characters go only to the printer, not the other way. In both the serial and parallel interfaces, additional wires carry control signals back and forth.
The serial ports on the Interface Module do not conform to the RS232-C standard for terminals in that the physical connector and pin assignments are different. Therefore a special cable is necessary to connect to an RS-232-C modem. Atari supplies one (the same one that comes with the 830), but it is relatively expensive. If you have a wire stripper-and a small soldering iron, building a cable to connect to any RS-232-C modem is straightforward. If you don't, consider buying these tools, as you'll probably still save money. You will need a DB-9 male plug for the Interface Module end and a DB-25 male plug for the modem end. You'll also need a short piece of cable with at least eight individual conductors, and the following table of pinto-pin connections.
IM Pin Function Modem Pin 1 DTR 20 2 CRX 8 3 XMT 2 4 RCV 3 5 Ground 7 6 DSR 6 7 RTS 4 8 CTS 5
Software Makes Your Terminal SmartOnce you have the hardware, you will need a program to instruct the ATARI to act as a terminal. The program provides your ATARI "terminal" with its capabilities. Atari's Telelink cartridge is an example of terminal software.
There is no fine line between "dumb" terminals and "smart" terminals. The dumbest dumb terminal does nothing more than deliver what you type to the telecommunications network, and receive and display what the host sends back. The more features and functions done locally, the smarter the terminal. For example, the smart terminal programs available in the public domain are capable of capturing the conversation on magnetic media, either cassette tape or floppy disk.
Unless your ATARI is talking to another ATARI, the terminal software must have the ability to do some translations between standard ASCII code and Atari's version, which they call ATASCII. ASCII stands for American Standard Code for Information Interchange. It is an eight-bit code, but one of the bits is reserved for parity, which, if used, provides an internal check on the integrity of the information bits. (Since parity is, optional, some call ASCII a seven-bit code.) Seven bits can be put together in 27, or 128 ways. Therefore, there are 128 characters in the ASCII character set.
ATASCII, on the other hand, is an eight-bit code where all bits are information bits. The ATASCII code contains 2 to the 8th power or 256 characters. Since the ATARI is an eight-bit microprocessor, why not? The ATASCII code is printed in the Atari BASIC Manual. On the TV display, the extras are used for graphics and inverse video characters. They are also quite handy for coding machine language subroutines as strings of characters. Any eight-bit instruction for the 6502 can be represented by a single ATASCII character. However, some of the ASCII control codes needed in data communications do not have functional equivalents in ATASCII. The most troublesome example is that the ATARI end-ofline character [RETURN] is decimal 155 in ATASCII, and the ASCII equivalent is a carriage return (decimal 13) followed by a line feed (decimal 10).
Atari's Telelink cartridge does provide these characrers. Not only are they accessible from the keyboard, they display properly on the screen.
Telelink also performs other ASCII/ATASCII translations, and has a wraparound feature that takes words that will not fit at the end of a screen line and puts them on the next line. But other than a dumpto-printer capability, it has little else. Specifically, it does not provide for uploading or downloading, does not copy to disk or cassette, does not permit any transla-tion option other than ASCII / ATASCII, and works only at 300 bps. Consequently, I characterize Telelink as pretty dumb.
There are several programs available that do much more than Telelink, even in the public domain. For obvious reasons, I prefer the latter. Also, because the public domain programs enjoy wider use (because of the price), the authors get more suggestions for improvements and others try their hands at incorporating new features.
JTERM is an excellent, generalpurpose, terminal program for use with hosts that speak either ASCII or ATASCII. It recently appeared in COMPUTE! ("Download/Upload for the Atari", by Frank C. Jones; Issue 32; January, 1983; page 202), along with instructions for its use. JTERM is easily mod)fied to work at 1200 bps.
Jim Steinbrecher wrote the other really excellent public-domain terminal program, called AMODEM. I find it easier to use than JTERM. If you are accessing a CP / M bulletin board that has a file-transfer program called XMODEM, or an Atari-based AMIS board with this same protocol, it's the only way to go. With this combination, uploading and downloading machine language, tokenized BASIC, and Music Composer files as well as listed BASIC and text files is all automatic. There is no need to worry about translation options, and if it deter" i mines an error has been made in the transfer of a 128-byte data segment, it automatically tries again up to nine times.
AMODEM can also be used with the other Atari-based bulletin boards to transfer listed files and text. A nice documentation file by Jim, and another document called "The XMODEM, AMODEM, CP/M Saga", by Greg Leslie, are available on bulletin boards.
AMODEM, Version 4 and lower, won't work at 1200 bps because of interaction with BASIC. Terminal operations and data transfers that do not use the XMODEM protocol work at 1200 bps with AMODEM Version 4.2 and higher. Speed options of 300, 600, and 1200 bps can be picked from an internal menu without any changes to the program. However, uploading and downloading at 1200 bps with the XMODEM protocol is marginal.
Software at the Other EndJust as there are a variety of programs available to turn your ATARI into a terminal, so are there a variety for the hosts. CP /M is widely used on systems that are a bit larger than the ATARI. Actually, CP / M is an operating system, which runs different programs upon your command. When used for a bulletin board, the set of programs that are accessible to a remote user are sometimes called RCPM. XMODEM, t~ file transfer program that works with AMODEM; BYE, which you say to sign-off; and MINIRBBS, a, message system, are all RCPM programs.
Quite naturally, most of the bulletin boards devoted to Atari enthusiasts are ATARI. The SYSOP (system operator) wouldn't be devoting a machine to this application unless he too is an Atari enthusiast. ATARIs won't run CP/M, so at least four bulletin board programs have been developed to run on ATARIs. These are, in approximate order of their popularity: AMIS, from the Michigan Atari Computer Enthusiasts, which has the XMODEM filetransfer protocol; ARMUDIC, by Frank Huband; TART-BOARD, by Bob Alleger; and Atari Bulletin Board System, by Rod Roark. In the list of bulletin boards that concludes this article, they are abbreviated AMIS, ARMU, TARI, AND ATAB. (I didn't use ABBS for the last abbreviation to avoid confusion with the Apple Bulletin Board System.) As I'm not a SYSOP, I don't know a whole lot about any of these programs, except that they work.
Then there are a host of other hosts. Most time-share systems can be accessed with your ATARI terminal.
Downloading with Minimum TypingAt this point, you may be caught in chicken-and-egg dilemma. "I can get one of the fine, free terminal programs by downloading it with my fine, free terminal program that I got by downloading . . ." Jim Steinbrecher has come to your aid with another terminal program called MINIATERM. The intent of this program is to get you started with minimum typing. You only need to use it once, to get AMODEM or JTERM. It is presented here with Jim's permission and encouragement. I couldn't resist making a couple of changes that let it work with either ASCII or ATASCII speaking hosts.
You should save a copy of MINIATERM on cassette or disk before you use it. As the procedures for loading MINIATERM and logging on a bulletin board are the same as for other terminal programs, they are discussed in the next section.
Once you have examined the bulletin board, as outlined in the next section, and found a program you want to download, give the host the command to send it to you. Then press START. This turns on the buffer that saves each character. Everything that is being saved is displayed on the screen. I f the host speaks pure ASCII, a small triangle will appear at the beginning of each line except the first. These are the line feeds, don't worry about them. When the whole program has been downloaded, press SELECT. The ATARI will ask what device you want it saved to. In the case of a disk drive, you must also give it a standard filename (eg: D:FILENAME.TYP). It will then save the file and return to the terminal mode. If you find that you picked the wrong translation option, you don't have to hang up and call again. Just press [RESET] and type RUN to start over. It's as simple as that.
Exploring a Bulletin BoardNow it's time to explore a bulletin board. If you have an Interface Module, you must turn it on before you turn on the computer. If you are using Telelink or a terminal program on cassette, the RS-232-C handler will boot from the Interface Module when you turn the computer on. If your terminal program is on a disk, the diskette must have a copy of the AUTORUN.SYS file that came with the Atari DOS 2.0S master diskette. When the computer is turned on, AUTORUN. SYS boots the RS-232-C handler. The instructions for the Interface Module are quite clear on the proper order for powering-on the different pieces.
Set your modem for call-originate and full-duplex, and make sure it is also turned on. Now, LOAD and RUN your terminal program. (Telelink I, being a cartridge, will automatically gain control. ) If the terminal program asks for options (Telelink and AMODEM don't), pick these: download, lighttranslation or ASCII, noparity, full-duplex. Also make sure your modem is set for the right speed as determined by your terminal program (300 bps for unmodified programs). If things don't go quite right, you might have to try a different translation option or parity setting (try even first).
Call the bulletin board as though you were placing a voice telephone call. If the bulletin board system is online, it will automatically answer after one or two rings and return a highpitched tone. This is your signal to switch to the data mode. If you have an acoustic coupler, this means placing the telephone handset into the cups on the modem. With a direct-connect modem, there is probably a switch that says "talk/data". Turn it to "data".
On your modem, a lamp is lit that indicates it too can hear the highpitched tone. If nothing else happens, press RETURN a few times; the bulletin board should wake up and announce itself on your screen. Many bulletin boards first ask how many "nulls" you need. Your ATARI needs none, so type "0" (zero). ATARIbased hosts might ask if you need line feeds. You don't. It will also ask for your name, probably location, and possibly some other questions, like can you support lower case (Yes).
After it is satisfied that you haven't dialed a wrong number, it will tell you about itself and how to access the message file and the program files available for downloading. Pay close attention to the commands it needs to pause (usually CONTROL-S), to resume (usually CONTROL-Q or any character), to abort a ffle listing (usually CONTROL-C), and to disconnect (usually CONTROL-D, "G", or with RCPM, "BYE"). It may or may not understand a BREAK, and your terminal program may or may not send one. (Telelink does if you type a SHIFT-BREAK, and CONTROL-TAB seems to work with some other programs.)
After you have found the directory of programs for downloading, you must tell the host which to send. With ATARI hosts, this may be as simple as selecting a number from a menu. With an RCMP host, you say "TYPE" followed by the filename, or if you have AMODEM, "XMODEM S filename". With MINIATERM or JTERM, the save buffer must be turned on before the host begins sending the file. Most ATARI hosts wait for you to do this, and require that you send a [RETURN] when you are ready. After the program has been received, you must do whatever the terminal program requires to save it to your magnetic medium. Teleiink can't save anything to magnetic media, and the last section tells you how to save what MINIATERM captures.
When you are finished talking to the bulletin board, it is polite to log-off with "G" or "BYE" or CONTROL-D or whatever it needs. Conversely, it is impolite to just hang up. But most hosts will automatically log you off if they don't hear anything from you for a while.
If it is a listed BASIC program that you have captured and saved, you can press [BREAK] or [RESET], type NEW, and ENTER the program from your magnetic medium. You can also turn the ATARI off and back on again. If some errors occur during the load, it's probably because you captured more than just the program. Don't worry about the errors, you don't want any statements that aren't numbered anyway. Now you can RUN the program, SAVE it, or anything else you could do if you had typed it in.
If the program you are capturing contains inverse video characters (value greater than 127 in ATASCII), you won't get them if you pick ASCII translation. As tokenized BASIC and machine language programs are almost guaranteed to contain these characters, you can try another translation option (ATASCII in MINIATERM). But be careful—with these types of files, any extraneous characters are disastrous.
Generally, it's only safe to use a translation other than ASCII when talking to another ATARI. The exception is RCPM with the XMODEM protocol, and AMODEM loaded in your ATARI. With that combination, everything seems to work. If you run into translation difficulties, read the Interface Module instructions and examine the X10 statements in your terminal program. Then, when you still can't make it work, leave a message for help on the bulletin board. The SYSOP should be able to get you going.
Bulletin Boards for AtarisYou now have everything you need, except for a host computer. The following list gives the phone numbers of bulletin boards devoted to ATARI users in the United States. Some of the RCPM systems aren't totally devoted, but do have ATARI programs available for downloading. I won't guarantee the accuracy of the list, and certainly not its completeness. New ATARI boards are cropping up all the time. Many bulletin boards are not 24-hour-a-day operations, but most will be on-line nights an] weekends. If a voice answers, the voice will be able to tell you the hours of operation.
If there is not an ATARI bulletin board in your area, and you can't afford long-distance phone calls, you can still enter the world of data communications with a non-ATARI bulletin board. Ask your computer dealer, or a user's group for any microcomputer. Someone is sure to know the phone numbers for boards nearby. A very comprehensive list of bulletin boards can be obtained from a bulletin board in Santee, California. It's number is 619-561-7277. Right now, the list is bigger than an ATARI 48K memory will hold, and it takes about a half hour to get it at 300 bps. But just the first 80% of the list should serve to identify someone nearby.
Bill Hough is an engineer with degrees from Northwestern and Stanford, and has been with the Bell System for 17 years. Mastering the ATARI is a principal leisure-time activity. He is the author of a logical game called "Brainboggler," available through Educational Software, Inc., and is working on a program to analyze stock option strategies with the ATARI.
Atari Bulletin Boards
State City Phone Number Type CA Cupertino 408-253-5216 AMIS CA San Francisco 415-587-8062 AMIS CA San Jose 408-298-6930 AMIS CO Denver 303-221-1779 TARI CO Denver 303-758-6233 AMIS DC Washington 202-276-8342 ARMU FL Miami 305-238-1231 AMIS GA Atlanta 404-252-9438 ATAB GA Atlanta 404-434-1168 ATAB IL Chicago 312-789-0499 RCPM IL Chicago 312-789-3610 AMIS MA Boston 617-266-7789 RCPM MA Boston 617-595-0211 AMIS MA Boston 617-667-7388 AMIS MA Boston 617-876-4885 AMIS MI Detroit 313-274-3940 AMIS MI Detroit 313-589-0996 AMIS MI Royal Oak 313-759-6569 RCPM MI Sterling H'ts 313-978-8087 AMIS NJ Madison 201-377-4084 TARI NJ Princeton 609-924-5875 TARI NV Las Vegas 702-733-9488 RCPM NY New York 212-598-0719 ARMU NY New York 212-699-0293 AMIS OH B'chw'd Falls 216-582-2797 TARI OK Oklahoma City 405-722-5056 ARMU OK Oklahoma City 405-848-9329 RCPM JR Eugene 503-343-4352 ARMU PA Allentown 215-398-3937 RCPM PA Easton 215-250-9471 AMIS PA Pittsburgh 412-655-2652 ARMU PA Philadelphia 215-836-5116 RCPM PA Erie 814-898-2952 RCPM TX Fort Worth 817-589-1254 RCPM WA Seattle 206-228-9401 AMIS WA Spokane 509-582-5217 AMIS WA Yakima 509-575-7704 ATAB WI Madison 608-251-8538 AMIS WI Milwaukee 414-352-2772 AMIS