Category : Communication (modem) tools and utilities
Archive   : ZBOOT21.ZIP
Filename : ZBOOT21.DOC

Output of file : ZBOOT21.DOC contained in archive : ZBOOT21.ZIP


Zmodem General Purpose Interface

Version 2.1

from Hank Volpe Copyright (c) 1992

released 11-2-92


Zboot.exe is a program that allows you to interface your communications
program to the Zmodem (DSZ's)transfer protocol. Zboot can be run in a
dos shell from any communications program, or in an integrated method
with any communications program.

Zboot requires at least 25K of memory above your communication program
and at least 64K for DSZ.COM to execute. In a standard 640K machine,
there is plenty of room for several TSR's, a COMM program, and Zboot to

What's New in Version 2.1

Version 2.1 contains a maintenance patch for higher speed modems on
uploads. The 14400 and 16800 modem link speeds were not being processed
under Qmodem 4.3. Procomm and other comm programs worked fine. The nice
thing about programming is that there is always something new to worry
about -);

For those upgrading from versions earlier than 2.0, you will find that
Version 2.1 is a major rewrite of Zboot. Zboot now has several new
features that make interfacing to DSZ even easier! Zboot now will
create (if you wish) an option configuration file. This file gives you
complete control over handshaking modes, mobyturbo, comm ports, and
allows use of the portx command, with which you can interface to custom
comm ports and IRQ lines. Also, you can now change the size of the
buffer DSZ uses. For info on this new mode, read the "C" command, or
just type Zboot C from Dos to create your config file

Other Standard Zboot Features
** Command switches (T,R,S,P) make Zboot compatible with every
Communications Program.

** Error Code Format. Zboot returns messages telling you
why it or DSZ failed to run. The screen pauses after errors too
so that you have time to read what the error condition was.

** Zboot uses DSZ's Crash Recovery and File Comparison. If you
get cut off in the middle of a transfer, you can start a
recovery of the file from where you left off!

** Zboot works with Qmodem and Procomm.
In fact, it will work with any COMM program whether it passes
filenames to Zboot or not!

** Support For High Speed Modems to 57.6K with all the
proper handshaking to prevent Serial Port overruns (in automatic
mode, or user selectable from configuration mode).

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 2

** Use of a variable size Communications Buffer to help High Speed
Connections achieve maximum character throughput.

** Auto-prompting of filenames during uploads (if filename was not
passed to Zboot by your COMM program.

** Zboot will switch to separate download or upload directories
if you specify a full path name as part of the filename to send.
Zboot then returns to the directory it was called from after the
upload or download is completed.

** DSZ called from a path. You do not have to keep DSZ.COM in any
special directory, just make sure you have set a path to it using
Dos's Set PATH command.

** Interactive Mode which allows the installation of DSZ as an
external protocol in COMM programs that don't allow external
protocols. The Interactive Mode can be installed as an external
editor or shelled to from DOS.

Most external protocol interfaces are handled through batch files, and
if you are familiar with standard Batch commands, they are limited.
Although Zboot takes up to 25K to run, it handles many different
situations that you normally can't handle in batch files without
a lot of code. In the automatic file, or when no configuration file
is used, Zboot automatically sets the proper port, speed, switches to the
correct download or upload directories, sets the correct handshaking
method and then switches back to the default directory after it
is finished. No batch hassles or errors!

Also as versions of Zboot evolved, improvements were made to take
advantage of some of the newer features of DSZ.COM. When used with
a COMM program, Zboot will automatically select the correct handshaking
mode for DSZ. Handshaking is normally not important unless the terminal
to modem speed is 9600 bps or higher. Zboot now will automatically
switch to CTS checking using the "handshaking both" mode when 9600 bps
is selected and will switch to "handshake slow" for higher rate
transfers. (Handshake slow is implemented in the April release of DSZ).
On most systems, speeds of 19200 bps without handshake slow create a
lot of errors. Again, all of these automatic commands can now be over-
ridden with the creation of your own custom Zboot.cfg file.

Finally, for users of other Communication programs, there is an
interactive mode that calls DSZ. It allows you to work with DSZ
in a shell vs using DSZ's complicated command-line structure.

The file Zboot.exe can be contained anywhere on your disk, however if
it is not in the same directory that your communications program is in,
then you should have a path to it in your system environment. DSZ.COM
(or .exe depending on the version), which contains the Zmodem protocol
from Omen Technology can also be in any directory as long as it is also
in one of the paths in your system environment. Make sure you are using
a version of DSZ.COM later than 4-17-89 in order to use the 19200 and
9600 bps handshaking selections. If you wish to use the Qmodem

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 3

interface (or believe your communications program will work in this
manner) then read the section devoted to Qmodem and its interface.
If you wish to use Zboot with Procomm or any other COMM program, just
follow the same procedure that is outline in the next section and
then read the special section entitled, "USING OTHER COMM PROGRAMS"

Zboot can be installed as an external protocol using Qmodem version 3.0
or higher. It can also be installed in Procomm Plus (both the test
drive and the registered version).

Qmodem Installation -

Quick Qmodem Summary - For Seasoned Users

1) Select the Install mode (ALT-N or with Qinstall)
2) Enter the name of the protocol, and Zboot T for transmit
and Zboot R for receive batch file names.
3) Tell Qmodem you want to send filename prompts.

1-2-3 That's it!...Zboot /DSZ / and Qmodem are ready to work together.

Qmodem Installation - for Information and Background Seekers
To do this, you must run the Qmodem install program and enter the
following information as listed from Qinstall (or while in Qmodem 4.0's
ALT-N install mode);

Qmodem 3.x installation with Qinstall
Sel Name of Upload Batch Download Batch Download
Char Protocol Filename Filename Prompt [Y/N]

[Z] [Zmodem ] [ZBOOT.EXE T ] [ZBOOT.EXE R ] [Y]
for prompted upload for prompted download

Qmodem 4.x installation using Alt-N
After the sliding bar appears, move the cursor to Protocols, press
return. Move the sliding bar to the number you wish Zmodem to be
installed as. Press return and answer these questions;

Select character Z
Protocol ZMODEM
Upload BAT ZBOOT T (or ZBOOT S for prompted upload)
Download BAT ZBOOT R (or ZBOOT P for prompted download)
Filename Prompt Y

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 4

NOTE: The Prompted mode should not be necessary for Qmodem at all. It
is mentioned here only so you know the option exists. If you don't have
Qmodem, then S and P maybe options you might be interested in. Read the
special section explaining these Command line switches at the end of
the next section.

Qmodem was designed to work with user written batch files, which if you
enter a Y for prompt, will send all the necessary information to the
file for downloading. Zboot takes advantage of this feature. The T
after Zboot.exe (upload) and the R after Zboot.exe (download) are used
by Zboot to determine if you want to upload or download a file. Qmodem
then returns the next group of parameters to Zboot and the process is
"hands off". In summary;

parameter 1 = R or T (from the Command interface above)
parameter 2 = Baud Rate (used to determine handshaking mode)
parameter 3 = Comm port in use
parameter 4 = Filename to down or upload (wildcards accepted)
[note this is Qmodem 4.1 and earlier]
parameter 4 = Actual connect speed from Qmodem 4.2
parameter 5 = Filename to down or upload (wildcards accepted)
[note this is Qmodem 4.2 only!]

(then DSZ begins to execute)

Note again that only if you enter the R or T after Zboot.exe above will
Zboot be able to work from Qmodem directly. Also, you must turn on the
prompted file output to send the filename to Zboot without retyping it.
If you do not include the R or T, Zboot will default to the Interactive
mode, which is fine, except now you will have to tell Zboot whether you
wish to transmit or receive, and you need to enter the name of the

If you wish to use Zboot interactively at times, I would suggest
installing it as the editor or shell to it using the ALT-R command.

Using other COMM programs

Version 1.7 of Zboot now works with any COMM program. Procomm allows
the use of external protocols, but it does not pass any communications
parameters (like Qmodem does) to the external protocol except for the
upload file name. This causes the most trouble for novice users that
are trying to write batch files that will work with Procomm and DSZ.

Installing Zboot with Procomm
1) To install Zboot in Procomm, select the File Protocols section from
the setup menu (ALT-S).

2) Enter as the name of the upload external protocol name ZBOOT T

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 5
Next, enter the name of the download external protocol ZBOOT R

Note that you can select any of the external option positions for
Zboot, but the test drive version of Procomm only allows externals
1 through 3.

Also note, Procomm users : Unless you type the full pathname (directory
and filename), Procomm won't pass that information to Zboot. You might
want instead to use the switches S (For Uploads) or P (For downloads)
instead of T and R. These switches are explained below and might be
better for you if you wish to use download and upload directories but
don't feel like typing the whole path\filename.

1-2 That's it!...Zboot/ DSZ/ and Procomm are ready to work together.

Installing Zboot with Telix or other Comm Programs

Since there really is no "correct" way or standard way to pass command
arguments from a program to an external protocol, each Communications
program takes a different approach. If you are using any other program
besides Qmodem and Procomm, you can now use Zboot and have it function
correctly, even if your program cannot pass parameters or send
filenames by using the new command prompt switches S and P.

When you install Zboot as an external protocol and use ZBOOT S for
uploading and ZBOOT P for downloading, you are instructing Zboot to
work in a generic mode. S instructs Zboot to upload, but to ask you for
a path name (directory\filename) that you wish to transmit. P instructs
Zboot to ask for a directory\filename you wish to download. P doesn't
actually need the filename, just a directory ending with a \
download\ (if you were sending a file to a directory that is a child of
your current one called download. The \ is needed so that the directory
can be properly separated from the filename, even with the P option. A
filename is always required on an upload.

This Generic mode is different from the interactive mode because by
using the S or P switches, Zboot already knows what you want to do and
only needs the filename. How did it get the Comm port? How did it get
the baud rate ? That again is another reason why Zboot is more flexible
than any batch file.

In this Generic mode, Zboot first scans all available COMM ports (up to
4 Maximum following DSZ's and PC-standard serial port addresses)
looking for a Carrier Detect (CD or RLS) signal to be active. The COMM
port currently on line will be the only one with this carrier signal
(for if it doesn't have a carrier, or if multiple lines are up, DSZ
also will not operate).

Next, Zboot reads the Divisor latch registers of the UART directly to
determine the correct baud rate to use. Based on this, the correct
handshaking for DSZ is also selected (Correct Handshaking is essential
for speeds over 9600 bps).

Finally Zboot invokes DSZ passing all the appropriate parameters to it.

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 6

Using Zboot with S and P switches makes it possible to interface to
any program. If you are using a very old Communications program, it
might not be able to do anything but call Zboot , in other words, the
S,T,P,R commands also cannot get passed through. What do you do now?
Simple, just read below.

Zboot starting with Ver 2.1 allows you to create your own custom config
file. To access this mode, type Zboot C. All of the current settings
that Zboot will use to communicate with DSZ will be displayed. Simply
follow the menu to select your desired handshaking, comm port, comm port
buffer size. Although Zboot's automatics are pretty good, you might want
to customize certain commands, especially if you have non-standard comm
ports and irq lines. For those of you using Zboot as a shell, Zboot will
also use this custom configuration file each time you envoke Zboot.

The only rules on the config file are ; the file created is called
Zboot.cfg and it must reside in the same directory that you start
Zboot from. Otherwise, Zboot will say "Zboot.cfg file not found, using


As stated earlier, Zboot will run from a Dos prompt and allow you to
use DSZ in a shell (instead of from Qmodem directly). You can run
Zboot in a dos shell inside your communications program too. Why do you
need the shell? Well primarily it exists to allow interfacing to other
communications programs that don't allow external protocols to
be added. Such an example is the 2.12 version of Telix. By substituting
Zboot as either the external editor, or by exiting to a dos shell, you
can now use DSZ easily from these programs. Zboot run in this manner
would be needed if your Communications program won't allow the passing
of any command line arguments. This again would only be a problem in
very old Communications programs, but people do sometimes like to hold
on to trusted friends. So if you need to, the Interactive mode is there
for you to use.

Once you have entered the shell, type Zboot (or if it was installed as
an external editor, it will start automatically). If a Zboot.cfg is
found, Zboot simply will ask you if you wish to transmit or receive a
file, and then ask you the file name. If a config file is not found,
Zboot will prompt you for selections, and then ask if you wish to
transmit or recieve a file. Version 2.1 makes this operation very
simple and easy to use.

Starting with Version 1.7 Zboot will inform you of errors interfacing with
DSZ other words, why DSZ or why Zboot didn't work. This ability
was always there to start. With earlier versions, Zboot returned a 1 if
DSZ had a problem or a -1 if Zboot had a problem. Now, you will find
out why.

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 7

Zboot Errors
If Zboot has a problem, it will return a message saying
Zboot Error = -1
and then one of the following messages is displayed;

Argument list too Long
- Incorrect arguments passed to DSZ from Zboot
(Make sure you have a version of DSZ dated 4-22-89 or later)

Invalid Argument
- Incorrect information passed to DSZ from Zboot
(Make sure you have a version of DSZ dated 4-22-89 or later)

Cant find DSZ.EXE or DSZ.COM in DOS Path or Current
- DSZ (either .exe or .com) must be in either the current directory
that Zboot switched to or in a DOS path. This is the most common
reason for a failure. Make sure DSZ is in a path.

Exec format error
- Something is wrong with DSZ, the file may be bad.

Not enough free memory for DSZ to run
- Zboot needs 20K for itself to run, DSZ another 64K minimum for
DSZ.COM, more for DSZ.EXE. Run Chkdsk from a DOS shell and see
how much memory you really have.

Unknown Error -
- Something happened wrong, but what it is Zboot can't tell

Zboot.cfg file not found, using defaults
- Zboot can't find the config file or you haven't created one. If
you did create it, make sure it is in the same directory that
zboot starts from (which should be your communications program

DSZ Errors
DSZ couldn't find your file or send/receive it
- DSZ returns a 1 status, meaning that any number of things went
wrong including; No carrier, file not found, aborts.. This message
primarily is to say that Zboot started DSZ ok, but DSZ has a
problem you need to investigate.

Unknown Error -
- Something happened wrong, but what it is DSZ can't tell

Zboot Version 2.1 Copyright 1992 by Hank Volpe
Page 8
Zboot.exe is written in Turbo C++ using and is compatible with all MS-DOS
systems. This program is NOT released to the public domain, and the author
retains all rights to the program. However, there is no charge for its use,
and it can be freely copied and distributed as you wish. The only costs
involved are if you wish a copy of the source code for custom interfacing.
If so, please send $10 to cover postage, disks and other related costs

Hank Volpe
PO Box 43214
Baltimore MD 21236

You can always get the latest copy of Zboot on the Modem Doctor BBS at
410-256-3631, and on most nationally recognized BBS systems.

This program is "free" for several reasons. First, DSZ is a great
package, and this extends its reach to people who cannot either set it
up properly or understand the more technical side of modem
communications. Secondly, as a registered user of DSZ, I do not think
it is right to ride on the "coattails" of anyone else. This program is a
communications utility in the purest form. The source code is for sale
only because of the time spent in updating Zboot and nothing else.

I would however like to hear from you, in writing, if you enjoy Zboot
and hear what features, implementations or other utilities you would
like to see added to it. Just drop me a line at the address above.

Turbo C++ copyright by Borland International
DSZ.COM and references to Crash and File Recovery and DSZ are
Copyright by Omen Technology inc.

Qmodem copyright by John Freil and the Forbin Project
Procomm copyright by Datastorm
Telix copyright by Ptel

  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : ZBOOT21.ZIP
Filename : ZBOOT21.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: