*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*¢¢ HOW TO GO OFF-HOOK & ON-LINE WITHOUT ¢ SINKING!¢¢ PART V¢¢ By Alan Sharkis, member OL'HACKERS¢ A.U.G., NY¢¢ I am going to discuss¢ telecommunications software today. ¢ I'll limit it to terminal programs¢ (the ones the callers use; not the¢ ones the host computer uses.) If I¢ can be permitted one tongue-in-cheek¢ comment, here it is:¢¢ There is only one¢ telecommunications program for the¢ Atari (I woudn't go that far! EDITOR)¢ 8-bit today, and that is BobTerm¢ 1.2x." (I must admit it is good, but¢ other terminal programs may have as¢ many features, so use what suits you¢ but GET ON LINE! EDITOR)¢¢ Obviously, there are many more Atari¢ terminal programs around than that,¢ but I've just let you in on my¢ favorite. I'll use it (over the¢ protests of those who are fans of¢ other programs) to illustrate what a¢ communications (or terminal) program¢ does. Let's assume that you already¢ have the necessary hardware; modem,¢ phone line, interface if neeeded and¢ cables. Your modem may have come¢ with a very simple type-in program to¢ allow you to call a number and¢ connect with it. If that's all you¢ want to do, fine. You won't be happy¢ that way for long. Sometimes full-¢ featured terminal programs are¢ included with modems, but they will¢ run on an MS-DOS machine, or a Mac,¢ or an Apple II, not an Atari. So,¢ where are you supposed to get a¢ program? Well, since most are¢ shareware, your club library is a¢ great place to get started (HINT,¢ HINT!) and it will only cost you a¢ contribution. I must urge you to try¢ several, and send the author of the¢ one you will use a contribution ASAP. ¢ That way the author will be¢ encouraged to keep supporting and¢ improving his work.¢¢ Now, suppose you have a copy of the¢ latest version of BobTerm. The last¢ officially released version is 1.21. ¢ There is a 1.22 which fixes a few¢ minor bugs that some (not all) users¢ experience, but it is not an official¢ release. Just what does this, or any¢ terminal program, do for you? In¢ brief, it sets up an interface¢ between you and the¢ telecommunications process which, if¢ you've been reading my articles until¢ now, can be very technical and very¢ complex. The terminal program and¢ the BBS program at the other end make¢ you feel as though you are¢ controlling and using the host¢ computer at the other end; as if it¢ were yours for the time you're¢ connected; as if your computer is¢ just an extension of that big¢ computer at the other end. The host¢ computer could be another 8-bit Atari¢ like yours, or some other PC, or even¢ a mainframe; it doesn't matter. Your¢ terminal program must work with your¢ Atari and the DOS it has loaded to¢ control portions of the Atari's¢ memory, its drives, it's connection¢ to the modem, and to control the¢ modem itself and the data-transfer¢ process. Doing all that¢ automatically, TRANSPARENTLY as far¢ as you're concerned, is a tribute to¢ the people who write and beta-test¢ these programs. Let's take a look at¢ BobTerm with the idea that most of¢ what I say for it is true of other¢ programs (I just feel that BobTerm¢ does it better in my system).¢¢ BobTerm needs an Atari 8-bit with 48K¢ of memory to run. That shouldn't be¢ a problem for anyone in this club. ¢ It will run with many of the DOSs¢ available for the Atari 8-bit, but I¢ find that it is especially good with¢ my SDX cartridge. Some terminal¢ programs do better with one DOS or¢ another. That may influence your¢ decision about which one to choose. ¢ If you use an RS-232 interface (such¢ as a P: R: or an 850), two serial¢ ports are supported. Because of¢ that, I have configured BobTerm¢ differently on two separate disks. I¢ have one set for 2400 baud (the speed¢ of my modem) and R1: (which goes to¢ my modem). The other disk has it¢ configured for R2: which is attached¢ to a null-modem cable that is¢ connected to my MS-DOS machine so¢ they can transfer files to each¢ other. This disk has BobTerm set at¢ 9600 baud, the fastest rate that the¢ P: R: connection will pass. If I had¢ an MIO or a Black Box, I could go to¢ twice that! The flexibility allows¢ me to keep all cables connected and¢ all I need to do is select the¢ version I need at the moment and boot¢ it.¢¢ It is most convenient for your¢ terminal program to come in the form¢ of a boot disk. Usually they don't,¢ because you have to decide on which¢ DOS you like, which handlers you¢ need, and which, if any, extra¢ modules you need to load with the¢ terminal program to add additional¢ features. Handlers are short¢ machine-language programs that¢ prepare the serial ports and modems¢ for operation. The terminal program¢ must work with a variety of handlers,¢ since different direct-connect modems¢ and interfaces require different¢ handlers. What's more, some direct-¢ connect modems and interfaces have¢ this program stored in their rom¢ chips and they must load¢ automatically at the right time and¢ into the right memory space. The¢ terminal program must be "smart"¢ enough to allow for this. BobTerm¢ does all of this automatically for¢ many combinations, but must be "told"¢ how to do it for some of them the¢ first time you use it. After that,¢ it's all automatic and requires no¢ help from you unless you change¢ equipment. Other terminal programs¢ do the same thing. Be prepared to do¢ a little work the first time you run¢ the program.¢¢ I know of one program that runs in¢ BASIC (Amodem), but all others are¢ machine language and require that¢ BASIC is disabled and no other¢ language cartridges are present. ¢ Most programs will automatically¢ disable BASIC as they load.¢¢ There are several parameters that¢ have to be set up before you can¢ communicate successfully. There is,¢ in any program that I have used, a¢ way to do this globally, but to¢ override some of those settings for¢ specific boards that you might call¢ when this is necessary. BobTerm¢ allows you to set some of these¢ globally from a menu, but then change¢ them automatically when dialing a¢ specific board from a dialing list. ¢ That way, should you choose to dial¢ manually, the global default is in¢ effect. Speaking o menus, BobTerm¢ calls the first menu you see a "help"¢ menu. Commands are somewhat¢ mnemonic; the letter you press is the¢ first letter of the function you are¢ selecting in many cases.¢¢ You will want to contact a variety of¢ systems. If they are running on an¢ Atari 8-bit, you might want to select¢ the ATASCII translation. That way,¢ you can view ATASCII graphics and¢ cartoons on line, and make it easy to¢ transfer text files that have been¢ prepared with an Atari 8-bit. More¢ universal, however, is the ASCII¢ translation. Both of these¢ translations are built into all of¢ the terminal programs I have seen. ¢ BobTerm, and others, also offer VT-52¢ and DEC VT-520. Parity refers to a¢ way that each byte of data is checked¢ for accuracy of transmission. It can¢ be Mark, Space, Even, Odd, or None. ¢ The setting of 8 data bits, no¢ paraity, one stop bit (8N1) is most¢ common, but some services and boards¢ use 7 data bits, even parity and one¢ stop bit (7E1). You may have to¢ experiment a bit for each board you¢ call, but start with 8N1. BobTerm¢ automatically sets the correct parity¢ when a specific translation is¢ selected.¢¢ The baud rate is usually selected¢ globally but can be set for specific¢ boards that you call from the dialing¢ list. If you set it globally to the¢ highest baud setting your modem can¢ handle, and the other computer runs¢ at a lower baud setting, your modem¢ should adjust to the lower rate upon¢ connection. Sometimes this doesn't¢ happen, so you have the flexibility¢ of the dialing list settings. ¢ When you select full duplex,¢ everything you type first is sent to¢ the host computer and then echoed¢ back to appear on your screen. ¢ That's the most usual way to set¢ duplex. However, some systems may¢ want you to use half-duplex. If¢ nothing appears on your screen as you¢ type while connected, change to half-¢ duplex. If you are in half-duplex¢ and everything you type becomes¢ ddoouubblleedd, switch to full-duplex¢ to cure it. Some terminal programs¢ contain other variations of these¢ modes, but they are seldom used in¢ communicating with a BBS or an¢ information system. A good terminal¢ program also allows you to choose to¢ instruct your modem to usepulse or¢ touchtone dialing. If you have¢ touchtone in your home, and your¢ modem can use it, by all means use¢ it, since it is faster and more¢ feature-laden. Curiously enough,¢ Bobterm selects this feature not from¢ its "help" menu, but from its dialing¢ menu.¢¢ You should be able to get your¢ dialing menu from the main menu, and¢ BobTerm's "Help" menu serves as a¢ main menu. You should also be able¢ to get the modem to "originate" a¢ call to a user who is using a¢ terminal, not a BBS program and to¢ "autoanswer" a call from such a user. ¢ It is also convenient to have a¢ simple way of "hanging up" on the¢ call without resorting to special¢ codes typed in on the terminal¢ screen. Most terminal programs can¢ do all of the above.¢¢ A dialing menu of some type really¢ automates the calling process. Names¢ and numbers of the various systems¢ you will call frequently are entered¢ into a list, along with baud, parity,¢ and other settings. You can also¢ tack on special "macros" (key¢ combinations to send) with most¢ terminal programs. When the list is¢ completed and saved, it will¢ automatically load in with the¢ program the next time it is used. ¢ You should be able to save several¢ lists, although only one default list¢ will automatically load with the¢ program. The menu will allow you to¢ edit, add, delete, or simply view an¢ entry and save the revised list under¢ the same or a different filename. It¢ should allow you to "tag" one or more¢ entries and upon another keystroke,¢ dial them in order until one answers. ¢ At the end of that call, the tag will¢ be removed and you can then start the¢ autodialing process again. The menu¢ should also allow you to dial a¢ number manually. This is important¢ if you want to "try" a BBS, but don't¢ want to add it to your list until you¢ have decided if you like it. By the¢ way, all lists have a fixed capacity¢ for numbers. That's where the¢ ability to load in a second, third,¢ etc., list comes in handy.¢¢ It may be important to get a¢ permanent record of a "conversation"¢ you had on line, or of a text file¢ that you are reading on-line. To¢ that end, most terminal programs¢ include a facility called a "Capture¢ Buffer". From the moment that you¢ turn this feature on until it fills¢ up, all of what you and the host¢ computer transmit is saved in a slice¢ of your computer's memory. You then¢ have the choice of dumping it to a¢ disk, or discarding it. Some¢ programs allow you to dump it to a¢ printer. Be warned, however, that¢ this buffer is lost when you turn off¢ the computer, and that you may need¢ to fill it again before it is saved¢ if you need to capture from another¢ call. I have seen many programs for¢ other computers that also have a¢ "scrollback" buffer. This second¢ buffer echoes the first, and allows¢ you to scroll backwards, for as much¢ memory as it will hold, through your¢ entire session. Of all the features¢ that other machines offer in their¢ various terminal programs, this is¢ the one that I miss on the Atari¢ because, to my knowledge, it is not¢ present in any Atari terminal¢ program.¢¢ A terminal program should be able to¢ take you back to DOS and in again¢ without losing your call. Some DOS¢ commands should be possible from¢ within the terminal program. Disk¢ directories certainly come to mind¢ here. The program should also allow¢ you to set it for such things as¢ screen color, special windows,¢ joystick control of some functions,¢ and be able to accept some "hot-key"¢ commands defined by the user.¢¢ File transfer is the next item that¢ should be considered. When you¢ receive a file from a host computer,¢ you are downloading. When you send a¢ file to a host computer, you are¢ uploading. Like the capture buffer¢ process described above, your¢ computer can take a file that is¢ transmitted and save it to disk. ¢ However, with a file receive, this¢ buffer should empty itself to disk¢ and refill without losing a single¢ byte. The file send-receive buffer¢ will be smaller than the capture¢ buffer, but if it has a variable size¢ that you can select, try to make it¢ big enough to cut down on disk drive¢ starts and stops but not big enough¢ to interfere with memory needed for¢ other program functions. If the size¢ of the buffer automatically adjusts¢ to other memory usage, the compromise¢ is usually a good one and you won't¢ have to do a thing with it. Files¢ are sent and received using a number¢ of protocols. The first one, in all¢ of its variations, is termed "ASCII". ¢ It provides no error checking. The¢ pacing of transmission is variable,¢ and must be set according to the¢ needs of your system and the host's¢ system. I don't like it, and will¢ not suggest that you do more than try¢ it once to see how it works. XMODEM,¢ or Christiansen, is a protocol that¢ sends a file in blocks of 128 bytes,¢ followed by a checksum. If the¢ checksum received matches the one¢ calculated by your computer from the¢ data in the block, it is assumed that¢ the block was transmitted and¢ received without error, and the next¢ block is sent. If not, the block is¢ retransmitted a number of times¢ before the program aborts the¢ transmission. Telephone line noise¢ can actually interfere with the¢ accuracy of transmission, so this¢ scheme was very welcome when it first¢ appeared. It has been improved in¢ CRC XMODEM, which brings in a more¢ elaborate checking system. 1K-XMODEM¢ introduces 1024-byte blocks for¢ faster throughput, and should be used¢ unless there is considerable line¢ noise. If you encounter a series of¢ "bad blocks" when using this¢ protocol, try the transfer again with¢ CRC-XMODEM. Then there's YMODEM,¢ which can be very handy, if both your¢ program and the host computer's¢ program support it. This protocol¢ allows you or the host to send¢ several files with no intervention by¢ you between files. The actual¢ arrangement varies with each caller-¢ host system, so I won't go into¢ detail about it here. To be sure,¢ there are other protocols for other¢ machines that have decided advantages¢ over these. Some day they might be¢ supported for Atari 8-bits as well,¢ but until they are, understand that¢ what we have are really the most¢ commonly-used protocols for any¢ machine. Also, understand that¢ unless a protocol is machine-specific¢ (and few are) it can be used to¢ transfer files prepared ON any¢ computer FROM any computer TO any¢ computer (did you follow that?). The¢ Apple, or IBM, or C64 files might not¢ run on your Atari, but your Atari can¢ save them and transfer them to any¢ other machine.¢¢ x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x¢