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). THE BASICS 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 its thing. 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 anymore. Baud Rate Forget it. DSZ is a very smart program. It will detect your current baud rate and use it. You don't need a 'speed' command. Download Subdirectory 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 Upload Subdirectory 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: CD \UP DSZ sz %1 %2 %3 %4 %5 CD C:\PROPLUS 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 simply be: 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 Conclusion That's more than enough, and maybe too much, to get you started using Zmodem with ProComm Plus. I hope you find it these suggestions helpful. Prepared 2/13/88 Robert S. Blacher, Sysop Computer Connections PCBoard Washington, D.C. (202) 547-2008 (2400/1200)