Communications under CP/M

Started by Blacklord, November 04, 2007, 01:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Blacklord

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.