Date : Tue, 21 Apr 1987 22:59:00 MDT
From : WANCHO@SIMTEL20.ARPA
Subject: MEX Batch mode solved
At one time, I wrote out a description of the MODEM7 protocol as then
implemented by the TOPS-20 version, called MODEM. Although TMODEM has
replaced MODEM with many changes, the description of the protocol with
respect to the timeout values used remain essentially the same. The
major difference is that a multiplier of four is used instead of three
for determining the timeout value for a data packet. TMODEM and MODEM
before it sends the data packet as a string in a single system call
rather than sending each character in the data packet with separate
system calls and associated timeouts.
These timeout values were empirically determined over many transfers
under a variety of line conditions and delays and significantly
contribute to the robustness of the protocol. Unfortunately, these
values were incorporated into MODEM7 late in its life while undergoing
a power struggle, and probably never made it into many of the current
versions claiming to be "xmodem" compatible. In fact, many of the
so-called versions of "xmodem" in the pc world are based on a very old
description of the protocol that doesn't even include CRC mode, much
less the MODEM7 "batch" mode. Fortunately, both MEX 1.14 and all
subsequent versions of the commercial versions of MEX, MEX-PLUS and
MEX-PC, do use these improved timeout values. I cannot speak for YAM
and YMODEM, but I suspect they use similar values.
So, those of you wishing to "improve" the timeout values should
consider checking out the values given in PD:<MISC.TOPS-20>MODEM7.DOC.
BTW, I must agree that the YMODEM batch method of passing filename and
other information is definitely superior to the MODEM7 method. TMODEM
may incorporate that option someday as well...
--Frank