TARCHIVE - File/Tape Archiver Program - Ver 1.2B
by Andreas Schiffler - University of Saskatchewan
============================================================================

Introduction
------------

Tarchive is a DOS command-line tape archiver program for the Exabyte 8500 or
8505 tape drives operating in the 4.9 GByte mode. This program is meant to
replace the TAR program and enhance it by using some of the specific
features of the EXB-8500 family of tape drives. This means that this program
will not work with the older Exabyte 8200 drives since they do not support
the SCSI-commands used by Tarchive. DAT drives should however work, if they
support block-seek commands (this is not tested). Tarchive is not TAR
compatible, but uses its own format for increased speed and security of the
archiving process.
Also provided are sources for a tape-erase program and a simple file
archiver.

Features
--------

* fast save and backup operation through use of buffering mode and large
blocksize
* directory information of each saveset is kept with saveset for quicker
access of individual files
* fast file retrieval by use of direct data-block search
* increased data security by use of a magic code in header and a checksum
* advanced error checking implemented for Exabyte drives
* extensive error logging possible
* filename-list mode for simple interfacing with other programs
* tape erase/conditioning program is included

Disadvantages
-------------

* the format is not TAR compatible
* does not store path information
* number of files per saveset limited (approx. 15 thousand)

Command line usage
------------------
| means or, <...> means substitute value, [...] means optional

   TARCHIVE a|x|l <LUN:saveset> <wildcard>|@<filelist> [<options>]

Function:
.........

a - create a new archive an add files to it

x - extract files from an existing archive

l - list directory of an existing archive

Tape identification
...................

LUN - local unit number of the tape drive (1-7), depends on the system
configuration and will be displayed by the SCSI-BIOS at boot time

save-set - the number of the save set to work with (1,2,3,...). The saveset
number must point to a saveset that exists (for options X and L) or to a
saveset number which is one larger that the last existing saveset (for
option a). If the a option is used on an existing saveset, that one and all
subsequent savesets will be overwritten and all information will be lost.

Scope
.....

wildcard - valid DOS wildcard to identify files in the current directory

@filelist - filename of a textfile containing the filenames to be archived.
The sysntx is simple: one filename per line. The filenames should not
include path information.

Options
.......

LOG=<filename> - sets the error log to 'filename'. The default error report
is printed on the screen. If the logfile exists, the text is appended to the
existing file. 

WORDY=FALSE - default is TRUE, so this option turns off most of the
informational messages that are usually displayed

TIMEDISP=FALSE - default is TRUE, so this option turns off the time in the
error messages

TIMEOUT=<minutes> - sets the timeout period in minutes, if the tape does not
respond to the program. In case of a timeout, the program will abort. A
reasonable time is several minutes to give the drive time to recover from
tracking problems or tape winding.

TAPE=<identifier> - sets the tape size. This is used to approximate the
space left on the tape. Valid identifiers are for EXABYTE drives and
include: P5-15, P5-30, P5-60, P5-90, P6-15, P6-30, P6-60, P6-90, P6-120

RESET=TRUE - will force an ASPI reset whenever Tarchive initializes the tape
drive. The reset will slow the startup process by about one minute, but for
unattended operation this option is highly reccomended to avoid lockups.

Compilation and Sources
-----------------------

All programs require Borland/Turbo Pascal 6.0 and up to compile.

archiv.pas  	basic file archiver: reads multiple files from disk and 
		stores them with a directory in a single file
tarchiv.pas	Exabyte/DAT tape archiver: uses ASPI calls to store
		multiple files in single save sets on tape, includes
		complete tape control
terase.pas	Tape eraser: erases tapes, multiple erases possible for
		tape conditioning

xxx.pas		units used by the above programs


Data Format
-----------

Each save set consists of a directory, the files and a filemark at the end.

	Saveset=Directory,File,File,...,File,Filemark

The directory is just another file containing reference information. It has
to be the first file in the set. Its structure is as follows:

	Directory=Filename,Filesize,Filetime,Position

	Filename=STRING[12] 
	Filesize=Longint
	Filetime=Longint
	Position=Longint

Files are the packages that get written:

	File=Header,Data,Checksum
	
	Header=MagicCode,Filename,Filesize,Filetime
	Data=File (byte stream containing the data)
	Checksum=Longint (sum of all data bytes)
	
	MagicCode=T#6archi#7 (7 bytes)
	
Tarchive uses fixed length blocks of 32 Kbytes size.

The Author
----------

Andreas Schiffler

1230 11th St. E
Saskatoon, Sask
S7H 0G3
Canada

Phone (306) 374-2431
FAX (306) 652-7849
e-mail: andreas@karlsberg.usask.ca
e-mail: andreas@milo.usask.ca
e-mail: schiffler@skisas.usask.ca


-------------

    Copyright (C) 1994, 1995 by Andreas Schiffler.

    Permission to use, copy, modify, and distribute this software and its
    documentation for any purpose and without fee is hereby granted, provided
    that the above copyright notice appear in all copies and that both that
    copyright notice and this permission notice appear in supporting
    documentation.  This software is provided "as is" without express or
    implied warranty.
    ---------
 