============================================================================== [ THE KAY*FOG RBBS | CPM-CC02.ART | posted 01/18/86 | 246 lines 14k ] The CP/M Connection Originally published in by Computer Currents Ted Silveira 2550 9th Street (copyright and all rights reserved) Berkeley, CA 94710 March 26, 1985 COMMUNICATIONS PROGRAMS It's 2 a.m. in California. I can't sleep. Wrapped in my bathrobe, I pad downstairs, through the kitchen, and out to my office. I flip some switches--beep, beep. Green glow from the computer, red from the modem. I type a command, and the modem stutters to life, dialing the CP/M-Net bulletin board in New Brunswick, New Jersey. Busy. (It's 5 a.m. in New Jersey.) I try Palatine in Illinois. Busy. Tampa Bay and El Paso. Busy. Barstow, Thousand Oaks, Sacramento, Mountain View, Los Gatos. All busy. The phone lines are alive with computers. Why sleep when the phone rates are low? Computer communication is hot--hot enough to keep people up all night, hot enough to make modems the best-selling computer peripheral after printers. To get your computer on the phone lines, you need a modem and a communications program, often called a modem program. Modems cost money, but you can get excellent modem programs from the public domain. Please note--the programs I'm describing here will let you communicate with another personal computer, a bulletin board system, or a commercial information utility such as the Source, CompuServe, or Dow Jones. Often, they'll let you communicate with a mainframe or minicomputer, too, but some of these big computers use special communications protocols that the public domain programs can't handle. THE BASICS To be useful, a modem program needs some basic features. It should send and receive data in the most common format--1 start bit, 8 data bits, no parity bit, 1 stop bit. It should let you change the transmission speed if your modem has more than one speed. And it should store phone numbers and dial them for you, if your modem is compatible with the Hayes Smartmodem. A modem program should be able to save everything that crosses your screen into a disk file, if you want. It should let you send a plain text file (such as a prepared message), and while sending, it should respond to start and stop signals (XON and XOFF) from the other computer. Finally, to download public domain software from bulletin boards, the program must be able to send and receive files using the XMODEM protocol. With this protocol, sometimes called the Christensen or Modem7 protocol, a file is checked for errors as it is transmitted, guaranteeing that it hasn't been damaged by phone line noise or other transmission problems. MDM740 MDM740 is probably the most frequently used program. It has all the basic features and has gone through a long enough development so that it's free of bugs, as far as I can tell. MDM740 also has some nice extras. It can dial a list of phone numbers, one after the other, repeating the list until it makes a connection. And it has 10 programmable function keys, each of which can store a string of characters that you can send to the remote computer with two keystrokes. You can use these function keys to store log-on information (your name, password, etc.) and common bulletin board commands such as "DIR *.* $U0AD". You change the function keys and the phone library by using two accompanying programs, M7FNK and M7LIB. Modem programs must be modified for different computers because they deal directly with the computer hardware, which differs from one machine to another. Fortunately, you can adapt MDM740 more easily than most other programs. You use a small assembly language file, called an overlay, which you patch into the main MDM740.COM file by using DDT (from your CP/M distribution disk). There are overlays for more than 80 CP/M computers, so most people won't need any technical information about their machines. And the instructions for patching MDM740.COM are straightforward enough that even a novice has a good chance of success. I've found three things I don't like in MDM740. First, MDM740's menu covers three screens, and you have to go through all three to get back to the command prompt, even if the information you wanted was on the first screen. It's just an annoyance, but it could be avoided if the menu fit on one screen or if you could jump to the command prompt without going through the whole menu. Second, I used to think there was no way to look at the function key assignments without exiting the program--a serious problem. Not true. After months of use, I just found that there is a way--hit the ESCAPE key followed by the RETURN key at the MDM740 command prompt. Why did it take me so long to figure this out? Because the command isn't listed on the menu. Third, the documentation for MDM740 is complete, but it's not easy reading. It's clear to people who have some experience in modem communications but not to those who don't (at least that's the consensus in my users' group). And it gives no easy answer to the question, "What do I have to do to call up my local bulletin board?" MEX112 MEX112 (Modem EXecutive version 1.12) is a new program, now only in its fourth revision. Though it still has its roots in the original MODEM7 (as does MDM740), it has been extensively rethought and has some unique features. MEX112 has all the basics, and like MDM740, it has 10 programmable function keys and can continuously dial a list of phone numbers. Unlike MDM740, MEX112 lets you reset both the function keys and the phone number library without exiting the program. MEX112 also has a CLONE command, which makes a new copy of MEX112 and saves it to disk. You can run MEX112, fiddle with the phone library, function keys, and other settings until you have everything set to your satisfaction, and then CLONE a new copy of MEX112. This new copy will now have all your new settings as its default settings. MEX112 has a HELP command, which gives you information about commands from a special 50K help file. It's a good thing, too, since I can never remember all the MEX112 commands. Finally, MEX112 allows you to create command files. In these files, you can put instructions both to MEX112 and to the remote computer. MEX112 will execute the command file just as if you were typing everything in at the keyboard. You can, for example, create a command file that will dial your favorite bulletin board, give your name and password, save all messages to you in a disk file, and then log off. This feature has potential, but from what I read on some bulletin boards, people have trouble getting complicated command files to work-- unexpected responses or delays can cause MEX112 to lose control. If you want to use command files, there are two files that will help--AUTOMEX.INF, which gives information about setting up for automatic log-on, and MEXWELCM.LBR, a library of command files which allow someone to call your system and do an unattended file transfer. MEX112 has drawbacks, too. First, it's a new program, so it has had some bugs. The latest one is described in the file MEX112.BUG, but it won't affect most people. I've used MEX112 a lot without any problems, though I don't use any of its fancier tricks. Second, MEX112 is not as easy to get running as MDM740 because you must install two overlays and the instructions are not quite as straightforward. Also, MEX112 doesn't yet have as overlays for as many computers as MDM740 does. The MDM740 overlays are supposed to work with MEX112, but some don't. If you find there is no MEX112 overlay for your computer, and the MDM740 overlay doesn't work with MEX112 either, then you'll have to write your own, in assembly language, using another overlay as a model. Once MEX112 has been around a while, the number of overlay files will grow, and MEX112 will become as easy to install as MDM740. Meanwhile, MEX112 takes more tinkering to get it running. Third, the documentation for MEX112, like that for MDM740, is thorough but not easy for the novice. Some kind soul wrote a file called MEX- EASY.DOC to make things clearer, but it's not the complete answer. Finally, MEX112 has no menu. Instead, it has the HELP command and a STAT command, which lists the current options. These two provide detailed coverage but aren't always easy to use. For example, you might expect that "HELP COMMANDS" would list the basic commands; instead you get the message "no help available for 'commands.'" A question mark brings a partial list of commands, including the most common ones (T, S, and R). To get more help on these, you must type "HELP SINGLE" because they are single-letter commands. To get help on the secondary options you can use with the single-letter commands, you must type "HELP SECOND". But how would a novice know that "SINGLE" and "SECOND" are the key words? They certainly wouldn't be my first, second, or even third guess. For basic commands, I think a menu is better. OTHER PROGRAMS WITH XMODEM PROTOCOL MDM740 and MEX112 are the most common modem programs, but there are others that can handle the XMODEM protocol. COMM725: COMM725 has the basics, 10 programmable function keys, a menu that only takes one screen, and two big extras. It allows you to change the data transmission format--start bits, data bits, parity bits, and stop bits. And it has a built-in file-handling utility that lets you copy, delete, rename, view and print files, all without having to exit the program. COMM725 won't continuously dial a list of phone numbers. The function keys can't be changed without reassembling the program or using a disk editor. And, most serious, COMM725 doesn't use overlay files; it comes as a set of five linked assembly language files. Many people will find they need to know some assembly language to get COMM725 running. MODEM904: MODEM904 is like a cross between MDM740 and COMM725. It has the command structure and three screen menu of MDM740, but it also allows you to change the data transmission format, as does COMM725. It comes as a set of assembly language files, and it's about as difficult to get running as COMM725. MODEM7: MODEM7 is the ancestor of MDM740, MEX112, COMM725, and MODEM904. It lacks the extras the newer programs have and is difficult to get running. MODEM7 went through many revisions, finally reaching MODEM798. Note the difference in spelling between MODEM and MDM--MDM740 is a newer and better program than MODEM798. YAM: YAM stands for Yet Another Modem program. It's a sophisticated program, written in the BDS version of the C language. If you have BDS C, you'll probably want YAM. If you don't have BDS C, forget it. MODEM221: MODEM221 is a program I've seen but never used. It has the basics, but I don't know what else. (I can't collect EVERY modem program, can I?) It comes only as an assembly language source file. Special Note: There is a program called XMODEM, which is used on RCP/M (Remote CP/M) bulletin board systems to allow file transfers. Unless you're starting a bulletin board, you don't want the program XMODEM. You want a modem program that can handle the XMODEM protocol. WHAT'S BEST TO USE? For most people, it's a toss-up between MDM740 and MEX112, since they'll never use the extra features of either program. I rarely do. In users' group I belong to, I recommend MDM740 for people just starting out. It's easy to set up for different computers, it's thoroughly reliable, and it's slightly less confusing to a novice (though I've never seen a modem program that's easy for the first-time user). For myself, I use MEX112 most of the time, not because of its command files or other super features, which I never use, but simply because it's so easy to reset the phone library and the function keys. I'm also fond of COMM725. I don't use it much anymore because it doesn't have auto redial and it's tedious to reset the function keys. But the program has a nice feel to it. Next time, a small detour. I'll take you on a tour of a local RCP/M (Remote CP/M) bulletin board system to show you how the message system works and how to download and upload files. ------------------------------------------------------------------------------ Ted Silveira is a freelance writer and contributing editor to several computer-oriented publications. He appreciates suggestions or feedback and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065. ------------------------- End of CPM-CC02.ART Text -------------------------