home *** CD-ROM | disk | FTP | other *** search
- ZIP.DOC
- -------
- Instructions for ZIP.COM
- IBM PC Fast Serial File Transfer Utility
- Version 1.22 (8/19/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 (potentially) 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 to get copies of (the same version 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. Large transfer jobs will go faster
- if you use a hard or RAM disk, rather than a floppy drive, where possible.
-
- 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.
- (Some have none. Tsk, tsk: time to add one!) 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
-
- C>zip gort,klaatu /s sends C:GORT, C:KLAATU at slow speed
-
- C>zip my.* /2 sends all files C:MY.* over COM2
-
- C>zip receives files into current directory
-
- C>zip \work\ receives files 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. Basically, you need to have the transmit and receive data
- lines (pins 2 and 3 on a DB25) crossed, and ground (7) straight through. If
- you have to build your own cable, you'll discover whether any more connections
- are needed. Don't ask me for further 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 simple ASCII
- text 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,11F
- 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.
- -e113 32
- -d100,11F
- 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.
- -w
- Writing xxxx 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.22 TRANSFER PROTOCOL
-
- This information is provided for programmers interested in writing
- applications compatible with ZIP on other computer systems. (If you do this,
- please let me know. MAC-ZIP, anyone?) The current protocol is new with ZIP
- 1.22. The protocol may need to be modified again 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
- (122 decimal, for ZIP 1.22 protocol) 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). 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 exactly 512 bytes of data; then a concluding ETX (3 decimal).
- The first packet contains the file name; an empty name packet (0 bytes
- length) 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 (6 bytes).
- 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 (4/88) - trial release. Worked on many systems.
- 1.1 (4/88) - improved transmission algorithm; batch transfers allowed
- using wildcards and/or commas; receive directory option;
- original file time/date preserved.
- 1.2 (5/88) - improved error handling; patchable default port also
- allows use of COM3,4; small bug fixes.
- 1.21 (5/88) - slower speed options; fixed bug in initializing ports.
- 1.22 (8/88) - protocol modified for better results on computers of
- widely different speeds; fixed bug in deleting temp file.
-
- 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
- 401 12th Ave SE, #139 CompuServe [74415,1305]
- Norman, OK 73071
-
-