Contents of the PRCM-DSZ.TXT file
Using DSZ for Zmodem with ProComm Plus
The authors of ProComm Plus have chosen to provide minimal
documentation with the "test drive" version of their program. I
think that's an unfortunate decision, but will leave further
discussion of that to another time and place.
While I would not normally supplement "crippled" documenta-
tion -- I'd prefer to let the authors succeed or fail based on
their own decisions -- as a BBS sysop, I have some interest in
helping callers to my board learn to use Zmodem. It is, I
believe, far and away the fastest and most reliable software
protocol currently available.
With that out of the way, here are some tips on adding
Zmodem to ProComm Plus Test Drive v1.0.
Setting up ProComm
One of ProComm's setup options allows you to define external
protocols. Go to that option, and do the following:
(1) Define external download protocol 1 as ZMODEM-D.
(2) Define external upload protocol 1 as ZMODEM-U.
You're almost done (see, this isn't so hard).
In this archive are 2 batch files, ZMODEM-D.BAT (for
downloading) and ZMODEM-U.BAT (for uploading). Put those 2 batch
files in any subdirectory that is in your PATH. Also place a
copy of Chuck Forsberg's DSZ.COM in a subdirectory that is in
your PATH. It's DSZ that's going to be doing the real work here
(thank you, Chuck).
Now fire up ProComm and call your favorite BBS that supports
Zmodem. Tell it the file(s) you want to download and then hit
PG-DN (ProComm's command to receive files). Choose Zmodem-D as
your protocol. ProComm will then ask you if you want to pass any
parameters to the program. You don't! On Zmodem receives, DSZ
gets the names of the files it is receiving from the sender. So,
you just hit ENTER and watch Forsberg's wonderful DSZ program do
To upload one or more files, hit PG-UP in ProComm and choose
ZMODEM-U as your protocol. Now, when ProComm asks you what
parameters to pass, you do have something to tell it -- the names
of the files you are sending. So, for example, you'd type
FIRST.ARC SECOND.ARC THIRD.ARC etc. to upload 3 files in a batch.
You can also use wildcards (e.g., PCPLUS*.ARC to send all files
that match that file specification). If the files are not in
your current directory, you can add full pathnames (e.g.
C:\UP\FIRST.ARC D:\DOWN\SECOND.ARC etc.). See below for more
tips on paths.
COM1 versus COM2
The supplied batch files assume you are using COM1. DSZ
defaults to COM1. If your modem is on COM2, you could add a 'port
2' statement to these batch files. But, a better way to do it is
to put SET DSZPORT=2 in your AUTOEXEC.BAT file. Then, DSZ will
use COM2 by default and you won't have to worry about this
Forget it. DSZ is a very smart program. It will detect
your current baud rate and use it. You don't need a 'speed'
ProComm allows you to define a subdirectory into which all
your downloads will go. But, when you are using external
protocols like Zmodem, that specification won't be observed.
There's an easy fix for that. Edit the ZMODEM-D.BAT file to tell
DSZ your download subdirectory. So, for example, if you want all
your files to go to the \DOWN subdir on your C: drive, your DSZ
receive command would be:
DSZ rz c:\down
Well, this one's a little trickier. You have 3 options: (1)
Specify the full pathname of each file you are uploading if it is
not in your current directory; (2) Before starting the upload,
change subdirectories *within ProComm* to where the files you
want to upload are located; or (2) If your uploads are always
going to come from a certain subdirectory, put some ChDir
commands in ZMODEM-U.BAT. Say your ProComm files are in
C:\PROPLUS and you keep the files you're going to upload in
C:\UP, then your ZMODEM-U.BAT file might look as follows:
DSZ sz %1 %2 %3 %4 %5
There are some other, fancier ways to skin this particular cat.
I'll leave those to others.
Resume of Aborted Downloads
Part of the "magic" of the Zmodem protocol is that it can
resume an aborted download right where it left off. If you just
downloaded 180K of a 200K archive before carrier dropped on you,
don't despair -- Zmodem to the rescue. All you need to do is add
a '-r' to your regular DSZ receive command line and the download
will start up right where you left off (some BBS systems,
including mine, have taken care of this for you by adding a '-r'
to the send command line). So, your receive command line would
DSZ rz -r (case is important!)
There's no harm in having the -r in your command line even when
you are not resuming an aborted download, so I have done it that
way in the sample ZMODEM-D.BAT file.
DSZ Disk I/O Buffering
We're getting into advanced stuff here, but quickly: DSZ.COM
(NOT DSZ.EXE) has a user-definable disk read/write buffer. It
will be 1K by default. The buffer can be as large as 8K (8192
bytes). Here are sample command lines using 4K as an example:
DSZ pB4096 rz
DSZ pB4096 sz %1 %2 %3 %4 %5
That 'B' must be in uppercase. And, 'rz' and 'sz' must be in
lowercase (that's true for all of these examples).
DSZ Flow Control
And now, we're really into advanced stuff, so VERY briefly:
If your modem will be talking to your computer at a speed higher
than it's talking to the remote computer -- as is typical with
9600 bps modems and even 2400 bps modems using hardware error
correction with compression --- then you probably need to add a
flow control command to your DSZ command lines. Sample command
lines combining the I/O buffer and flow control would be:
DSZ handshake both pB4096 rz
DSZ handshake both pB4096 sz %1 %2 %3 %4 %5
That's more than enough, and maybe too much, to get you
started using Zmodem with ProComm Plus. I hope you find these
Robert S. Blacher, Sysop
Computer Connections PCBoard
(202) 547-2008 (2400/1200)