home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
util2
/
zip.lzh
/
ZIP.DOC
< prev
Wrap
Text File
|
1988-11-26
|
12KB
|
241 lines
ZIP.DOC
-------
Instructions for ZIP.COM
IBM PC Fast Serial File Transfer Utility
Version 1.21 (05/88)
(c)1988 E. Meyer
Requires: 100% IBM PC compatible computers; MS/PCDOS 2.x or 3.x
ZIP is a tiny, fast utility to transfer files between two IBM compatible
computers over an ordinary serial cable connection. This is most useful when
the computers don't share a common disk format, as in the case of a desktop PC
with 5" drives and a laptop (or PS/2) with only a 3" drive. ZIP is easier to
use, and over 6 times faster, than any ordinary telcom program.
Telcom programs: modem 2400 bps 0.3 K/sec
Telcom programs: cable 19200 bps 2.3 K/sec
---> ZIP: cable 115200 bps 14.1 K/sec
Most computer manufacturers offer additional disk drives or other
hardware accessories to provide access to data on both 3" and 5" disks; but
these can cost hundreds of dollars. They can also make a laptop computer a
lot less than portable. Direct serial connection isn't quite as fast, but it
does allow a data rate of 115200 baud -- that's over 14K per second.
There are commercial programs for this purpose (of which LapLink may be
the best known). I'm sure they work very well, and have many extra
conveniences that ZIP lacks. But even they are priced at $100 and up, which
is far more than I was willing to pay. ZIP transfers files just as well, and
is free.
BASIC USE
Obviously, you will need a copy of ZIP.COM on both computers. (You can
accomplish this at 19200 bps using your serial cable, if both machines have
telcom software with XMODEM protocol transfers.)
ZIP makes transferring a file as easy as copying it from one disk to
another. To transfer any MSDOS file, once the cable is properly connected to
the COM ports of the two computers, from any DOS prompt:
(1) On the sending machine, type: C>zip FILENAME
(2) On the receiving machine, type: C>zip
or C>zip DIRECTORY
(Don't try to hit RETURN at exactly the same time on both ends; this actually
makes an initial handshaking error more likely.)
The "FILENAME" you give can be a single file, or a GROUP specified by
wildcards and/or commas (see examples below). Each name may include a
directory. Each file will appear with the same name on the receiving end.
As data is transferred you should see a blinking asterisk. When you see the
message "Verified", you know that the received copy exactly matches the
original.
The "DIRECTORY" may optionally be specified on the receiving end;
otherwise, files are received in the current directory. Note: the directory
MUST end with either a colon ":" or a backslash "\", otherwise ZIP will think
it's a FILE to SEND! See examples below.
ZIP can be aborted by pressing any key:
(1) on either end, during initial handshaking
(2) on sending end, during file transfer
(will abort once current file is finished)
SELECTING THE SPEED
By default ZIP works at 115200 bps. In case you should have trouble at
this speed, ZIP has two command line options that request a slower speed:
/M = Use the moderate speed (57600 bps).
/S = Use the slow speed (38400 bps).
Naturally these must be specified on BOTH ends, if used. You will see an
additional note in the ZIP signon message, "Speed=_", indicating a slower
speed has been selected.
SELECTING THE SERIAL PORT
Most IBM computers have anywhere from one to four serial (RS232) ports.
The first two, COM1 and COM2, are implemented at standard addresses (03F8,
02F8); COM3 and COM4, if present, can vary from one computer to another. To
use them you will have to install the appropriate address in ZIP.COM (see
below).
ZIP has two command line options that you can specify (once, after any
filename(s) present) on either end, to determine which of the two standard
serial ports is used:
/1 = Use the COM1 port. (This is normally the default.)
/2 = Use the COM2 port.
You will see a note in the ZIP signon message, "Port=____", giving the port
address in use.
USAGE EXAMPLES
C>zip \work\my sends file C:\WORK\MY over COM1
C>zip gort,klaatu /s sends C:GORT, C:KLAATU over COM1 at slow speed
C>zip my.* /2 sends all files C:MY.* over COM2
C>zip receives files over COM1 into current directory
C>zip \work\ receives files over COM1 into directory C:\WORK\
C>zip d: /2 receives files over COM2 into directory D:
TECHNICAL DETAILS
ZIP does full CRC (Cyclic Redundancy Checksum) verification on the
received file. Being designed for direct serial transfer at maximum hardware
speed, ZIP is not compatible with other software, including ordinary telcom
programs. Do not disturb the cable when ZIP is running, as this may cause the
program to stall, requiring a reboot of your computer(s).
Be sure to use the SAME version of ZIP on both ends: the transfer
protocol may have changed. Otherwise, if you can't get ZIP to transfer files,
your computer(s) or your cable are incompatible. ZIP is written entirely in
assembly language; it will only work on fully IBM compatible computers. I
have tested it myself on 8088 PC clones with clock speeds of 4.77 to 8 MHz; I
rely on users' reports that it works well on more sophisticated systems.
Serial cables can be wired in many different ways. The one I use was
labeled as an "IBM AT adapter", and had female connectors on both ends (one
DB9, one DB25). Any cable that doesn't work by itself should with a null
modem adapter. If you find that you need to build a cable, don't ask me for
advice: I don't know any more about this than you do!
MODIFYING THE DEFAULTS
If no command-line option is given, ZIP will use its built-in "defaults"
for the serial port address and speed. These values appear in ASCII form at
the start of ZIP.COM, and can be modified to customize your copy of ZIP. To
get a quick look at the current settings, just enter:
A>type zip.com
__[Defaults: Port=03F8. Speed=F.]
For the Port, you can use "03F8" (COM1), "02F8" (COM2), or whatever (see
your computer manual for COM3 or COM4 port addresses). The possible values
for Speed are "F", "M", or "S". Changes can be made with any patching
utility, such as DEBUG. Just change the data under "Defaults:" to whatever
you require. After modifying the defaults, you can still use any command-line
options above to override them.
Here is how the DEBUG session might look; we Display the default data,
Enter 0"2"F8 in place of the 03F8 to change to a default of COM2, Display
again to see the new value, Write the change to the file, and then Quit:
C:\WORK>debug zip.com
-d100,12f
xxxx:0100 EB 20 5B 44 65 66 61 75-6C 74 73 3A 20 50 6F 72 . [Defaults: Por
xxxx:0110 74 3D 30 33 46 38 2E 20-53 70 65 65 64 3D 46 2E t=03F8. Speed=F.
xxxx:0120 5D 1A E8 A8 06 0D 0A 5A-49 50 20 31 2E 32 31 20 ]......ZIP 1.21
-e113 32
-d100,12f
xxxx:0100 EB 20 5B 44 65 66 61 75-6C 74 73 3A 20 50 6F 72 . [Defaults: Por
xxxx:0110 74 3D 30 32 46 38 2E 20-53 70 65 65 64 3D 46 2E t=02F8. Speed=F.
xxxx:0120 5D 1A E8 A8 06 0D 0A 5A-49 50 20 31 2E 32 31 20 ]......ZIP 1.21
-w
Writing 0896 bytes
-q
For further information on DEBUG see your MSDOS manual. Please DO NOT
distribute modified copies of ZIP.COM; this could confuse other users. They
are for your personal use only.
ZIP 1.2 TRANSFER PROTOCOL
This information is provided for programmers interested in writing
applications compatible with ZIP on other computer systems. The version 1.2
protocol may need to be modified with future development of ZIP. All transfer
takes place at 115200 bps (unless a slower speed is selected); be aware that
very tight polling loops, minimal handshaking, and fixed packet size are
needed to avoid loss of data at 115200 bps.
The initial handshaking involves the receiver sending a version code byte
(120 decimal, for 1.20) at intervals until it is acknowledged (ACK, 6 decimal)
by the sender. From this point on all data transfer is in fixed-size packets.
The receiver, when ready, requests each packet by sending an ENQ (5
decimal), and acknowledges correct receipt with an ACK. Each packet has a 3-
byte header, consisting of an SOH (1 decimal) and a 16-bit count to indicate
the number of significant bytes in the packet; then 512 bytes of data; then a
concluding ETX (3 decimal).
The first packet contains the file name; an empty name packet signifies
the end of the transmission. Subsequent packets contain the file data; a
packet that is less than full (count less than 512) signifies the end of the
file. One final packet contains the 16-bit CCITT CRC value for the entire
file, the DOS time stamp word, and the DOS date stamp word, in that order.
The receiver looks for the SOH and ETX bounding each packet, but does no
further checking. There are no timeouts. No attempt is made to resend
packets; under normal circumstances, transmission errors should not occur.
Upon any serious error, a NAK (21 decimal) is sent to the other end before
exiting to DOS. Upon receipt of this signal, the other end also terminates.
ERROR MESSAGES
<ERROR> invalid command (probably illegal option).
<OUT OF MEMORY> less than 64K free RAM available.
<TOO MANY> global filespec includes too many files.
<FILE ERROR> trouble reading or writing a disk file.
<COMM FAILURE> transmission error; or, aborted at the other end.
<CRC ERROR> received file CRC did not match, bad transfer.
<ABORTED> you pressed a key.
HISTORY
ZIP 1.0 (04/88) - trial release. Worked on many systems.
1.1 (04/88) - improved transmission algorithm; batch transfers allowed
using wildcards and/or commas; receive directory option;
original file time/date preserved.
1.2 (05/88) - improved error handling; patchable default port also
allows use of COM3,4; small bug fixes.
1.21 (05/88) - slower speed options; fixed bug in initializing ports.
ZIP and its documentation are (c)1988 E. Meyer, all rights reserved.
They may be freely distributed, but not modified or sold for profit without
my written consent. The user takes full responsibility for any damages
resulting from the use (or misuse) of this program. Please report any
problems encountered.
Eric Meyer
427 N. Washington #4 CompuServe [74415,1305]
Bloomington, IN 47401