     dm11500.txt
















		*********************************************
		*                                           *
		*              P I X E L A B                *
		*                                           *
		*               D A T M A N                 *
		*                                           *
		*              User's Manual                *
		*                                           *
		*********************************************



			       Version  1.15
			     October 15, 1996

















			        Pixelab, Inc.
		    1212 South Naper Boulevard, Suite 119
		     Naperville, Illinois  60540   U.S.A.

			    Phone:  630-369-7112
			      Fax:  630-369-7113
                         Web Page:  http://www.datman.com/
                            Email:  tech@datman.com


              (c)1995-1996, Pixelab, Inc.,  All rights reserved.





========================================================================
     Table of Contents
========================================================================



    Chapter 1   Introduction .......................................  5

		DATMAN's Mission ...................................  5
		What is DATMAN .....................................  6
		Key Features of DATMAN .............................  7

    Chapter 2   Setting Up  ........................................  8

		Setting up the File System .........................  8
		System Requirements ................................  8
		Files in the Distribution Diskette .................  8
		Installing the DATMAN package onto your hard disk ..  9
		Installing the DATMAN package by hand ..............  9
		Adjusting the environment variable, PATH= ..........  9
		ASPI Manager and DATMAN ............................ 10
		The Conventional ASPI Installation ................. 11
		The On-Demand ASPI Installation .................... 11
		The Two Ways to Install DATMAN ..................... 12
		The Conventional DATMAN Installation ............... 12
		The On-Demand DATMAN Installaion ................... 13

    Chapter 3   Tutorials .......................................... 14

		Examples in the Tutorials .......................... 14
		Tutorial 1  Creating a DATMAN drive ................ 15
		Tutorial 2  Exploring the Tutorial Tape with DDIR .. 25
		Tutorial 3  Writing to a DATMAN Tape ............... 32
		Tutorial 4  More Access on DATMAN Tape ............. 41

    Chapter 4   Program Reference .................................. 51

		DATMANFE ........................................... 52
		LOADASPI ........................................... 56
		DDIR ............................................... 57
		WHERE .............................................. 58
		DCOMP .............................................. 59
		DCOPY .............................................. 60
		WAKEUP ............................................. 62











				       2




    Chapter 5   DATMAN.EXE Reference ............................... 63

		DATMAN ............................................. 64
		DCLONE ............................................. 65
		DCMODE ............................................. 66
		DDELAY ............................................. 67
		DEJECT ............................................. 68
		DFLUSH ............................................. 69
		DFORMAT ............................................ 70
		DGETBLK ............................................ 71
		DGETDIR ............................................ 72
		DGETFILE ........................................... 73
		DHELP .............................................. 74
		DHISTORY ........................................... 75
		DLABEL ............................................. 76
		DMOUNT ............................................. 77
		DNGROUP ............................................ 78
		DPMODE ............................................. 79
		DPURGE ............................................. 80
		DPUTEOD ............................................ 81
		DREAD .............................................. 82
		DREPAIR ............................................ 83
		DRMODE ............................................. 85
		DSCANBLK ........................................... 86
		DSCANCAT ........................................... 87
		DSCANFILE .......................................... 88
		DSCANMARK .......................................... 89
		DSELECT ............................................ 90
		DSHOWCAT ........................................... 91
		DSHOWFILE .......................................... 92
		DSTATUS ............................................ 93
		DWARP .............................................. 94
		DWIPE .............................................. 95
		END/QUIT ........................................... 96
		ErrorLevel ......................................... 97

    Chapter 6   Advanced Topics ................................... 101
		The DDS Format .................................... 101
		The DATMAN File System ............................ 101
		Anatomy of the DATMAN Tape ........................ 102
		Session from User's Point of View ................. 104
		Writing Catalog Data .............................. 104
		Automatic Flushing by Built-in Timer .............. 104
		Maintaining a History  ............................ 105
		Cache Memory Allocation ........................... 105
		Loading and Unloading DATMAN ...................... 106
		The Volume Letter ................................. 106
		The Number of Open Files .......................... 106
		Tape Capacity ..................................... 107
		Automatic Door Lock  .............................. 107
		Single-drive DAT System ........................... 107
		DATMAN-PRO for Multiple DAT Support ............... 108
		The Freeware Version of DATMAN .................... 108
		DATMAN Starter Kit ................................ 108

				       3




    Appendix A  DAT Basics ........................................ 109

		The DDS Standard .................................. 109
		The Data Cartridge ................................ 109
		Common DDS Drive Models ........................... 110
		Compatibilities amoung the Tape Drives ............ 111

    Appendix B  SCSI Basics ....................................... 112

		That is SCSI? ..................................... 112
		SCSI Bus Configurations ........................... 112
		SCSI Bus Termination .............................. 112
		SCSI Bus Termination Power ........................ 113
		SCSI Address ...................................... 113
		Single-Ended vs. Differential ..................... 113
		Synchronous Negotiation ........................... 114
		DMA vs PIO ........................................ 114
		Data Tranfer Rate ................................. 114
		Host Adapters ..................................... 115
		Host Adapter BIOS ROM ............................. 115

    Appendix C  Questions & Answers ............................... 116

































				       4




=========================================================================
    CHAPTER 1.   INTRODUCTION
=========================================================================


    DATMAN's Mission


	The growth of hard disk capacity during the past few years has 
	been truly remarkable.  The diskette-based backup utility 
	programs are fast becoming things of the past.

	The DAT tape is one of many alternatives in the high-capacity, 
	removable media storage area.  The magnetic tape is one of the 
	oldest storage devices in the history of computing.  For one 
	reason or another, the presence of the magnetic tape has been 
	fading during the past decade.

	Today, magnetic tape drives are facing a turning point.  On the
	one hand, the low end products which are quite affordable do not 
	provide adequate capacity for many users.  The high performance 
	tape drives, including the DAT tapes, are still beyond the reach 
	of many computer users.  DATMAN challenges the notion that the 
	high-capacity tape technology is made primarily for file backup 
	purposes.  The mainstream tape backup programs seem to place 
	little importance on the accessibility of the stored data.  
	The data on tape are retrieved only through the restore features 
	provided by the backup program.   The value of the tens of 
	gigabytes of data on tape are highly questionable for all but 
	the extreme emergencies.  If you are currently using a tape 
	backup utility today, ask yourself how often you read the tapes.  
	The answer to that question tells you the real value of the data 
	on the tape.

	DATMAN gives you on-line storage of up to 8 gigabytes in the 
	MS-DOS environment.  DATMAN transforms a DAT drive to a high-
	performance file system.  It is as versatile as a floppy drive. 
	You can, again, start making backup copies of the original 
	diskettes for software packages you buy.  All of the floppy 
	disks in your office will be in the palm of your hand.  You 
	will have access to all of the data you ever had within a few 
	minutes.  Once the market discovers the real productive use of 
	the DAT technology in day-to-day operations as DATMAN advocates, 
	the favorable cycle of the higher production volume and reduced 
	price will begin.  We hope DATMAN will become a catalyst to the 
	inevitable comeback of the magnetic tape technology in the 
	computer storage arena.








				       5




    What is DATMAN?


	DATMAN is a software product that enables you to treat a DAT 
	tape drive as a floppy disk drive for file storage.  The tape 
	drive is accessed directly by MS-DOS (or MS-DOS-like commands) 
	instead of unwieldy backup software.
	
	The workhorse of DATMAN is the file engine program for the 
	tape drive called DATMANFE.EXE.  It is a DOS executable 
	program which can be launched from the DOS prompt to be 
	loaded in memory as a TSR (Terminate and Stay Resident) 
	program.

	Once it is loaded, DOS accepts references to the tape drive 
	using the familiar DOS drive letter.  For example, if you have 
	one hard disk with no other drives, the new DAT drive becomes 
	known as drive D: (just like a RAMDRIVE).  The easiest way to 
	visualize the DATMAN drive is to think of it as a floppy 
	drive-----drive that accepts removable media.  We made 
	conscious effort to make the tape cartridge as easy to treat as 
	the diskette.  The DAT volume is recognized by most applications 
	in MS-DOS and Microsoft Windows.
	
	Even if you are a DOS novice, as long as you understand the DOS 
	file and subdirectory structure (i.e., DIR, COPY, XCOPY, MKDIR, 
	CHDIR, REN, DEL, and TYPE commands), you can start using DATMAN 
	immediately after the quick installation step.  DATMAN is 
	simplistic in design, so detailed explanations are not necessary 
	for use.  We call DATMAN a device driver since it literally 
	controls a peripheral device.  However, strictly speaking, it 
	is not a true device driver as defined by MS-DOS.  Our 
	implementation in DATMAN does not suffer from limitations 
	imposed on a DOS block device driver.





















				       6




    Key Features of DATMAN


	    1. 	DATMAN provides an MS-DOS compatible file system.
		Most MS-DOS and Microsoft Windows applications can 
		directly read and write files on the tape.
	  
	    2.	DATMAN makes a DAT drive operate much like the 
		familiar floppy drive.  
	  
	    3.	The storage capacity is limited only by the tape 
	    	media (as large as 8 GB in DDS-2 format).
	    	Over 256,000 files can be stored and over 16,000 
	    	subdirectories can be created on one tape.
	  
	    4.	After an initial mounting procedure, most directory-
		related operations (such as the DIR command) cause 
		hardly any delay, thanks to DATMAN's adaptive caching 
		algorithm.

	    5.	The background mount and flush capabilities let you 
		operate the PC continuously even when the tape is 
		being loaded or ejected.
	  
	    6.	The file transfer throughput can exceed 15MB/minute.  
		That is as fast as (if not faster than) disk-to-disk 
		operations.
	  
	    7.	The creation and removal of the DATMAN File System 
		(including the ASPI manager) can be done without 
		rebooting the system. 
	  
	    8.	You don't even need to modify the CONFIG.SYS file.  
		DATMAN includes extensive error recovery features 
		for possible data corruption (caused by a power 
		failure during write operation, premature soft-boot, 
		etc.).

	    9.	Many innovative features are available in DATMAN.  
		For example, the WARP function allows you to create 
		the exact volume image of a given date and time in 
		the past without requiring any free space on the hard 
		disk.












				       7




=========================================================================
    CHAPTER 2.   DATMAN SETUP
=========================================================================


    Setting up the File System

	This chapter contains information necessary to install and
	use the DATMAN File System on your system.  These instructions 
	assume that you have already installed your SCSI host adapter. 
	If you have not, you may turn to Tutorial 1 and work through 
	the steps to install the adapter.
	

    System Requirements

	* An MS-DOS-based computer with a DDS tape drive.

	* MS-DOS  version 5.0  through 6.2.

	* An additional buffer memory of at least 256KB (which can 
	  allocated in Expanded memory).

	* The DDS tape drive must be interfaced to the host system
	  through a SCSI adapter (this can be a Parallel-to SCSI 
	  interface) which is supported by an ASPI driver.

	* In addition to the absolute requirements listed above, 
	  expanded memory (through EMS managers such as EMM386, 
	  QEMM, 386^MAX, etc.) with 1 MB or more is highly desirable 
	  to achieve the high performance potential of your DAT drive.

    Files in the DATMAN package

	The following files are provided in the DATMAN softare package.

	READ.ME   	Check for latest information
	MANUAL.TXT	DATMAN User's Manual (this text) as text file
	DATMAN.DOC	Added material for updates (if present)
	INSTALL.BAT	A simple installation batch file
	DATMANFE.EXE	The DATMAN File Engine
	DATMAN.EXE	The DATMAN utility program
	DFLUSH.EXE	DATMAN catalog flush utility
	DEJECT.EXE	DATMAN tape eject utility
	LOADASPI.EXE	ASPI loader utility
	DDIR.EXE	Directory/file manager utility
	WHERE.EXE	File search utility
	DCOMP.EXE	Directory comparison utility
	DCOPY.EXE	XCOPY replacement
	WAKEUP.EXE	Timer utility for programmed delay execution
	GODATMAN.BAT	A template batch file to load DATMAN File Engine
	NODATMAN.BAT	A template batch file to uninstall File Engine
	BU_MONTH.BAT	An example batch file first-of-the-month backup
	BU_DAILY.BAT	An example batch file incremental daily backup

				       8




    Installing the DATMAN package onto your hard disk

	If you have the DATMAN distribution diskette, it contains 
	all the necessary files.  If, on the other hand, you obtained 
	obtained this DATMAN package in any other way (e.g., the 
	DATMAN.ZIP file downloaded from the Internet), you should 
	create a temporary directory and unzip the file to reconstruct 
	the same set of the DATMAN files. Then make the temporary 
	directory current.
	
	The INSTALL.BAT program automates the creation of a home
	directory and copying the DATMAN files.

		Usage:   [drv:]INSTALL  dst

	Where  drv is the floppy drive with the DATMAN diskette.
	dst is the full pathname of the destionation subdirectory.

	It creates a the destination directory, copies the executable 
	files to it, and then, it creates the GODATMAN batch file.

		Example:   A:INSTALL C:\DATMAN


    Installing the DATMAN package by hand

	Since the DATMAN package has only small number of files,
	you may copy all the .EXE and .BAT files by hand.
	
		Example:   XCOPY C:\TEMP\*.BAT C:\BIN
		           XCOPY C:\TEMP\*.SYS C:\BIN
		           XCOPY C:\TEMP\*.BAT C:\BIN
		           
        The .EXE files are not sensitive to where you keep the files.
        On the other hand, some of the batch files supplied in the
        DATMAN package contain references to directory name which
        may need minor adjustments (e.g., within GODATMAN.BAT, 
        LOADASPI's argument includes the ASPI file's directory name).

	The batch files other than GODATMAN.BAT and NODATMAN.BAT
	are provided as examples.  You may find the NetWare backup
	batch files useful in order to derive your own batch files
	for an unattended backup procedure.


    Adjusting the environment variable, PATH=

	If you created a new directory to house the DATMAN executable
	files (e.g., C:\DATMAN), then make sure you adjust the
	MS-DOS environment variable PATH to include the DATMAN 
	directory.  Most users find it more convenient to simply copy
	all the DATMAN executable files into their tools directory
	(e.g., C:\BIN).  This way, it is not necessary to modify
	the "PATH=".

				       9




    ASPI Manager and datman

	ASPI stands for Advanced SCSI Programming Interface, which was 
	originally designed by Adaptec and has become an industry 
	standard.  It defines a software interface protocol that 
	provides a bridge between the particular host adapter hardware 
	and an application software.  The hardware manufacturer provides 
	an ASPI manager (e.g. ASPI2DOS.SYS) with the adapter.  An ASPI 
	manager is a DOS device driver that becomes a part of DOS once 
	installed in memory.  The file name of an ASPI manager is chosen 
	by its vendor and varies from model to model.  However, it 
	always registers to DOS as a character-device driver known as 
	"SCSIMGR$".

	Once the ASPI manager is installed, an ASPI-compatible 
	application program such as DATMAN can control the SCSI devices 
	which are attached to the host adapter.  The aspect the end user 
	might not appreciate is the fact that DATMAN hardly knows how 
	the particular SCSI host adapter works.  All it knows is how to 
	tell the ASPI manager the function and data to send to and 
	receive from the DAT tape unit.  The ASPI manager relieves the 
	software developer from the burden of writing program code that 
	controls the SCSI host adapter.  Today, almost all SCSI host 
	adapter makers provide an ASPI driver.

	There are two ways to install an ASPI manager, depending on how 
	you plan to use it on your system.  If you are going to use the 
	ASPI manager for other devices as well as the DAT drive, you may 
	wish to use the conventional ASPI installation which loads the 
	manager when you start your system.  The manager remains loaded 
	throughout your session.
	
	Then, there is an alternative way, which we call "On-Demand" 
	method.  If the sole purpose of the ASPI manager is to support 
	DATMAN, you can use this more flexible method.  It brings in 
	the ASPI manager only when you need it.  This technique 
	conserves your main memory.


















				      10




    The Conventional ASPI Installation


	If your SCSI adapter is connected to more than just DAT 
	drives, (e.g., a scanner or a hard disk), the ASPI manager 
	is usually installed by using a statement in your config.sys 
	file, such as the following.
	
		DEVICE = C:\BIN\ASPI2DOS.SYS /P340 /Q11 /D

	The file name after " DEVICE =" specifies the directory and 
	the name of the ASPI file.  The arguments to the right of the 
	file name are options and parameters that depend on the use of 
	the driver.  This method requires a modification to your 
	CONFIG.SYS file and a reboot of your system to make the change 
	effective.


    The On-Demand ASPI Installation
    
	DATMAN brought an innovative approach to loading the ASPI 
	manager.  This method allows you to install and uninstall the 
	ASPI manager without modifying the config.sys file.  Moreover, 
	you need not reboot the system doing so!  This is a far more 
	flexible method than the conventional ASPI installation method.
	We advocate the use of this method as much as you can.

	This requires no installation steps prior to using DATMAN.  By 
	running the LOADASPI.EXE program, the ASPI manager is loaded 
	as a TSR and can be unloaded at any time.  For example, the 
	statement in the config.sys file shown in the conventional 
	installation will be replaced by the following command run 
	at the DOS prompt.
	
		LOADASPI C:\BIN\ASPI2DOS.SYS /P340 /Q11 /D

	To reverse the processs after you are done with ASPI manager,

		LOADASPI  -U

	This procedure is covered in more detail in Chapter 3, Tutorials.
	This feature is particularly useful when you attach a portable 
	DAT drive to a computer through a parallel port interface for 
	a temporary connection.
	










				      11




    The Two Ways to Install DATMAN
    

	Just as you can install the ASPI manager in two ways, you can 
	also install the DATMAN File Engine in two ways.  Following the 
	DOS tradition, you can load DATMAN when you boot up your machine 
	through the AUTOEXEC.BAT file, just as a CD-ROM drive is 
	typically installed (on a semi-permanent basis).  Or, you may 
	opt to load it by command on a temporary basis (on-demand).


    The Conventional DATMAN Installation

	If you have an internal DAT drive which is mounted inside your 
	PC, you may prefer to install the DATMAN File Engine 
	(DATMANFE.EXE) on a permanent basis.  Usually, this involves 
	invoking DATMANFE.EXE from the AUTOEXEC.BAT file.  Typical 
	installations are presented below (only those lines related 
	to DATMAN are shown).

	Example 1  (using the conventional ASPI installation)

	    in CONFIG.SYS

		LASTDRIVE = E
		DEVICE    = C:\BIN\ASPI2DOS.SYS /P340 /Q11 /D

	    in AUTOEXEC.BAT
	
		DATMANFE.EXE  -E1024  -VE  -NMYPC
	

	Example 2  (using the On-Demand ASPI installation)

	    in AUTOEXEC.BAT

		LOADASPI.EXE  C:\BIN\ASPI2DOS.SYS /P340 /Q11 /D
		DATMANFE.EXE  -E1024  -VE -NMYPC


	The argument parameters are explained in Chapter 5.  You can 
	uninstall the DATMAN module in both cases.  Using the second 
	example, you can also uninstall the ASPI manager.

	If you intend to remove the resident DATMAN module at a later 
	time (and the DAT drive is the only device controlled by the 
	ASPI manager), then it would be most flexible to use the 
	On-Demand ASPI loading method—loading by command only when 
	you need the manager and terminating by command when finished.






				      12




    The On-Demand DATMAN Installation

	If you use an external DAT drive and make connection to the 
	host PC for temporary file access, memory resources are saved 
	using the temporary installation.  Even if the DAT drive is 
	mounted inside the PC, you may install both the ASPI and 
	DATMAN modules immediately before the DAT drive is actually 
	used.  Because of the greater flexibility, this method is 
	recommended for most users. The only permanent setting you 
	need in the CONFIG.SYS file for temporary installation is the 
	number of drive letters DOS sets up.  In most cases, you need 
	not even change it.  By default, MS-DOS supports 5 drives—A: 
	through E:.  NOTE:  If you configure DBLSPACE in MS-DOS 6.x, 
	the number is more.

	If you install additional block device drivers in the 
	CONFIG.SYS file, then the number of drives may be more.  You 
	may use a "LASTDRIVE = E" statement in CONFIG.SYS to allocate 
	additional drives.


	    in CONFIG.SYS

		LASTDRIVE = E

	You can set up a batch file which accomplishes a temporary 
	DATMAN installation as follows.  In the following example, 
	we call the batch file GODATMAN.BAT.

	    in GODATMAN.BAT

		LOADASPI C:\BIN\ASPI2DOS.SYS /P340 /Q11 /D
		DATMANFE   -E1024  -VE  -NMYPC 

	Note that the actual parameters and directory name in your 
	system are likely to be different from the examples shown 
	above. Since DATMAN as well as ASPI can be loaded at any 
	time, you can start the tutorials now, if you wish.  After 
	you have learned more about DATMAN, you can decide the best 
	way to install it in your system.















				      13




=========================================================================
    CHAPTER 3.   TUTORIALS
=========================================================================


    The tutorials in this chapter are an excellent way to familiarize 
    yourself with the various ways to install the DATMAN File Engine, 
    and the use of some of the utility programs in the DATMAN software 
    package.
    
    They guide you, step by step, through the basic functions and 
    commands.  If you are eager to begin using DATMAN, you can opt to 
    follow Tutorials 1, 2, and 3. try out your newly acquired skills, 
    then return to Tutorial 4 for advanced techniques at a later time.

    The tutorial sessions requires the DATMAN Tutorial Tape which is
    available in the DATMAN Starter Kit for a nominal charge.

    Overview of the Tutorials

	Tutorial 1:	The first tutorial involves the installation 
			of the SCSI host adapter, the ASPI manager as 
			well as the resident datman File Engine.  When 
			all the pieces are in place, a logical volume 
			for the DAT drive will emerge.

	Tutorial 2:	Using the DDIR utility program, we will explore 
			the Tutorial Tape and access various files in 
			read mode.  The utility batch files will be 
			tested.

	Tutorial 3:	In this tutorial, we will learn some essential 
			commands in the DATMAN.EXE program.  First, a 
			new tape will be formatted, and files will be 
			written on the tape.  The operating principles 
			related to the DATMAN catalog data will be 
			presented.

	Tutorial 4:	Some advanced operations will be covered in this 
			tutorial.  You will learn the various techniques 
			including how to extract deleted files.  You 
			will also experience the wonderful world of 
			"time-travelling" with DATMAN.


    Examples in the Tutorials

	When you follow the tutorial, remember to make the following 
	adjustments to the commands being entered.  In this manual, we 
	observe the following conventions:

	* E: is used as the drive for the DATMAN volume.
	* C:\DATMAN is the directory where the DATMAN programs are.
	* DATMANFE for the File Engine program.

				      14




  ======================================================
    Tutorial 1.                Creating a DATMAN drive
  ======================================================

	The first tutorial involves the installation of the SCSI host 
	adapter, the ASPI manager and the DATMAN resident program

	Step 1	For plugging in the SCSI host adapter to your PC, 
		consult the adapter's user manual for its options.  
		If you have purchased a DATMAN Tape Subsystem that 
		includes an Adaptec AVA-1505/AHA-1510/AHA-1522 SCSI 
		host adapter, follow Step 2, else Step 3.  Appendix B 
		may be helpful for those not very familiar with the 
		SCSI interface.

	Step 2	For the AVA-1505/AHA-1510/AHA-1522 host adapters:

		This adapter implements the PIO (programmed I/O) method 
		as opposed to the higher performance DMA (direct-memory-
		access) method which is also called a bus-master.  Since 
		it uses a hardware interrupt channel (IRQ), you must 
		assign a unique channel which is not used by other 
		devices in your computer.

		 I/O Port Select	Jumper J1
		-------------------------------------------
		 340H-35FH (standard)	position ALT open
		 140H-15FH		position ALT close

		 Interrupt Channel	Jumper J2
		-------------------------------------------
		 IRQ9			position I09 close
		 IRQ10			position I10 close
		 IRQ11 (standard)	position I11 close
		 IRQ12			position I12 close

		Select only one IRQ position (close) and leave 
		other IRQ positions open.

		 SCSI Bus-Terminating Resistors     RN1, RN2, and RN3
		------------------------------------------------------
		 External SCSI device(s) only	    resistors in place
		 Internal SCSI device(s) only	    resistors in place
		 Both Internal and External SCSI    resistors removed


		Most computers work without changing the factory 
		settings.  After setting the hardware configuration 
		listed above, proceed to Step 4.






				      15




	Step 3	For other SCSI host adapters:

		Double check jumpers and DIP switch positions if they 
		exist.  The items of interest (depending on the model) 
		usually include the following.

		  I/O port, DMA channel, interrupt (IRQ) channel
		  data transfer rate, SCSI parity enable
		  host SCSI address (usually 7)
		  others (e.g., synchronous negotiation)

	Step 4	If you have installed the DATMAN software package on
		your hard disk (described in Chapter 2), you can skip
		to Step 5.  Otherwise, after powering up your computer, 
		copy the files on the DATMAN diskette into a newly
		created subdirectory on your hard drive as follows.
		
		  C:\> A:INSTALL C:\DATMAN

		Your DOS prompt now looks like this.

		  C:\DATMAN> _

		This tutorial assumes that the executable files (.COM, 
		.EXE or .BAT) in the DATMAN package are accessible for 
		execution.  Therefore, place the DATMAN directory in 
		the "PATH=" statement or stay in the DATMAN directory 
		during the tutorial.

		In general, the DATMAN software does not require a 
		dedicated directory as shown here.  Therefore, you 
		may copy the DATMAN files into your regular tool 
		directory (e.g., C:\BIN).
		
	Step 5	Study the software installation manual for the ASPI 
		manager which is supplied by the host adapter vendor.  
		The manual should describe the parameters for the device 
		driver statement.  This statement should be added to 
		your CONFIG.SYS file. You do not need to edit your 
		CONFIG.SYS file at this time if you have not already 
		done so.  Just note the parameters for now.  The statement 
		in your CONFIG.SYS has the general syntax as follows:

		  DEVICE = filename [ parameters ]

		filename is the complete file specification of the ASPI 
		file including the full directory path.  The optional 
		parameters often contain the base I/O port address, IRQ, 
		and other options.  If the setting follows the factory 
		default, most parameters may be omitted.  You may 
		substitute the keyword DEVICE with DEVICEHIGH if you 
		set up the UMB area with a "DOS = HIGH,UMB" statement 
		in the CONFIG.SYS to conserve conventional memory.


				      16




		Examples of statements for the CONFIG.SYS:

		  DEVICE = C:\BIN\ASPI2DOS.SYS /P140 /Q10 /D
		  DEVICE = C:\BIN\ASPI4DOS.SYS /P334 /I /D
		  DEVICE = C:\TRANTOR\M358.SYS /M76 /W3

		Note some Adaptec software packages mention the 
		ASPIDISK.SYS file.  This file is not necessary if 
		the adapter is used exclusively for a DAT tape unit.

	Step 6	If you have already added the device statement for the 
		ASPI manager to your CONFIG.SYS file and rebooted, skip 
		to Step 8.  Otherwise, we will load (and unload) the 
		ASPI manager now.

		To load the ASPI manager, run the LOADASPI program 
		using the same arguments that you would use in your 
		"DEVICE ="  statement.  Examples are shown below (the 
		line should be in one line).
		
		  C:\DATMAN> LOADASPI C:\DATMAN\ASPI2DOS.SYS
                                      /P340 /Q11 /D

		If you are installing the AVA-1505/AHA-1510/AHA-1522 
		adapter using the alternate I/O address (140H), the 
		line should be
		
		  C:\DATMAN> LOADASPI C:\DATMAN\ASPI2DOS.SYS
                                      /P140 /Q11 /D

		If you also select a non-default IRQ setting, change 
		the "/Q" parameter.
		
		For example, if the setting is IRQ9,

		  C:\DATMAN> LOADASPI C:\DATMAN\ASPI2DOS.SYS
                                      /P140 /Q9 /D

	Step 7	The LOADASPI program first locates and loads the ASPI 
		manager specified into memory.  Then, it lets the ASPI 
		manager perform its initialization function.  At this 
		time, most ASPI managers display status information.  
		Then, LOADASPI finishes remaining bookkeeping and v
		arious chores.

		LOADASPI prints a line of hyphens before it gives 
		control to the ASPI manager program, and after it 
		regains control.  The text between the hyphened lines 
		belongs to the output from your ASPI manager.  For 
		example, if you are installing the DATMAN Tape subsystem 
		using the default settings, you should see the following.




				      17




		  Ready for ASPI initialization...
		  -----------------------------------------------------
		  AIC-6260/6360 ASPI Manager for DOS
		  Version 3.55
		  Copyright 1990-1994 Adaptec, Inc.

		  Host Adapter #:   0        Host Adapter SCSI ID:    7
		  I/O Port Address: 340      DMA Channel              0
		  Interrupt Level:  11       Transfer Mode:         PIO
		  Parity Checking:  Enabled  LUN Support:      Disabled
		  Disconnection:    Enabled  Sync Negotiation: Enabled

		  Host Adapter #0 - SCSI ID 4 - LUN 0: HP C1533A   9406
		
		  ASPI2DOS.SYS Installation Successful
		  -----------------------------------------------------

		The last line of any display should read:

		  "ASPI Installation successful".

		If this line does not display, return to Step 1 and 
		retrace your steps.  There is a remote possibility that 
		the LOADASPI program failed to perform correctly with 
		your ASPI manager.  If you discover that CONFIG.SYS can 
		successfully load the ASPI manager on your machine, but 
		LOADASPI fails to do so, please contact Pixelab so that 
		we can solve the problem.

	Step 8	Next, we will load the DATMAN File Engine module 
		(DATMANFE.EXE).  This program is the centerpiece of 
		the DATMAN package.  It has quite a few option parameters 
		which take pages of explanation.  Just glance through 
		the first few pages in Chapter 4.  We will introduce 
		only the few essential options here.  First of all, 
		DATMANFE.EXE has a help feature that conforms to MS-DOS 
		standards.

		  C:\DATMAN> DATMANFE /?

		This displays all of the options and parameters.  
		DATMANFE.EXE's options start with either a slash or a 
		hyphen.  The arguments can be either in uppercase or 
		lowercase.

	Step 9	Another option displays the DATMAN system status.

		  C:\DATMAN> DATMANFE -S

		Unlike most other options, the "-S" option does not 
		install DATMANFE.EXE, the file engine module, as a TSR.  
		You will see a screen display as follows.



				      18




		  ======= SCSI Host adapters and Target devices =====

		  Host 0: ADAPTEC AHA-1520  ASW-1210 V 3.55
			  SCSI ID:4: HP     C1533A          Rev 9406

		  ==== MS-DOS file system drives and media labels ===

		  DRIVE A: Physical
		  DRIVE B: Physical
		  DRIVE C: Physical   RESEARCH1
		  DRIVE D: Physical   MS-RAMDRIVE
		  DRIVE E: Inactive

		  EMS memory 4096 KB free
		  XMS memory 3824 KB free

	Step 10	The first part of the status output shows the host 
		adapter and SCSI drive information.

		  ======= SCSI Host adapters and Target devices =====

		  Host 0: ADAPTEC AHA-1520  ASW-1210 V 3.55
			  SCSI ID:4: HP     C1533A          Rev 9406

		This example reports that there is one host adapter.  The
		host adapter name and the ASPI version number are provided
		by the ASPI manager.  The next line shows that an HP drive 
		is attached at SCSI address 4.  Now you can proceed to 
		Step 11.  If, however, you see the following output,

		  ======= SCSI Host adapters and Target devices =====
		  Failed to locate an ASPI (SCSI driver) manager.

		you should recheck the ASPI installation (Step 1 
		through 4).

		If you see the following output,

		  ======= SCSI Host adapters and Target devices =====
		  Host 0: ADAPTEC AHA-1520  ASW-1210 V 3.55
		          No SCSI device attached

		you should recheck the SCSI cable, or the power to the 
		tape unit.  In some cases, you may just need to reboot.

		If you installed the AVA-1505 adapter, you may wonder 
		why DATMAN reports a different model name (AHA-1520).
		Apparently, Adaptec uses a broad interpretation of the 
		correct model name.  That is because a family of 
		Adaptec host adapter products uses the AIC-6260/6360 
		integrated circuit which is collectively controlled by 
		a single ASPI manager (ASPI2DOS.SYS).  Any of the 
		following adapters will be identified as AHA-1520 by 
		DATMAN (that is what the ASPI manager tells DATMAN).

				      19




		  AVA-1505/1515
		  AHA-1510/1520/1530/1532
		  AMM-1570/1572
		  APA-1460

	Step 11	The second part of the console display contains the 
		MS-DOS drive status.  In this example, Drive D: happens 
		to be a RAMDRIVE.  If your CONFIG.SYS file does not have 
		a "LASTDRIVE =" statement, MS-DOS provides five drives 
		by default.  In the example, Drive E: is not currently 
		active. 

	Step 12	The last part of the status output contains information 
		regarding the amount of EMS and/or XMS memory.  Today 
		most PCs are sold with at least 4 MB of main memory.  
		If you don't find EMS and/or XMS memory, you should 
		install HIMEM.SYS and EMM386.SYS in CONFIG.SYS.  These 
		files come with MS-DOS.  You are strongly advised to set 
		up at least 512 KB (preferably 1024 KB) of EMS memory.  
		DATMAN runs best with EMS memory.  However, if you are 
		working with an XT-class machine (e.g., with a portable 
		tape unit via a parallel-to-SCSI interface), you may 
		settle with conventional memory.  DATMAN can work with 
		as little as 320 KB of conventional memory.

	Step 13	We are now ready to install the DATMAN file engine.  
		You could run DATMANFE.EXE without any option.  Here, 
		we add just one option switch as follows.  Type the 
		following at the DOS prompt.

		  C:\DATMAN> DATMANFE -Q0

		The "-Q0" option (the least quiet mode) generates a 
		detailed status report.

	Step 14	If your system does not have an inactive drive letter 
		as in the example in Step 11, DATMANFE will print the 
		error message:

		  All available drive names are used.
		  Edit the CONFIG.SYS file and add "LASTDRIVE = F".

		In such a situation, you may override the drive letter 
		and continue on without editing your CONFIG.SYS file.  
		Enter the following:

		  C:\DATMAN> DATMANFE -Q0 -VE 

		The "-VE" option specifies the volume letter E: even 
		if you already have an active drive as the E: drive.  
		However, you should not specify the drive letter or 
		your main hard disk drive (usually C:) in the "-Vx" 
		option.  This prevents you from accessing your files 
		in that hard drive.

				      20




	Step 15	You should now see a console display like the following.

	     SCSI Manager      = ASW-1210  V 3.55  SCSI Host Number = 0
	     SCSI Host Adapter = ADAPTEC AHA-1520  SCSI Target ID   = 4
	     Tape Drive Model  = HP    C1533A      9406
	     Directory Cache   = EMS memory  64 pages (1024KB) allocated
	     TSR Segment Usage = 0A8E - 1B49  (67 KB) 
	     DATMAN Segment    = 0A9E
	     Mux Interrupt ID  = FD
	     DAT Device Volume = E:

	Step 16	In this example, the DATMAN file engine occupies a 67 KB 
		block of memory.  If you use a host adapter capable of 
		becoming a bus-master such as AHA-1542, it would be 51KB.
		Some of the information is for debugging purposes.  It 
		is important to read and remember the volume letter shown 
		at the end (E: in the example may differ from yours).

		From now on, we will use the drive E: in this tutorial 
		to address the DATMAN drive.  The actual drive letter 
		you use may be different.

	Step 17	Next, insert the DATMAN Tutorial Tape into the tape 
		drive.  You will notice the LEDs on the DAT drive will 
		flash for about 45 seconds (up to 2 minutes for some 
		DAT drive models).

	Step 18	Now, the moment of truth has arrived.  Type the 
		following DOS command.

		  C:\DATMAN> DIR E:

		If you have typed the above command before the DATMAN 
		File Engine had time to mount the catalog, it may 
		hesitate to complete the command.  But it should not 
		take more than a few minutes.

	Step 19	You should find the following output on the screen.

		   Volume in drive E is TUTORIAL_1
		   Directory of E:\

		  DATMAN       <DIR>         01-01-95   8:00a
		  DOS          <DIR>         01-01-95   8:00a
		  BIN          <DIR>         01-01-95   8:00a
		  DOCS         <DIR>         01-01-95   8:00a
		  ACAD         <DIR>         01-01-95   8:00a
		  FLOPPY       <DIR>         01-01-95   8:00a
		  SERVER       <DIR>         01-01-95   8:00a
			  7 file(s)              0 bytes
				     3,122,000,000 bytes free

		If you don't see a directory listing similar to the 
		above, that is a sign of trouble.

				      21




	Step 20	This first display tells a lot about DATMAN.  The 
		DATMAN file system does operate as an MS-DOS logical 
		drive.  It is a significant departure from the 
		traditional tape backup software.  It even has a 
		volume label just as for the hard or floppy disk.  It 
		does not show the volume serial number on this page 
		even through the volume is assigned with a serial number.

		Look at the number of free bytes.  The number you get 
		may not be exactly the same.  It varies for the DAT 
		drive models.  Hewlett-Packard models tend to provide 
		very conservative estimates while a Sony is more 
		optimistic on the number.  DATMAN always gives you the 
		number in multiples of 1 million bytes (with exactly 6 
		zeroes) for your convenience.  Under Windows-95, you 
		may find only three zeros, instead.

		The 90 meter tutorial tape provides 2 GB of native 
		(uncompressed) data capacity.  The tape is formatted 
		with two partitions.  The secondary partition 
		(Partition 1) located at the first part of the tape 
		consumes about 50 MB worth of space.  All the remaining 
		space is allocated to the primary partition (Partition 0) 
		and should have space close to 1.9 GB.

		If your DAT drive supports data compression (most 
		popular models do), the remaining capacity shown will 
		be doubled.  In our experience, we observe an actual 
		compression ratio of 1.7 - 1.8 in our systems.  That is 
		slightly less than what the DIR command reports.

	Step 21 You have already succeeded in loading and running 
		the DATMAN file system on your computer.  That was the 
		goal of the first tutorial.  However, you must also be 
		able to unload it when you wish.  The main advantage 
		of removing the DATMAN File Engine is to release memory 
		which is allocated for DATMAN's use.  If the ASPI 
		manager is installed using the LOADASPI utility, you 
		can also remove it.

	Step 22	Type the following command at the DOS prompt.

		  C:\DATMAN> DATMANFE

		You will receive the following warning message.

		  DATMANFE.EXE has already been installed.
		  Tape drive referenced as E: 

		This message serves two purposes.  First, it prevents 
		you from installing the DATMAN File Engine twice (by 
		mistake).  Secondly, it reminds you what the logical 
		drive letter it was assigned.


				      22




	Step 23	Type the following at the DOS prompt to remove the 
		resident DATMAN File Engine from memory.

		  C:\DATMAN> DATMANFE -U

	Step 24	Then, type the following command to remove the ASPI 
		manager which was loaded prior to DATMANFE.

		  C:\DATMAN> LOADASPI -U  

	Step 25	A pair of batch files, GODATMAN.BAT and NODATMAN.BAT 
		which are included in the DATMAN software package 
		simplify your typing for loading and unloading the 
		DATMAN File Engine on your system.  They may not 
		always be suitable for your system without modification. 
		Please examine and edit the files using your favorite 
		text editor before you use them.

		The suggested changes in the GODATMAN.BAT file are 
		typically in the directory name of the executable files 
		and the name and/or the parameters of your ASPI manager.
		You may add the "-V" and "-N" options to the DATMANFE 
		arguments.

		in C:\DATMAN\GODATMAN.BAT

		  LOADASPI C:\DATMAN\ASPI2DOS.SYS /P340 /Q11 /D
		  DATMANFE -VE %1 %2 %3 %4 %5 %6 %7 %8 %9

		When you run GODATMAN.BAT, you can pass optional 
		parameters.

		in C:\DATMAN\NODATMAN.BAT

		  DATMANFE -U
		  LOADASPI -U

	Step 26	If you use an external DAT drive with a parallel-to-SCSI 
		interface adapter (such as Adaptec's Mini-SCSI-Plus or 
		Mini-SCSI-EPP), you should prepare a bootable diskette 
		with GODATPAR/NODATMAN batch files along with necessary 
		DATMAN files so that you can make the driver software 
		also portable.

		The diskette should contain at least the following files:

		  GODATPAR.BAT      WHERE.EXE
		  NODATMAN.BAT      DDIR.EXE
		  LOADASPI.EXE      DCOMP.EXE
		  DATMANFE.EXE      DFLUSH.EXE
		  DATMAN.EXE        DEJECT.EXE
		  DCOPY.EXE
		  ASPI manager (ASPI2DOS.SYS, MA358.SYS, etc.)


				      23




		If the host machine does not have a DATMAN-compatible 
		version of MS-DOS, you can reboot the computer from 
		this diskette.  In such a case, other DOS utilities 
		(e.g., XCOPY.EXE which is DOS-version sensitive) on the 
		diskette would become very handy.

		The GODATPAR.EXE for a Mini-SCSI-EPP may look like 
		the following.

		in A:\GODATPAR.BAT

		  A:\LOADASPI A:\MA358.SYS /M76 W3
		  A:\DATMANFE -VE %1 %2 %3 %4 %5 %6 %7 %8 %9

		in A:\NODATMAN.BAT

		  A:\DATMANFE -U
		  A:\LOADASPI -U

		If you are running the batch files from the A: drive, 
		you can pass optional parameters including another 
		"-Vx" option which overrides the E: setting.

































				      24




  ======================================================
    Tutorial 2.  Exploring the Tutorial Tape with DDIR
  ======================================================

	In the previous tutorial, we learned how to load the DATMAN 
	File Engine.  In this tutorial, we will read some of the files 
	on the Tutorial Tape.  For this tutorial, we assume that you 
	have customized the GODATMAN.BAT file for your system.  It is 
	further assumed that the DATMAN File Engine is NOT installed 
	in memory (if so, uninstall it).  Also, if the Tutorial Tape is 
	not in your DAT drive, just insert the tape, so that you are 
	completely in sync with this tutorial.


	Step 1	Type the following line at the DOS prompt.

		  C:\DATMAN> GODATMAN

		This is a test to see if the GODATMAN batch file is 
		working.  If you encounter an error condition, go back 
		and re-edit the GODATMAN batch file.  Since the 
		GODATMAN.BAT file is so small, you should be able to 
		type the line manually as we did in the first tutorial, 
		and verify whether it works first.  The batch file gives 
		you the benefit of not having to memorize the parameters 
		such as the I/O port and IRQ numbers unique to the 
		system and often too cryptic to memorize.
	
	Step 2	Using the GODATMAN batch process, the LOADASPI program 
		should load your ASPI manager, then the DATMAN File 
		Engine will install itself.  Note the screen output.
		The last output line on the screen should indicate the 
		logical drive letter assigned to the DATMAN drive.

	Step 3	In the previous tutorial, when the DATMAN File Engine 
		became resident in memory, the DAT drive was empty.  
		This time, however, the Tutorial tape has been loaded 
		in the drive.  You will notice that the DAT drive starts 
		its action and that you already have the DOS prompt.  
		If you type characters on the command line, you will 
		notice that you have control.  The current processing 
		being done by the DAT drive is being performed in the 
		background.

	Step 4	When the LEDs stop flashing on the DAT drive, type the 
		following on the command line.

		  C:\DATMAN> DIR E:

		You should get the familiar listing of the root 
		directory with little hesitation.  The initial 
		processing of the DAT drive was loading this and other 
		tape information into memory.


				      25




	Step 5	Now, we will see what happens when you issue the DIR 
		command immediately after the DATMAN File Engine was 
		invoked and before the File Engine has completed the 
		initial directory reading operation.  First, remove 
		the File engine by entering the following.

		  C:\DATMAN> NODATMAN

		Again, this step will test your batch file.  You may 
		opt to run the remove command by keying it manually.

	Step 6	We will repeat the DATMAN load and issue the DIR 
		command immediately.  Type the following two command 
		lines (the second command, immediately after the DOS 
		prompt is back).

		  C:\DATMAN> GODATMAN
		  C:\DATMAN> DIR E:

	Step 7	Observe the DAT drive go into action as before.  While 
		the drive is busy, the DIR command is doing nothing.  
		Then, in 30-40 seconds, the directory listing appears 
		on the screen.  In general, you should avoid initiating 
		a tape access while the DATMAN File Engine is still 
		mounting the tape volume.  Typing such a command does 
		not make DATMAN mount the volume any faster, but it 
		would commit your machine for the completion of the 
		mount operation.

	Step 8	When the DATMAN File Engine is mounting a tape volume, 
		it performs the following activities:

		  1. Rewinds the tape to the beginning of Partition 1.
		  2. Reads the first few blocks.
		  3. Seeks the EOD (end of data).
		  4. Locates the last catalog data
		  5. Loads the directory data into cache memory.

		The rewind and seek operations are the most time 
		consuming part of this process.  The worst case rewind 
		and seek are 60-80 seconds each.  Therefore, it may 
		take up to 3 minutes for the DATMAN File Engine to 
		become completely ready.  And, if you encounter a 
		corrupted tape (most of which can be repaired using 
		the DATMAN diagnostic commands), it may take 5 minutes 
		or more before you get the first sign of the error 
		condition.  Therefore, it is advised that you do not 
		issue file access commands until the DAT drive becomes 
		quiet.

	Step 9	Let us further explore the contents of the Tutorial Tape.  
		Type the following line.

		  C:\DATMAN> DIR E:\DATMAN

				      26




		The following displays (may be slightly different).

		   Volume in drive E is TUTORIAL_1
		   Directory of E:\DATMAN

		  .            <DIR>         01-01-95   8:00a
		  ..           <DIR>         01-01-05   8:00a
		  READ     ME          2,583 11-11-95   1:07a
		  DATMAN   DOC        23,369 11-11-95   1:07a
		  INSTALL  BAT         2,860 11-11-95   1:07a
		  DATMANFE EXE        57,277 11-11-95   1:07a
		  DATMAN   EXE        89,072 11-11-95   1:07a
		  DFLUSH   EXE        22,032 11-11-95   1:07a
		  DEJECT   EXE        19,792 11-11-95   1:07a
		  LOADASPI EXE        13,456 11-11-95   1:07a
		  DDIR     EXE        79,904 11-11-95   1:07a
		  WHERE    EXE        13,234 11-11-95   1:07a
		  DCOMP    EXE        14,808 11-11-95   1:07a
		  DCOPY    EXE        47,563 11-11-95   1:07a
		  WAKEUP   EXE        14,076 11-11-95   1:07a
		  GODATMAN BAT            91 11-11-95   1:07a
		  GODATPAR BAT            82 11-11-95   1:07a
		  NODATMAN BAT            29 11-11-95   1:07a
		  BU_MONTH BAT         2,134 11-11-95   1:07a
		  BU_DAILY BAT         1,887 11-11-95   1:07a
		  ASPI2DOS SYS        28,728 09-27-94   3:10a
		  MA358    SYS        11,598 08-25-94   1:30a
			 22 file(s)        444,575 bytes
				     3,145,000,000 bytes free


		The first subdirectory in the tape serves as a backup 
		copy of your DATMAN diskette.

	Step 10	Let's try a few more directories.  Try the following 
		two commands.

		  C:\DATMAN> DIR E:\DOS
		  C:\DATMAN> DIR E:\BIN

		You will find about 150 files in the two directories.  
		One thing you might have noticed is that the directory 
		listing comes instantaneously.  The directory 
		information is kept in memory.  That is what the 
		directory cache buffer is used for.  Unless you have 
		more files than the buffer can hold, directory search 
		operations are all done in memory by the DATMAN File 
		Engine.






		
				      27




	Step 11	Now, let us read an actual file on the tape.  Type the 
		following command.  Watch the front panel of the DAT 
		drive and the console as you hit the <Enter> key.

		  C:\DATMAN> TYPE E:\DATMAN\READ.ME

		This time, you will see the tape drive go into action. 
		Within a few seconds, the console will scroll up and 
		the command will complete.  Now the tape is truly 
		behaving like a disk.
		
	Step 12	This is a good time for you to create a temporary 
		directory on your hard disk in order to copy files 
		between the DATMAN tape and your hard disk.  Enter 
		the following (or a similar) command.

		  C:\DATMAN> MKDIR C:\DATMAN\TEMP

	Step 13	We have included over two thousand files on the 
		Tutorial tape (most of which are useless other than 
		for illustrative purposes).  We can see all of these 
		files by using the DIR and TYPE commands, but there 
		is a more productive, interactive tool that we can use. 
		This is a modest utility included with DATMAN called 
		DDIR.  Enter the following command.

		  C:\DATMAN> DDIR  E:

		DDIR displays a directory listing of the DATMAN drive
		(E:) similar to the DIR command output.

		On the right, you will find a concise menu for the 
		function keys.  DDIR uses an intuitive "point-and-
		shoot" user interface scheme.
		
	Step 14	First, align the red cursor on  "DATMAN  <DIR>".  Then,
		select it by pressing the <Enter> key.  It then shows 
		the contents of the directory selected (the DATMAN 
		subdirectory).

		The line with two dots follows the DOS convention which 
		represents the parent directory.

	Step 15	Press the <Enter> key once and you will return to where 
		you were.  Press the <Enter> key again to move back to 
		the DATMAN directory again.  As long as a directory 
		entry is selected, DDIR lists the contents of the 
		directory.  Now, using the <Down>key, highlight the 
		first file entry, "READ.ME".  Then hit <Enter>.

	Step 16	The console display changes from a directory listing to
		a text display.  DDIR provides a text browse feature 
		for you to quickly examine the contents of a file.  You 
		are looking at the contents of the READ.ME file.  The 

				      28




		top line shows the file status and the bottom line 
		reminds you of choices.  Play with the <PgDn>, <PgUp>, 
		<End>, and <Home> keys.  Terminate the file browse by 
		pressing the <Enter> key.  You are back to the directory 
		listing.  The next file is now highlighted.  If you exit
		browse with the <Esc> key, you would still be positioned 
		on the READ.ME file line.

	Step 17	Press the <Enter> key while the DATMAN.DOC file is 
		highlighted.  You will see the contents immediately. 
		Notice how quickly the second file showed up.

	Step 18	While displaying the contents of the DATMAN.DOC file, 
		press the <Enter> key four times -- first one to get
		out of browse, the second to browse the next file,
		INSTALL.BAT, the third to exit and then the fourth
		one which happens to be DATMANFE.EXE.
		
	Step 19	Now the screen is covered with mostly "garbage" except 
		that you can find our copyright notice.  That is because 
		you are browsing a binary file with a text file browser. 
		Use the <PgDn> key repeatedly to search for a more 
		meaningful page.  The last page of the file shows error 
		message text which is readable, but 90% of the file is 
		not.
		
	Step 20	Press the "H" key which switches the display from text 
		mode to hexadecimal mode.  This mode comes in handy for 
		browsing all sorts of files.

	Step 21	Press the <Home> key then the "A" key.  This is called 
		ASCII mode which is similar to text mode except that 
		it filters out the binary characters for quicker 
		examination of the file.  Using the <Down> key, you can 
		quickly locate most ASCII text sections.

	Step 22	Press the <Enter> key several times to browse other 
		files in the directory, if you wish.  Notice that you 
		have not encountered any delay due to the tape access. 
		After all, this directory contained only less than half 
		megabyte.

	Step 23	Now, using the <Up> arrow, go back to the first file in 
		the directory, "READ.ME".  Examine the file again by 
		pressing <Enter>.  This time, you should hear the tape 
		drive switch the gear to reverse the position and read 
		the tape again.

		The tape drive anticipates the access of files 
		"downstream" on the tape rather than "upstream".  It
		constantly looks ahead and discards earlier data in 
		order to take in more data "downstream".  Every time 
		you reverse the tape motion, it takes about 5 seconds 
		no matter how short the distance on the tape is.

				      29




	Step 24	While we are still in DDIR, let us learn a few neat 
		commands which you will find convenient.

		If you are still browsing READ.ME's contents, press 
		<Esc>.  Then, press the <F4> key.  It switches the 
		directory display from a list form to a tree form.
		This will help you better visualize the relationships 
		between directories.  Highlight the \BIN directory and 
		press <Enter>.

	Step 25	We are going to copy a group of files using DDIR's 
		bulk-copy function.  Press the <Space> or <Ins> keys 
		for ten times.  Eight files are now highlighted (the 
		first two are directories and were skipped).  Then 
		press the <F1> key.  It prompts you to enter the 
		destination name.  Type C:\DATMAN\TEMP followed by 
		pressing <Enter>.  You will see the DAT drive first 
		seek to the file position for a few seconds, then the 
		screen will show the progress of the copy operation.  
		Notice that the actual copy process was shorter than 
		the seek time.

	Step 26	This time, we will rearrange the DDIR listing.  Press 
		<Home>, followed by <F9>.  The directory listing is 
		now sorted by the file size.

		The smaller files are shown first.  Then, press <F8>.  
		The listing is now by the alphabetic order of the 
		filename extension.  But notice that the files with 
		the same file extension are still ordered by the file 
		size (the previous selection).

		DDIR's sorting mechanism retains the previous order 
		as the tie-breaker.  Therefore, the <F9>-<F8> 
		combination gives file-size ordering within extension 
		type.  Another key combination <F10>-<F8> uses the file 
		date as the secondary key which might be useful when 
		the directory is very large.

	Step 27	Now, press <F7> to alphabetize the listing by the 
		filename.  Press <Space> ten times to highlight the 
		first nine files (again, the directory entry is omitted).
		Remember that the current order is by file name, not by 
		the order that the files are located on the tape.  If we 
		were to invoke the bulk-copy command now, the order in 
		which the files are accessed will cause the tape to 
		travel back and forth, slowing the process down.

		If you press the <F6> key before you do a bulk-copy, 
		you see the files in unsorted order as they appear on 
		the tape, which is a much more effective way to copy.

		Note that when copying, DDIR does not overwrite existing 
		copies as a safeguard.

				      30




	Step 28	End the DDIR session by pressing the <Esc> key followed 
		by a confirming "Y".

		We are now back at the DOS prompt.  In this tutorial, we 
		have stayed mostly inside DDIR.  DDIR is not a fancy 
		tool.  You may already be using a program such as XTREE 
		and/or Peter Norton's utility.  The DATMAN file system 
		should work well with productivity enhancing tools such 
		as these.

	Step 29	Back at the DOS command line, let's clean up the files 
		written while we were in DDIR.  Type the following line.

		  C:\DATMAN> DEL C:\DATMAN\TEMP

		Type "Y" to clean up the temporary directory.

	Step 30	Now, type the following line to invoke the XCOPY command 
		to copy an entire subdirectory on the Tutorial Tape to 
		the temporary directory on the hard disk.

		  C:\DATMAN> XCOPY  E:\BIN  C:\DATMAN\TEMP /S

		You may notice that a significant portion of this 
		operation is spent at the beginning to reach the 
		position of the first file.  The actual time it takes 
		to copy the 2 MB of data is very short (in many cases, 
		less than the seek time).  The whole command should be 
		over within 30 seconds.  We will use the data in the 
		temporary directory in the next tutorial, so leave it 
		there for now.
		
	Step 31	Before we end the tutorial, we will remove the Tutorial 
		Tape from the drive.  Press the eject button on the tape 
		drive.  Unlike that of the more familiar floppy drive, 
		the eject button is not a mechanical lever which 
		literally yanks out the cartridge.  The button is 
		merely a switch that sends the signal to the 
		microprocessor inside that you want your tape back.

		It is a bad idea to press the switch more than twice or 
		to keep pressing it for more than two seconds at one 
		time.  Hewlett-Packard drives interpret such user input 
		as the sign of a true emergency situation and react 
		accordingly.  DATMAN disables the eject button if its 
		cached directory data are yet to be written to the tape.  
		A persistent tape-eject request may cause premature 
		ejection which will require a catalog repair operation 
		later.

	Step 32	You can uninstall the DATMAN File Engine at this time. 

		  C:\DATMAN> NODATMAN


				      31




  ======================================================
    Tutorial 3.  Writing to a DATMAN Tape
  ======================================================

	In Tutorial 1, we learned how to install the DATMAN File Engine 
	in your computer.  We then operated the DATMAN drive in read 
	operations.  Before we venture to write files on a DATMAN tape, 
	we should familiarize ourselves with the very important program, 
	DATMAN.EXE.  The resident DATMAN File Engine loaded via the 
	DATMANFE.EXE program allows MS-DOS to recognize and control 
	the DATMAN drive as a logical MS-DOS drive.  However, not all 
	of the DATMAN tape operations are known to MS-DOS.  For example, 
	some disk-specific DOS utilities such as FDISK, FORMAT, CHKDSK 
	as well as most other disk-oriented utilities including programs 
	in the Norton Utilities do not recognize the DATMAN drive as a 
	disk.  The DATMAN.EXE program is a collection of utility and 
	diagnostic functions which are specific to DATMAN.  For example, 
	there are utilities to "format" a blank or used DDS tape for 
	DATMAN operations, or you can use the DATMAN utilities to 
	examine and repair "damaged" tapes.  We will learn some of 
	these essential DATMAN commands in this tutorial, and for the 
	first time, create files on a new tape cartridge.

	Step 1	As in Tutorial 2, it is assumed that the DATMAN File 
		Engine is not present in the system, and no tape 
		cartridge is in the drive.  Type the following command 
		at the DOS prompt.

		  C:\DATMAN> GODATMAN

		By now, this handy batch file should be fully 
		operational for your system.  With no tape inside, no 
		tape actions will take place.
		
	Step 2	Insert a blank tape cartridge into the DAT drive.  If 
		you don't have a blank one, you can reuse a tape that 
		has been written by another tape backup program.  If 
		you don't have either, you may use a DATMAN tape which
		usually does not need another format procedure unless 
		it is corrupted.

		The front panel of the drive flashes while the tape is 
		loading.  "Loading a tape" in the DDS system means that 
		the tape is being pulled out from the plastic shell and 
		wrapped around the spinning head.  Then, it positions 
		the tape to the beginning of Partition 0.

	Step 3	As soon as the resident DATMAN File Engine senses that 
		a tape has been inserted and loaded, it initiates the 
		volume mount operation which was outlined in Step 8 of 
		the previous tutorial.  At this moment, the File Engine 
		does not know what kind of tape has been inserted.



				      32




	Step 4	Unless the tape has a DATMAN-like block organization, 
		the DATMAN File Engine gives up the volume mount 
		operation in the background.  You should see little 
		tape activity at this point.  If the tape is a valid 
		DATMAN tape, the volume will be successfully mounted. 
		If the DATMAN tape is nearly empty, within 60 seconds 
		the DAT drive stops its actions.  When you see the tape 
		activity has stopped (in two minutes or less), proceed 
		to Step 5.

	Step 5	Now, we will load the user-interface program of the 
		DATMAN File System, DATMAN.EXE.  Type

		  C:\DATMAN> DATMAN

		Here, we run DATMAN.EXE without parameters.  Observe 
		the prompt.  Repeat pressing the <Enter> key a few 
		times.  The yellow prompt remains.  It is a reminder 
		to you that your are still inside DATMAN.EXE.  It has 
		not finished yet, like a TSR program which would return 
		the MS-DOS prompt.  Rather, DATMAN.EXE gives you an 
		illusion that you have a DOS prompt (the DATMAN.EXE 
		prompt uses lowercase letters).  This convention is 
		also used in this tutorial to remind you when you are 
		using DATMAN.EXE.
		
	Step 6	Type the following DOS command.

		  c:\datman> DIR

		You will see the same familiar response from DOS.  
		What DATMAN.EXE does is to wait for you to finish the 
		command line and analyze the first word.  If it does 
		not know the first word you typed, it simply lets 
		COMMAND.COM (MS-DOS's primary command line interpreter) 
		take care of the command line.

		On the other hand, if the word you enter is in 
		DATMAN.EXE's vocabulary, the line is interpreted and 
		executed by DATMAN.EXE.  In the case of the DIR command, 
		whether it references the tape drive or not, DATMAN.EXE 
		does not get involved.  This may seem confusing at first.
		DATMAN.EXE was designed so that you can run both 
		DATMAN.EXE's native commands and either DOS or other 
		utility commands without leaving DATMAN.EXE.

		When you are done with DATMAN.EXE or you need to run a 
		program that requires a large amount of memory, you can 
		always exit from DATMAN.EXE by the "EXIT" or "Q" command 
		and re-load DATMAN.EXE later.

	Step 7	Just to get an idea as to how many commands are in the 
		DATMAN.EXE program, type the following line.


				      33




		  c:\datman> DHELP

		You will get a list of over 40 commands.  If you need 
		to know more about the syntax of a DATMAN command, type 
		the name of the command after DHELP.  Type the following.

		  c:\datman> DHELP DHISTORY

		This shows you that the DHISTORY command accepts an 
		optional block number argument.

		You don't need to remember all of them.  If you are 
		patient enough to go through these tutorial sessions, 
		we will introduce the more important commands.

	Step 8	Our first business in this tutorial is to learn how to 
		format a tape.  Type the following line with DATMAN.EXE 
		loaded.

		  c:\datman> DFORMAT

	Step 9	DATMAN.EXE always controls only one DAT drive at a time.  
		Therefore, you don't need to specify which DAT drive you 
		are dealing with.  Unless you have two or more DATMAN 
		drives in your computer, you never need to choose the 
		current DATMAN drive.  If you have multiple drives, you 
		can use the DSELECT command to make any of the DATMAN 
		drives current.  There can still be only one current 
		DATMAN drive.

		If the tape has been used as a DATMAN tape before, the 
		screen will show you the volume statistics such as the 
		volume label, the number of files, etc.  If it is not a 
		DATMAN tape, there will be no such display.

	Step 10	You will next be prompted to enter the volume label.  
		It is very important that you enter a name.  While 
		DATMAN allows you to proceed without a name by just 
		pressing <Enter>, it is a good practice to label 
		the volume.  Remember, you can always change the 
		volume label later using the DLABEL command.

		  Enter Label (up to 11 characters)  : my_datman

	Step 11	Next, you will be given a chance to record a volume 
		comment on the tape.  A short comment (up to 63 
		characters) on the volume can be handy to remind 
		yourself what this tape was for.  The volume comment 
		can be examined by the DSTATUS command.  You may enter 
		a brief text line such as "This is my first DATMAN tape" 
		or skip over this field by pressing <Enter>.




				      34




	Step 12	As the final confirmation of your intent, type "Y" to 
		start the format.  DFORMAT takes 2 - 5 minutes depending 
		on the DAT drive model.

		  Format in progress...

		Now, you must wait until you find the following message.

		  Format complete.

		The initial volume mount statistics will also be shown.

	Step 13	Just as you would do after inserting a new floppy to 
		the drive, your first command on a newly formatted tape 
		is the familiar DIR command.

		  c:\datman> DIR E:

		The root directory should be empty and the volume name 
		should match what you specified earlier in the DFORMAT 
		operation.
		
	Step 14	You can obtain more detailed status on the DATMAN drive 
		and the tape by entering the DSTATUS command.

		  c:\datman> DSTATUS

		This command summarizes the ASPI Manager, the DAT drive, 
		the DATMAN File Engine's operating parameters, the tape 
		in the drive, and the current catalog information.

	Step 15	We are now ready to create a directory with files on the 
		DATMAN tape using the familiar XCOPY command.

		  c:\datman> XCOPY C:\DATMAN\TEMP E:\TEST1

		Since the destination directory does not exist on the 
		tape, XCOPY will prompt you to specify whether you mean 
		that TEST1 is a File or a Directory.  Type "D".

	Step 16	The venerable XCOPY command breaks up the directory 
		copy operation into several read/write cycles.  Keep an 
		eye on the DAT drive's LEDs.  After the last file is 
		copied, there will be about 30 seconds of pause (the 
		LEDs do not flash during this period).  Then, they will 
		flash again for about 5 seconds.  This second burst of 
		data transfer is the flushing of the catalog data that 
		has been kept in the cache buffer.  DATMAN does not 
		designate a special place on tape for the latest 
		catalog.  Rather, it is always appends data at the end 
		of the current data.




				      35




	Step 17	Unlike many tape backup programs, the files are recorded 
		on the tape in response to the file creation activities 
		by the user, on the fly.  Since there is no way to 
		predict what file or how many files will be created in 
		the future, the DATMAN File Engine cannot and will not 
		record a complete file catalog before the actual file 
		data are given to the File Engine.  Therefore, after 
		the file data, the catalog data will be appended to 
		the tape which marks the end of the session.

	Step 18	There are several mechanisms that initiate recording 
		of the cached catalog data.

		  1. automatically by timeout (default 30 seconds)
		  2. via a DFLUSH command
		  3. via a DEJECT command
		  4. via a DHISTORY command
		  5. other DATMAN internal triggering mechanisms

	Step 19	If you don't read or write files on the DATMAN drive 
		for a predetermined timeout period, the DATMAN File 
		Engine starts catalog flush operation.  That's what 
		you saw now.  Since the operation is carried out as 
		a background task in MS-DOS, you will not be forced to 
		wait for the completion of the background operation.

	Step 20	Since it was your first time that you wrote files on 
		the DATMAN tape using your tape system, we should 
		establish the reliability of your hardware (and the 
		DATMAN software in your hardware environment).  Type 
		the following line.

		  c:\datman> DCOMP E:\TEST1 C:\DATMAN\TEMP

	Step 21	The DCOMP utility checks the contents of the target 
		(1st) directory specified against those of the 
		reference (2nd) directory.  It visits all of the 
		subdirectories under the target directory.  All of the 
		files in the target directory will be compared against 
		the files with the same name in the reference directory. 
		The test will quickly result in error if file date/time 
		and/or the file length are not identical.  If the two 
		files match in these criteria, the DCOMP utility further 
		compares the contents of the two files on a byte-by-byte 
		basis.

		If the reference directory contains more files or 
		subdirectories, they are ignored by DCOMP.  Notice that 
		the order of the DCOMP arguments are reversed from the 
		previous XCOPY command.  Since the C:\DATMAN\TEMP 
		directory contains a subdirectory which was not copied 
		into E:\TEST1, the same order would have created the 
		error condition for a missing subdirectory.


				      36




	Step 22	The last line in the DCOMP output summarizes the number 
		of files that have failed the file comparison operation. 
		If you see any error in the DCOMP test, you should find 
		the cause and remove the problem before you start using 
		the DATMAN system.  In our experience, a faulty SCSI 
		cable, lack of the SCSI bus-terminator, or sometimes a 
		faulty power supply unit can be the cause of such 
		difficulties.

		You are encouraged to perform your own reliability test 
		on your DATMAN file system using your own data and the 
		method outlined in this tutorial at your earliest 
		convenience before committing a large amount of valuable 
		data.  The combination of XCOPY and DCOMP can be very 
		effective.

	Step 23	Now, let's use the DHISTORY command that reveals the 
		past file creation activities on the tape.  Enter the 
		following.

		 c:\datman> DHISTORY


       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)

		Each line in the history listing represents the catalog 
		data recorded at the end of a session (a sequence of 
		file creation activities followed by a catalog record).

		The first entry was created when the tape was first 
		formatted.  The second one was just created by the XCOPY 
		command in Step 15.  Since all of the files were newly 
		copied, no files were deleted.

	Step 24	Run the following two commands in succession.  Again 
		respond by typing "D" to XCOPY's File/Directory 
		selection for TEST2.

		  c:\datman> XCOPY C:\DATMAN\TEMP E:\TEST2
		  c:\datman> DHISTORY

		The same set of files are copied in a different 
		subdirectory.

       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)
	258  01-17-95 21:56     50       0    100 (100)         3(3)

				      37




		This time, you find that another catalog was added and 
		the latest catalog was written at block 258.  Even 
		though the source files of this XCOPY command were 
		the same as the earlier one, they were written in the 
		new directory.  Therefore, all of the files created are 
		treated as new files.  Now you have 100 files on the tape.

		If you typed the DHISTORY command immediately after 
		the XCOPY command has finished, you may have noticed 
		a delay in the DHISTORY command.  That was because 
		DHISTORY forced the File Engine to flush the catalog 
		first (see Step 18).

	Step 25	Now, we have learned both how to read files from the 
		DATMAN tape and how to write files to the DATMAN tape.  
		You can now be on your own.  However, there is one very 
		important aspect of the DATMAN tape operation that you 
		must be aware of.  That is, the catalog data kept in 
		memory must be flushed to the tape whenever you modify 
		the contents of the tape.  The modification may be as 
		simple as creating, or deleting a file.  Even changing 
		the attribute of a file, file date, or file name are 
		treated as modification.

		Imagine a floppy disk with the write-protect tab in 
		place so that you cannot modify the contents.  Whatever 
		operation you cannot do to a file (or a directory) on 
		the floppy disk is an operation that modifies the 
		contents.  Similarly, such an operation to the DATMAN 
		tape would require a change in the tape.  Therefore, 
		an update to the catalog data would be needed.

		The modification operation usually takes two steps.

		  1.  to record the change itself (e.g. write a group
		      of data blocks on the tape for the file)
		  2.  to flush the catalog data which is cached in 
		      the buffer and reflects changes in the file or 
		      directory entry.

	Step 26	Until you learn more about the nature of the cached 
		catalog in memory and the file creation activities, 
		you should always use the following command whenever 
		you are done with a series of file creation and/or 
		modification activities on tape.  It is a good habit 
		for safe DATMAN operations.  Type the following.

		  c:\datman> DFLUSH

		In this case, the DFLUSH command finishes its job 
		instantaneously.  Since the current cache contents have 
		already been flushed, no new catalog was created.  The 
		DFLUSH command is a DATMAN.EXE command.  (The DFLUSH 
		function was executed internally without exiting to DOS.)

				      38




	Step 27	As a way to terminate the tutorial, try to NODATMAN 
		batch program.

		  c:\datman> NODATMAN

		This time, the attempt to uninstall the resident DATMAN 
		File Engine was met by the following error message.

		  "Exit from DATMAN.EXE before removing DATMANFE"

		Since DATMANFE had not been removed, the uninstallation 
		of LOADASPI also failed.

		"Can't remove the TSR (another TSR is on top)"

	Step 28	Type as follows:

		  c:\datman> EXIT

		Now, you are looking at the regular DOS prompt (no 
		longer yellow, all upper case).  You have exited the 
		DATMAN.EXE program.

		From within the DATMAN.EXE program, we used five 
		commands that are outside of DATMAN (DIR, XCOPY).  
		We also ran seven DATMAN commands (DHISTORY, DFORMAT, 
		DFLUSH, DCOMP, DSTATUS, EXIT).  By now, you should 
		feel comfortable mixing regular DOS or other utility 
		programs and the DATMAN.EXE internal commands -- all 
		without exiting DATMAN.EXE.

	Step 29	In Step 26, we invoked the DFLUSH command within 
		DATMAN.EXE.  For your convenience, DATMAN.EXE provides 
		a "one-liner" invocation.  That is, if you are 
		interested in using just one command in DATMAN.EXE and 
		exit immediately, you can type the entire command line 
		as the DATMAN.EXE command arguments.  In that case, 
		DATMAN.EXE will terminate itself as if you have issued 
		an EXIT command.  Try the following command at the DOS 
		prompt.

		  C:\DATMAN> DATMAN  DHISTORY

	Step 30	Similarly, you could type the following.

		  C:\DATMAN> DATMAN  DFLUSH









				      39




	Step 31	Better yet, there are two additional utility programs 
		in the DATMAN software package.  Because of the 
		importance of the DFLUSH and DEJECT commands for safe 
		DATMAN operations, stand-alone executable programs, 
		DFLUSH.EXE and DEJECT.EXE are provided.  They run 
		independent of DATMAN.EXE.  Therefore, you don't need 
		to preface the command with "DATMAN" as shown in the 
		previous step.  You simply type:

		  C:\DATMAN> DFLUSH

		Whether you are inside DATMAN.EXE or not, you can always 
		type DFLUSH to ensure that the cached catalog in memory 
		is flushed before shutting down the system.

	Step 32	While the DFLUSH command is fast, the most reliable way 
		to terminate a DATMAN session is to use the DEJECT 
		command.  We encourage the user to use the DEJECT 
		command rather than the eject button on the front of 
		your tape drive.  Type the following command.

		  C:\DATMAN> DEJECT

	Step 33	Now, you can use NODATMAN batch file without causing an 
		error condition.

		  C:\DATMAN> NODATMAN

		This ends Tutorial 3.  Now if you are interested in 
		experimenting with XCOPY to the tape drive and the 
		DFLUSH command, you can do so now.  But, to stay in 
		sync with the next tutorial, you should be prepared 
		to give up all the files you are going to create on 
		the tape.  Otherwise, DFORMAT another cartridge and 
		make all experiments you want on the new tape.




















				      40




  ======================================================
    Tutorial 4.             More Access on DATMAN Tape
  ======================================================
    
	You now know how to read and write files on a DATMAN tape.  
	You have also learned to format a DDS tape for DATMAN.  In 
	this tutorial, we will learn various tape scan commands which 
	analyze the contents of a DATMAN tape for file recovery 
	operations.  The techniques will be useful for extracting old 
	versions of an overwritten file.  Or, even in the case of a
	tape with missing catalog data, you can still extract a file
	on tape which is not referenced by a catalog.

	Step 1	This session starts with the GODATMAN batch file.

		  C:\DATMAN> GODATMAN

		Insert the "MY_DATMAN" tape which you formatted in 
		Tutorial 3 and added two subdirectories.  Again, we 
		will go inside the DATMAN.EXE program.

		  C:\DATMAN> DATMAN

		Now, list the past file creation activities on the tape.

		  c:\datman> DHISTORYX

		If you typed this command before the tape was fully 
		mounted (i.e., the catalog data was loaded into the 
		cache memory), you will receive an error message, 
		"Tape volume not mounted."  In that case, wait a few 
		minutes and retry.
		
	Step 2	if you wrote more files on the tape, we need to remove 
		all you added on the tape since the end of Tutorial 3.  
		The history list should look as follows.  The DHISTORYX 
		command is nearly identical to the regular DHISTORY 
		command.  The X version of DHISTORY generates the 
		extended history output.  If the history output is 
		only one page long, then the DHISTORY and DHISTORYX 
		commands work the same way.  The extended history 
		output always gives you a full listing no matter how 
		big the list gets.

       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)
	258  01-17-95 21:56     50       0    100 (100)         3(3)
	xxx  xx-xx-xx xx:xx     xx       0    xxx (xxx)        xx(xx)
	...



				      41




		The first three lines should be the same.  Depending 
		on what you did while you were outside the tutorials, 
		the remaining lines may be different.  If your history 
		listing is only three entries, ending with the catalog 
		at block 258, then proceed to Step 6

	Step 3.	The fourth line or beyond (shown by xxx) are the 
		sessions you added by yourself.  We are going to remove 
		the data and catalog so that this tutorial will remain 
		in sync with the tape.
		
	Step 4	Type the following command.

		  c:\datman> DPURGE 258

		This command is one of the few very dangerous commands 
		in DATMAN.EXE.  Therefore, it needs your confirmation.  
		The DPURGE command writes a new DATMAN end marker at the 
		specified position, truncating the data area.  This 
		command permanently removes blocks of data.  You will 
		be prompted to confirm.  If the block number you entered 
		agrees to the value shown, type "Y" and proceed.

	Step 5	Check the result of DPURGE by a sequence of the already 
		familiar commands.

		  c:\datman> DHISTORY
		  c:\datman> DIR E:

		There should be two directories, \TEST1 and \TEST2.

	Step 6	Now, we are going to study a case where files are 
		written under the names which already exist on the 
		DATMAN tape.  This so-called  "file overwrite" does 
		not mean to physically write on top of the same spot 
		on the tape.  The DATMAN File Engine writes almost 
		anything at the end of the current data area.  When 
		a file is "overwritten" in MS-DOS, it simply means 
		that the old file is deleted and the new file is written.  
		On a DATMAN tape, all deleted files remain intact and 
		can be recovered later.

	Step 7	You should find 10 files in your C:\DATMAN\TEMP\NEW 
		subdirectory which you created in Step 30 of Tutorial 2 
		when you XCOPYed the \TEST subdirectory to the tape.  
		Now type:

		  c:\datman> DIR C:\DATMAN\TEMP\NEW

		The files you find in the directory are newer and 
		slightly bigger than the files in E:\TEST1 under the 
		same names.
		


				      42




	Step 8	Type the following line to invoke the XCOPY command 
		to overwrite files in the E:\TEST1 directory.  If you 
		are using MS-DOS ver 5.xx, don't use the "/Y" option 
		which suppresses the overwrite-warning message in 
		MS-DOS 6.xx.

		  c:\datman> XCOPY C:\DATMAN\TEMP\NEW E:\TEST1 /Y

	Step 9	Obtain the latest history.

		  c:\datman> DHISTORY

       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)
	258  01-17-95 21:56     50       0    100 (100)         3(3)
	280  01-17-95 22:41     10      10    110 (100)         3(3)

		The last entry shows that ten files were created and 
		also ten files deleted, as expected from the file 
		overwriting operations.  The active file count in the 
		list indicates the number of files that can be reached 
		by ordinary MS-DOS operations.  The deleted files are 
		only accessible via DATMAN.EXE.

	Step 10	To verify the effect, use the DCOMP command.

		  c:\datman> DCOMP E:\TEST1 C:\DATMAN\TEMP

		Remember, this command compares the overwritten 
		directory against the original directory so that the 
		overwritten files will be identified as different.  
		The last line of the DCOMP output will indicate 10 
		errors out of 50 file comparisons.  Unfortunately, 
		most of the files which resulted in error were scrolled 
		off the screen.  Try using the "-E" option which lists 
		only the lines with errors.

		  c:\datman> DCOMP E:\TEST1  C:\DATMAN\TEMP -E

		Now you see all of the 10 files which were overwritten 
		in the XCOPY operation.

	Step 11	There is a more convenient way to determine whether a 
		file on a DATMAN tape has been overwritten or not.  
		Let's pick one of the files shown on your screen, 
		E:\TEST1\MOUSE.COM.  Type as follows.

		  c:\datman> DSHOWFILE \TEST1\MOUSE.COM




				      43




		The DSHOWFILE command does not need the drive specifier 
		(E:) in the filename since the command works only with 
		a file in the current DATMAN tape.  It doesn't hurt to 
		use it though.

		The output of the command shows the name and block 
		number of the file on the tape.  In addition, if the 
		file had its predecessor when it was created, all of 
		the earlier versions of the file will be listed in the 
		reverse order (newer ones first).

	    Block File Name  File Creation Time  Size  DATMAN Write Time
	    -------------------------------------------------------------
	     275  MOUSE.COM  01-01-94 12:34:56  56,468 01-17-95 22:40:30
	     108  MOUSE.COM  03-10-92 08:20:00  56,425 01-17-95 20:19:45

		Here, the two versions had different dates and file 
		sizes.  But even when a file with exactly the same 
		contents and the same file date had been overwriting 
		the earlier copy, the DATMAN File Engine would have 
		copied it anyway, resulting in a similar listing (at 
		least the "write time" entry would be different).

	Step 12	When you access the E:\TEST1\MOUSE.COM file using an 
		ordinary MS-DOS program, you will reach the latest 
		copy which is stored at block 275.  As far as MS-DOS 
		is concerned, the earlier copy does not exist.  Now, 
		how can we reach an older version of the MOUSE.COM file 
		at block 108?

	Step 13	We now use one of the most important commands in 
		DATMAN.EXE.  Type as follows.

		  c:\datman> DGETFILE C:\DATMAN\OLDMOUSE.COM 108

		The DGETIFLE command is a general purpose method to 
		retrieve a file from the DATMAN tape.  Whether the 
		tape has a corrupted catalog or not, you specify the 
		destination filename (usually on your hard disk) with a 
		starting block position (and an optional end block 
		position).  The DGETFILE command will scan the tape 
		at the starting block number and retrieve the first 
		file found in the range.  You can give any name to 
		the retrieved file.

		In this case, since the file retrieved from tape was 
		not directly referenced by any of the directory entries 
		for the DATMAN drive, you will be warned of such a 
		condition, along with the original file name under 
		which it was created.





				      44




	Step 14	Here, we knew the exact file position of the older 
		MOUSE.COM which was obtained by a DSHOWFILE command 
		earlier.  If we want to use this all-purpose DGETFILE 
		command in a more effective fashion, we need to know 
		what file is located on a given position on tape.  Then 
		what we really need is a mapping function which shows 
		the layout of all the files on the DATMAN tape.  
		Actually, there is a whole set of scan commands 
		available in DATMAN.EXE.  The most useful ones are:
 
		  DSCANCAT	scan for catalogs
		  DSCANFILE	scan for files
		  DSCANBLK	scan for blocks and marks
		  DSCANMARK	scan for filemarks and setmarks

		DSCANFILE is the one which gives you the kind of 
		information we are currently talking about.  In order 
		to list all of the files (and other records of 
		modifications) on the current tape, type the following.

		  c:\datman> DSCANFILE 0

		This scans the entire tape from block 0 (the beginning 
		of the partition).  The output generated by this command 
		reveals the internal structure of the DATMAN tape as well 
		as the detailed history of file/directory creation/modifi-
		cation activities.  If an entry corresponds to a file, its 
		size in bytes will be given (an asterisk indicates an 
		overwriting file which is replacing its predecessor).  
		The last line gives you a diagnostic message.
		
	Step 15	Usually, you would specify a more restricted range to 
		examine the tape.  If you enter the following

		  c:\datman> DSCANFILE 100 120

		You receive the following output.

		   100 \TEST1\AILANBIO.EXE              16,985
		   102 \TEST1\ALONE.EXE                 20,549
		   104 \TEST1\AEX.EXE                   10,437
		   105 \TEST1\NET_MGR.EXE               15,719
		   106 \TEST1\NET.EXE                   16,885
		   108 \TEST1\MOUSE.COM                 56,425
		   112 \TEST1\INSTALL.EXE               19,317
		   114 \TEST1\EDIX.EXE                  68,475
		   119 \TEST1\MSCDEX.EXE                25,361

		     9 files found

		In this example, there were nine files in the specified 
		range.  Note that some of the files span over two or 
		more blocks, since the largest block created by the 
		DATMAN File Engine is 16384 bytes long.

				      45



		
	Step 16	Another very useful tool to analyze the DATMAN tape 
		is the DSCANCAT command.  Type the following.

		  c:\datman> DSCANCAT 0

		The following output displays.

       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)
	258  01-17-95 21:56     50       0    100 (100)         3(3)
	280  01-17-95 22:41     10      10    110 (100)         3(3)
	284  ======== DATMAN End Marker ========
	288  ======== EOD ======================

     The latest catalog tested OK.

	Step 17	The DSCANCAT output shown above resembles that of the 
		DHISTORY command.  Whereas the DHISTORY command responds 
		immediately based on data in the current catalog, the 
		DSCANCAT command literally scans the tape for all 
		catalog entries in the block number range specified in 
		the command.  In the list above, there are two additional 
		entries for an end marker and an EOD which are absent 
		from a history list.  The output display also gives you 
		a diagnostic message saying that the tape is in good 
		condition.

		For diagnostic purposes, the DSCANCAT command provides 
		far more accurate information as to what is on the tape 
		than DHISTORY.  Usually, you need the DSCANCAT command 
		only when you have a corrupted DATMAN tape (the DIR 
		command produces an error message).

		In a very rare instance where the EOD mark is lost 
		(usually as a result of premature power-down of the 
		tape unit), the DAT drive may seek to a stale EOD which 
		was recorded from previous tape usage before the last 
		DFORMAT (or DPURGE).  In theory, you can mount the tape 
		volume based on a ghost catalog which was recorded 
		before the DFORMAT.  Since the DHISTORY command skips 
		the time-consuming scanning operations for a quick 
		response, it may display invalid data.  Also, when 
		your DATMAN tape was corrupt in any way, the DATMAN 
		File Engine does not always succeed in the mount 
		operation.  If DATMAN fails a mount operation, DHISTORY 
		will not function.

		Keep in mind, DSCANCAT is always the first tool to use 
		when you encounter any trouble in the DATMAN file system.



				      46




	Step 18	Earlier in this tutorial, we used DGETFILE to extract 
		an older file which was overwritten (deleted).  This 
		method is an all-purpose (brute force) method that 
		works very reliably in case of trouble.  We implied 
		that there are other ways to get to an overwritten or 
		deleted file.  Now, we are going to introduce to you a 
		method which might be characterized as more elegant.  
		Type the following command.

		  c:\datman> DMOUNT 258

		This command uses a totally different strategy to get 
		to the old files.  It mounts the DATMAN volume based 
		on the older catalog (specified by the catalog block 
		number).  By looking at the list of catalogs obtained 
		either via DSCANCAT or DHISTORY, you can determine a 
		particular catalog you are interested in.  The catalog 
		data represents the state of the DATMAN tape at the 
		time it was recorded.  Since the catalog at block 258 
		was written before the latest session, mounting the 
		volume with that catalog (in other words, visiting the 
		date and time in the past when that catalog was written), 
		you can undo all of the operations performed on the tape 
		thereafter.

		When the above DMOUNT command has completed, it shows 
		statistics on the catalog, and warns you of the 
		READ-ONLY mode that you are now operating in.

	Step 19	Let us confirm the effect of the DMOUNT operation.  
		Type the following command.

		  c:\datman> DHISTORY

		The following output displays.

       Block  Catalog Record  Files   Files  Total(active) Total(active)
	No.    Date    Time  Created Deleted  No.Files     File len in MB
     --------------------------------------------------------------------
	  2  01-17-95 13:49      0       0      0 (0)           0(0)
	131  01-17-95 20:30     50       0     50 (50)          2(2)
	258  01-17-95 21:56     50       0    100 (100)         3(3)

		The history, of course, cannot record anything that 
		happens afterward.  Therefore, the DHISTORY listing 
		ends at the current block number.  Remember, we have 
		just mounted the catalog at block 258.








				      47




	Step 20	Further confirm that the \TEST1\MOUSE.COM file is the 
		first version using the ordinary DIR command.

		  c:\datman> DIR E:\TEST1\MOUSE.COM

		The following displays.

		  MOUSE   COM    56,425  03-10-92   8:20a

		The file date and the file size you obtained should 
		match that of the older MOUSE.COM (the newer one was 
		01-01-94).
	
	Step 21	Now, you can access the file.  For example,

		  c:\datman> COPY E:\TEST1\MOUSE.COM C:\DATMAN\OLDMOUSE.COM

		or, you may File-Compare the file against the one we 
		retrieved earlier.

		  c:\datman> FC E:\TEST1\MOUSE.COM C:\DATMAN\OLDMOUSE.COM

	Step 22	Suppose, we want to change the contents of the file.  
		We decide to rename the MOUSE.COM to OLDMOUSE.COM.  
		You would use the DOS rename command.

		  c:\datman> REN E:\TEST1\MOUSE.COM OLDMOUSE.COM

		You receive the following message.

		  Tape Write Protected
		  Abort, Retry?

		Alas, it was write-protected.  Remember that we are in 
		READ-ONLY mode.  In this mode, you cannot modify any 
		aspect of the tape.  Respond with "A".

	Step 23	What can we do to change the read-only status?  First, 
		try to see the general DATMAN status display.

		  c:\datman> DSTATUS

		The eighth line in the DSTATUS output indicates that 
		Read-Only mode is OFF.

	Step 24	Let's try another more specific command which controls 
		Read-Only mode.

		  c:\datman> DRMODE

		This command also shows the Read-Only mode as OFF.
		Actually, there are three mechanisms to prevent you
		from writing to the tape.


				      48




		  1.  the write-protect tab on the cartridge
		  2.  user-selected Read-Only mode
		  3.  a Time-Warp situation

		First of all, we know that the Write-Protect tab is 
		OFF.  Secondly, we have not specified to operate in 
		Read-Only mode using the DRMODE command or through 
		the "-R" option when the DATMAN File Engine was loaded.  
		But, the third mechanism (WARPed mode) was caused by 
		the DMOUNT operation in Step 18.  The principle of not 
		allowing to change history while you are visiting the 
		past with a time machine is universally honored in 
		DATMAN as it was in the movie.

	Step 25	As long as we reserve the right to return to the 
		"future", we are not entitled to modify the past.  
		The DMOUNT command offers you a temporary visit to 
		the past.  If you wish to modify the state of the 
		tape you now have into something else, you must 
		surrender the privilege to return to the "future".  
		That means, making this visit a permanent instead of a 
		temporary one.  The command to use is DPURGE.

		  c:\datman> DPURGE

		We used this command once before at the beginning of 
		this tutorial (without a full explanation).  Here, we 
		are not specifying the block number where the purge 
		operation shall be performed.  The default position 
		is immediately after the current catalog position.  
		In terms of the actual operation on tape, this command 
		writes a DATMAN end marker followed by an EOD mark at 
		the purge position.

		The DPURGE command prompts you to confirm your wish, 
		twice.  Actually, DPURGE has two stages.  First, it 
		"mounts" a catalog you specified.  Second, it discards 
		the blocks beyond the catalog by setting the end marker.

	Step 26	You can consider the DPURGE command an irreversible 
		version of MS-DOS's DEL (or ERASE) command on DATMAN 
		files.  Say you accidentally XCOPYed a wrong set of 
		files.  The DPURGE command is handy to discard a 
		portion of data on the tape.  For whatever reason, 
		if you want to void the whole session (or a series 
		of sessions), DPURGE is preferred to a more benign 
		delete operation, since deleted files persist on tape 
		and consume storage space.  Note that you cannot 
		delete a section of tape in the middle of the data 
		area and use the vacated space for writing new data.  
		Such an overwriting operation is not permitted on the 
		DDS tape unless you give up all data ahead.  Deleting 
		existing data comes from the end of the tape.


				      49




	Step 27	Let us try again what we failed in Step 21.  We were 
		trying to rename a file.

		  c:\datman> REN E:\TEST1\MOUSE.COM OLDMOUSE.COM

		This time it works as expected.  The purging operation 
		removed the Read-Only status.

	Step 28	We have seen the DPURGE command used in two different 
		ways.  First, to convert a temporary visit to the past 
		permanent.  Second, to permanently discard files and 
		other data on the tape by shortening the data area on 
		the tape from the end.  Now, the third usage is in order.  
		Type the following line.

		  c:\datman> DPURGE 0

		This command destroys everything on the DATMAN tape.  
		To be precise, it is interpreted as "DPURGE 2" as the 
		first catalog at block 2 should not be removed 
		(otherwise it will not be a DATMAN-compatible tape 
		any more).

		This is the equivalent of the DOS command for a floppy 
		disk:  DEL A:*.*

		This is faster than reformatting the diskette.  
		Similarly, "DPURGE 0" is faster than a DFORMAT 
		command.

	Step 29	Now, you have an empty tape.  It's time to take a break.  
		You can practice removing everything from the system 
		including the tape cartridge from the drive.  Enter 
		the following lines.

		  c:\datman> Q
		  C:\DATMAN> DEJECT
		  C:\DATMAN> NODATMAN

		This is the end of Tutorial 4.















				      50




=========================================================================
    CHAPTER 4.   PROGRAM REFERENCE
=========================================================================


	This chapter contains an explanation of the utility programs 
	included in the DATMAN software package and their command syntax.

	The following utilities are included:

	DATMANFE.EXE	The DATMAN File Engine
	DFLUSH.EXE	Cache flush utility (described in Chapter 5)
	DEJECT.EXE	Tape Eject utility (described in Chapter 5)
	LOADASPI.EXE	ASPI Manager Loader Utility
	DDIR.EXE	Directory/file manager utility
	WHERE.EXE	File search/list utility
	DCOMP.EXE	Directory comparison utility
	DCOPY.EXE	File/Directory copy utility
	WAKEUP.EXE	Timer utility for delayed execution in batch file

	Since the DATMAN.EXE program is a large collection of DATMAN 
	utility functions, its descriptions are compiled in Chapter 5.

































				      51




DATMANFE					      DATMAN File Engine
________________________________________________________________________


Syntax

	DATMANFE  [ options... ]


Parameters (summary)

	Options are any of the following, or none.

	-v<letter>:   select the volume letter
	  -e<size>:   EMS buffer size in KB
	  -x<size>:    XMS buffer size in KB
	  -c<size>:    conventional memory buffer size in KB
	        -b:    buffering on background access to EMS pages
	     -f<n>:    maximum number of concurrent open files
	  -n<name>:    assign this machine a name
	        -s:    display SCSI and DOS drive map status
	        -u:    uninstall the resident DATMAN File Engine
	     -h<n>:    host adapter number
	     -i<n>:    SCSI device ID number
	        -a:    additional drive (DATMAN-PRO only)
	        -r:    read-only tape access
	     -g<n>:    sets N-group count (redundant write)
	        -o:    turns off compression
	     -d<n>:    catalog flush delay in seconds
	  -p<mode>:    background process control
	     -q<n>:    quiet mode
	        -?:    print the help message

		Detailed explanations are given on the following pages.


Function

	This is the resident program of the DATMAN system.  The user can 
	fine-tune the operational characteristics of DATMAN through the 
	parameter options on DATMANFE.EXE.  Some of the parameters can 
	be modified later by the companion program, DATMAN.EXE.













				      52




DATMANFE (continued)				      DATMAN File Engine
________________________________________________________________________



Parameters

	The general syntax is that an option switch starts with a 
	hyphen (or a slash) followed by an alphabetic character.  
	When an option requires a numeric or string, it must follow 
	the alphabetic character without a blank character or space.

	   -a:  additional installation.  This parameter is available 
		with DATMAN-PRO only.  This option disables DATMAN's 
		safeguard feature which regards an attempt to install 
		DATMAN as a user error once it has already been made 
		a TSR.  However, if you have multiple DAT drives, you 
		can install the additional copy of DATMAN using this 
		option.  You need the professional version of DATMAN 
		to run more than one DAT drive.
		
	   -b:  buffering on background access to EMS page.  This 
		option is seldom used, since in most cases, the option 
		is automatically selected by DATMAN. 

     -c<size>:  conventional memory buffer size in KB.  This option 
		specifies the amount of memory used for DATMAN directory 
		caching in conventional memory.  It automatically 
		disables the "-e" and "-x" option.

	-d<n>:  catalog flush delay in seconds.  This option overrides 
		the default delay period (30 seconds) for catalog 
		data flushing.

     -e<size>:  EMS buffer size in KB.  This option specifies the amount 
		of memory used for DATMAN directory caching in EMS 
		memory.  It automatically disables the   "-c" and "-x"
		options.

	-f<n>:  maximum number of concurrent open files.  This option 
		specifies the maximum number of DATMAN files that can 
		be opened at the same time.  Each open file uses a 16KB 
		buffer space (set aside from the common buffer space).  
		The default number is 4.

	   -o:  disable sdata compression.  Data compression is enabled 
		by default if the drive can support the feature.








				      53




DATMANFE (continued)					DATMAN File Engine
________________________________________________________________________


	-g<n>:  This option allows you to specify the number (0-7) of 
		redundant copies of each group of data the DAT drive 
		writes on the tape.    All DDS-compliant drives (except 
		Exabyte models) support the   "N-group" feature which 
		is sometimes called multiple group writing.  If you plan 
		to retrieve files on the datman tape many years after 
		they are written, we recommend using "-g1" or "-g2" to 
		dramatically improve the survivability of data on the 
		tape.  We believe this is the most important feature of 
		the DDS technology which makes the 4mm DAT tape so much 
		better than any other tape storage technologies.  The 
		default setting is "-g0" which disables redundant writing.

	-h<n>:  host adapter number.  This option allows you to select 
		the host adapter if you have two or more.  The ASPI 
		system assigns numbers starting at 0 (the first module 
		installed).  Unless the host adapter number is selected 
		using this option, DATMAN searches a DAT drive starting 
		at the lowest numbered host adapter.  See the -i option.

	-i<n>:  SCSI device ID number.  This option allows you to 
		specify the DAT drive by the SCSI ID number when you 
		have two or more drives.  Unless this option is used, 
		DATMAN searches a DAT drive starting at the lowest 
		numbered SCSI ID.  See the -h option.

     -n<name>:  assign this machine a name.  When DATMAN writes catalog 
		data to the tape, the machine name is recorded for later 
		reference.  If you omit this option, DATMAN uses the 
		network node name as the machine name if present.

     -p<mode>:  background process control. When pmode is 2 (by default), 
		the background process is enabled and DATMAN initiates 
		the tape mounting procedure in the background. In pmode 0, 
		it is disabled permanently whereas pmode 1 will be 
		promoted to pmode 2 after a successful mount operation.  
		It is useful for repairing a damaged DATMAN tape.

	-q<n>:  quiet mode.  This option provides fine control over how 
		much data will be displayed at the installation time.

		  -q (or -q3)	completely quiet (no output)
		  -q2		very quiet, minimum display
		  -q1		standard display
		  -q0		least quiet, technical/debug display

	   -r:  read-only tape access.  This option specifies that the 
		tape will be operated in read-only mode.  You can later 
		enable write operations by a command in the DATMAN 
		utility.

				      54




DATMANFE (continued)					DATMAN File Engine
________________________________________________________________________


	   -s:  show SCSI and DOS drive map status.  This option allows 
		DATMAN to show the system status pertinent to the DATMAN 
		operations.  When this option is enabled, all other 
		options will have no effect (DATMAN will not be loaded).

	   -u:	uninstall the memory resident DATMAN File Engine.

   -v<letter>:  select the volume letter.  This option allows you to 
		choose the drive volume letter assigned to the DAT 
		drive.  By default, DATMAN assigns the first unassigned 
		drive letter among MS-DOS's local drives.  The advantage 
		of using the -v option as opposed to leaving the drive 
		assignment to the default method is that you can count 
		on the same drive letter for each session.  The drive 
		letter assigned by default may change when the 
		environment is changed.

     -x<size>:  XMS buffer size in KB This option specifies the amount 
		of memory used for DATMAN directory caching in XMS 
		memory.  It automatically disables the "-c" and "-e"
		options.






























				      55




LOADASPI					     ASPI Manager Loader
________________________________________________________________________


Syntax

	LOADASPI  [ switch ]  [ filespec [ args... ]  ]


Parameters

       switch:  one of the following options
		   -u:  unload the most recent ASPI manager
		   -v:  verbose mode
		   -a:  additional ASPI loading (precedes filespec)

     filespec:  the path/filename of the ASPI manager

	 args:  argument list that would appear in a CONFIG.SYS file 
	 	statement


Function

	This utility program installs an ASPI manager without a reboot; 
	therefore, no modification to the CONFIG.SYS file is necessary.  
	In addition, it can remove a resident ASPI manager that has been 
	loaded earlier.  The use of this utility is not limited to the 
	DATMAN application.


Note

	The arguments to the ASPI manager which would normally appear 
	in a CONFIG.SYS statement must follow the filespec (which may 
	include a drive name and/or path).  Refer to the installation 
	instructions for the ASPI manager supplied by the host adapter 
	vendor.


Caution

	You can uninstall an ASPI manager only when no other TSR 
	programs are on top.  If you have multiple ASPI managers that 
	have been installed via LOADASPI, only the most recent 
	installation will be removed by an invocation with the "-u" 
	option.








				      56




DDIR						  Directory/File Manager
________________________________________________________________________


Syntax

	DDIR  [ dirname ]  [ switches... ]


Parameters

      dirname:  directory name

     switches:  one of the following options

		  -t:  tty output mode (non-interactive mode)
		  -d:  subdirectories only (no files)
		  -f:  files only (no subdirectories)
		  -h:  show hidden files
		  -m:  show more lines (43/50 line display)
		  -q:  quick mode (no directory size shown)
		  -r:  read-only operations
	       -skey:  sorting key, combinations of the following:
			n (name)	N(reverse name)
			e (ext.)	E (reverse ext.)
			z (size)	Z (reverse size)
			t (time)	T (reverse time)
			d (directory)	D (reverse directory)


Function

	This utility program runs in two modes:  interactive mode 
	(default) and tty mode.  In tty mode, DDIR outputs the full 
	contents of the directory to the console.

	In interactive mode, you can select files for bulk operations 
	such as COPY and DELETE.  You can also view the contents of a 
	selected file.  When you attempt to view a subdirectory, it 
	enters the subdirectory and lists the directory contents.


Examples

	DDIR E:\			    ; interactive mode at E:\
	DDIR -t -h -f c:\ >hidden.lst	    ; tty mode is handy when 
					    ; you need a list of files








				      57




WHERE							     File Finder
________________________________________________________________________


Syntax

	WHERE  [[drive]path]filename  [ -x ]  [ -y ]


Parameters

	drive:  optional drive name, e.g. C:

	 path:  optional pathname

     filename:  the file name (wildcard allowed)

	   -x:  filename only

	   -y:  year-month-day order

	Note that no space is allowed between drive, path and filename.


Function

	This utility searches for all of the files that match the 
	filename specified in a directory.  All of the files that match 
	the filespec will be displayed on the console.

	If the pathname is included, the search will be limited to the 
	directory and subdirectories under it.  Otherwise, the search 
	is for the entire drive.

	In order to differentiate the current directory from the entire 
	drive, use the single dot notation to specify a search on the 
	current directory.  The "-y" option is useful for subsequent 
	sorting by the file date.


Examples

	WHERE  C:\BIN\*.COM	all .COM files under C:\BIN
	WHERE  D:*.COM	all .COM files in drive D:
	WHERE  .\*.TXT	all .TXT files in the current directory
	WHERE  *.HLP	all .HLP files in the current drive
	WHERE  READ	searches for READ.*
	WHERE  READ.	searches for READ (with no extension)







				      58




DCOMP						    Directory Comparator
________________________________________________________________________


Syntax

	DCOMP  targdir  refdir   [ -d ]  [ -e ]


Parameters

      targdir:	the filespec of the target directory

       refdir:	the filespec of the reference directory

	   -d:	ignore date/time mismatch

	   -e:	display errors only


Function

	This utility compares all of the files found in the target 
	directory with the corresponding files (under the same name) 
	in the reference directory.  Files are tested byte-by-byte, 
	if not otherwise different (in date/size).
	
	If the target directory contains a subdirectory, all the 
	subdirectories under the directory will be tested.


Note
	The files or subdirectories present in the reference directory 
	but not in the target directory will be ignored in this 
	utility.  The file comparison criteria includes the file 
	creation date/time, file size, and the entire file contents.  
	As soon as any of the comparison criteria fails, the comparison 
	will be terminated for the pair.

















				      59




DCOPY						     File/Directory Copy
________________________________________________________________________


Syntax

	DCOPY  source  destdir  [ switches... ]


Parameters

       source:	the filespec of the source files or directory

      destdir:	the destination directory (not file(s))

     switches:	shown in the next page

	   /?:	one-page help

	-help:	complete online help pages

Function

	This utility supplements the XCOPY command for most file and 
	directory copy operations for DATMAN volume.  DCOPY supports 
	all XCOPY switches.  The -c (continue) , -h and  -hb options 
	are specifically designed for backing up a network file server.  
	The -ac option allows you to clear archive bits on the first 
	full backup.  The -j, and -g options are specifically designed 
	for DATMAN.  The -o option is also new in DCOPY for logging 
	errors in a file.

Note

	-bb, -bi, -bn, -bo, -bx switches are mutually exclusive.  If 
	you use more than one -b switches, the last one prevails.

	Windows 95 made substantial improvemts on its XCOPY utility 
	which implements some of DATMAN's extended capabilities.  In 
	order to remain fully compatible to XCOPY's switches, we had 
	to reshuffle a few  switch letter assignments.

Tips
	When you attempt to backup a file server using the XCOPY command, 
	a file-sharing violation may trigger the critical error 
	condition (with the Abort-Retry prompt).  The -c option in DCOPY 
	was designed to eliminate such inconveniences by automatically 
	requesting three retries with one-second delay (and gives up as 
	an error thereafter).  The -hb switch lets you access the 
	NetWare bindery files.

	The COPYCMD environment variable will be interpreted by DCOPY 
	just as the COPY and XCOPY commands use it for default behavior 
	on overwrite.

				      60




DCOPY (continued)				     File/Directory Copy
________________________________________________________________________


     switches:	any of the following

	   -a:	copy only files with archive bit set (A-bit unchanged)
	   -m:	copy only files with archive bit set (A-bit cleared)
	  -ac:	copy files regardless of archive bit (A-bit cleared)
	   -h:	copy hidden and system files
	  -hb:	copy NetWare bindery files appropriately
	   -r:	overwrites read-only files
	   -k:	keep the attributes of overwritten file
	  -kd:	keep the attributes of overwritten file (same as -k)
	  -ks:	keep the attributes of the source file
	  -bi:	backup incrementally (does not change/rely on the A-bit)
	  -bb:	backup brandnew files only (does not overwrite)
	  -bn:	backup newer files only (includes brandnew files)
	  -bo:	backup older files only (includes brandnew files)
	  -bx:	backup newer and older files only (incl. brandnew files)
	   -u:	backup for update (existing file only)
	   -v:	verify after copy
     -x<dir\>:	exclude a directory from copying
                e.g., -dc:\temp\           (must end with a backslash)
                this switch can appear more than once
     -x<name>:	exclude file(s) from copying (in all subdirectories)
                e.g., -d*.tmp              (can contain wildcard characters)
                this switch can appear more than once
     -d<date>:	copy files changed on orafter the specified date 
		e.g., -d:12/31/95, -d:12-31-95, or -d:12.31.95 
		(US: mm-dd-yy, Europe: dd-mm-yr, FarEast: yr-mm-dd)
	   -v:	verify after copy
	   -s:	copy subdirectories except empty ones
	   -e:	copy subdirectories even if empty
	   -t:	create directory structure (tree) without copying files
	   -i:	create the new destination directory if not present
	   -z:	delete extra files or subdirectories in destination
	  -zy:	delete extra entries (same as -z but without prompting)
	   -p:	prompt before copy
	   -c:	retry three times on critical error before giving up
	   -y:	suppress prompt on overwrite (automatic Yes)
	  -y-:	prompt on overwrite (disable automatic Yes)
	   -j:	force a DATMAN catalog (journal) flush
	  -j0:	suppress the DATMAN‘s automatic catalog(journal) flush
	  -ja:	automatic catalog (journal) flush (triggered by 1 MB copy)
	   -l:	list files that would be copied
	   -q:	quiet mode (suppress listing skipped files on -b)
	-g<n>:	set N-group (redundant write) value on DATMAN tape
  -o<logfile>:	create log file for reporting errors






				      61




WAKEUP						  Timer and Screen Saver
________________________________________________________________________


Syntax

	WAKEUP  [ time | NEVER ]


Parameters

	 time:	the time to wake up from idle mode

	NEVER:	enter indefinite idle mode (until an ESC key)


Function

	This utility enters an idle loop until the specified time has 
	arrived.  Its cycle time is 24 hours.  Therefore you need not 
	specify the day of waking up.  You can use specify the time 
	with or without the am/pm suffix.  The program can be 
	terminated at any time by the <ESC>, <Ctrl-C>, or <Ctrl-Break> 
	key.  If you enter "NEVER", the program will continue 
	indefinitely as a screen savor.

	In idle mode (screen savor mode), the console displays the 
	remaining (or elapsed) time in low-intensity letters.

	This utility is most useful in batch programs.


Examples

	WAKEUP NEVER		; until a user-break
	WAKEUP 1:23		; 1:23 am
	WAKEUP 1:23a		; 1:23 am
	WAKEUP 1:23p		; 1:23 pm
	WAKEUP 13:23p		; 1:23 pm
	WAKEUP 0:01p		; 0:01 pm
	WAKEUP 12:01p		; 12:01 pm

	The syntax for am/pm specification is relaxed.

	WAKEUP 1:23 a		; 1:23 am
	WAKEUP 1:23am		; 1:23 am
	WAKEUP 1:23 am		; 1:23 am








				      62




=========================================================================
CHAPTER 5. DATMAN.EXE REFERENCE
=========================================================================


	Once the DATMAN File Engine (DATMANFE.EXE) is installed in 
	memory, it interacts with MS-DOS behind the scenes to provide 
	interaction with the DAT drive.  To keep this resident module 
	small, many functions are assembled into the DATMAN.EXE program.  
	There are also a few other separate utilities.
	
	DATMAN.EXE supports a number of functions used to control the 
	DATMAN tape that are not available in generic DOS programs.  
	It uses a command line prompt similar to a DOS prompt with the 
	current directory shown.  In most VGA screen settings, it 
	displays the prompt in yellow.  
	
	When you type in a command at this prompt, DATMAN.EXE interprets 
	what you enter.  If it is a DATMAN command, it executes it.  
	If it is a DOS command, it passes it to the DOS COMMAND.COM for 
	processing.  When DATMAN.EXE is loaded, you have more commands 
	than DOS can provide at your disposal.  The disadvantage is that 
	you are using more conventional memory.  Therefore, while 
	DATMANFE.EXE stays resident, you can remove DATMAN.EXE when you 
	need the conventional memory to run large applications.

	In this chapter, DATMAN.EXE's command are listed in alphabetical 
	order for reference.  Mastering these commands needs more than 
	reading the pages ahead.  You should follow the tutorials in 
	Chapter 3 where step-by-step instructions are given with 
	examples.

	This command-line driven user interface is not the easiest to 
	use.  The size of this chapter alone indicates the need for an 
	intuitive user interface.  The engineers at Pixelab are working 
	on an interface at this moment.  The next major release of this 
	product will incorporate all of the commands into such an 
	interface.  However, the DATMAN philosophies will remain 
	unchanged.  The experience you gain by learning and using 
	these commands will prepare you for even more productive usage 
	of the DATMAN file system.














				      63




DATMAN.EXE				   DATMAN User-Interface Program
________________________________________________________________________


Syntax

	DATMAN  [  -D<n>  ]  [  command...  ]


Parameters

	-D<n>:	DATMAN File Engine select (n = 0   1st drive)

       command:	If present, DATMAN.EXE will execute the command 
	       	entered on the command line, then exit to DOS.
		If the command is omitted, it will enter command-
		processing mode until the EXIT command is invoked.


List of Commands (full description provided in following pages)

    Command	Arguments			Comments
   ----------------------------------------------------------------------
    DCLONE	srcdrive  dstdrive		duplicate tape
    DCMODE	[ 0 | 1 ]			data compression mode	
    DDELAY	[ timeout ]			set write-behind timeout
    DEJECT					eject cartridge
    DFLUSH					write cached catalog data
    DFORMAT[X]	[ label  [ comment ] ]		initialize tape for DATMAN
    DGETBLK[X]	filename start [ end ]		extract blocks (bin/hex)
    DGETDIR   	srcdir dstdir start [ end ]	extract directory
    DGETFILE	filename  startblk		extract a file
    DHELP	[ command ]			show command syntax
    DHISTORY[X]	[ blockno ]			history (one/multi page)
    DLABEL	[ newlabel ]			show/set volume label
    DMOUNT	[ blockno ]			time travel command
    DNGROUP	[ 0 - 7 ]			show/set N-Group count
    DPMODE	[ 0 | 1 | 2]			show/set bkgnd process mode
    DRMODE	[ 0 | 1 ]			show/set read-only mode
    DPURGE	[ blockno ]  [ -Y ]		discard data on tape
    DPUTEOD	[ blockno ]			put EOD marker
    DREAD	[ blockno ]			read a data block
    DREPAIR	[ startblk  [ catblk ] ]	reconstruct catalog
    DSCANBLK	[ startblk  [ endblk ] ]	scan for data blocks
    DSCANCAT	[ startblk  [ endblk ] ]	scan for catalogs
    DSCANFILE	[ startblk  [ endblk ] ]	scan for files, etc.
    DSCANMARK	[ startblk  [ endblk ] ]	scan for marks
    DSELECT	[ drive:  |  atindex ]		show/set DATMAN tape
    DSHOWCAT	[ blockno ]			show catalog info
    DSHOWFILE	filename			show file info, versions
    DSTATUS					show DATMAN status
    DWARP	[ mm-dd-yy  [ hh:mm[:ss]]]	time travel command
    DWIPE					erase beyond the EOD
    END, EXIT, Q, QUIT				terminate DATMAN.EXE

				      64




DCLONE						    Duplicate a DDS tape
________________________________________________________________________


Syntax

	DCLONE  srcdrive  dstdrive


Parameters

     srcdrive:	the source tape drive

     dstdrive:	the destination drive

	The source and destination drives can be specified either 
	the DOS drive letter (e.g., E: and F:), or the DATMAN drive 
	index.


Function

	This command duplicates a DDS tape.  The arguments to this 
	command are either the DOS drive letter or the index number 
	for each drive.  You can obtain a list of DATMAN drives 
	currently installed by the "DSELECT" command without argument.


Caution

	In order to duplicate a DDS tape, you need two DAT drives.  
	Multiple-drive configuration is supported only by the DATMAN 
	Professional Edition.


Remarks

	If you have two tape drives of different capabilities (for 
	example, DDS-1 and DDS-DC drives), you should use the less-
	capable drive as the source drive.















				      65




DCMODE					       Set Data-Compression mode
________________________________________________________________________


Syntax

	DCMODE   [  0  |  1  ]


Parameters

	    0:	disable data compression

	    1:	enable data compression


Function

	This command controls the data compression feature provided by 
	the DAT drive.  If the drive does not support data compression 
	(DDS-1 generation), this command has no effect.  On the other 
	hand, if your drive is capable of data compression, you can 
	disable the feature so that the tape can be read by older 
	generation drives.


Caution
	Regardless of the data compression setting (which affects the 
	block the drive writes), a block with compressed data will be 
	decompressed when it is read.


Remarks

	When you use the data compression feature built-in the DDS 
	drive, a file that has been compressed by a data-compression 
	utility (such as PKZIP) typically consumes more space than 
	the original uncompressed file on tape.  Therefore, you should 
	avoid using data compression utility if possible.
















				      66




DDELAY						Set write-behind timeout
________________________________________________________________________


Syntax

	DDELAY  [  timeout  ]


Parameters

      timeout:	delay in seconds


Function

	The write-behind timeout is set by this command to fine tune 
	the background cache flush operation of the resident DATMAN 
	File Engine.  The timeout period is specified in seconds.  
	If you omit the timeout value, it shows the current setting.  
	When you specify a negative number (-1), it disables the 
	automatic cache-flush feature.


Caution

	If you disable the automatic cache flush feature, it is the 
	user's responsibility to ascertain that the catalog is 
	eventually written to the tape.  When either the tape drive 
	or the host system loses its power, the tape will become 
	incohesive and require a repair.


Remarks
	This command is useful when you are manually modifying the 
	contents of a tape one step at a time.  For example, creating 
	a new subdirectory, renaming files, etc. may take longer than 
	the default timeout (30 seconds) between each step.  Unless 
	the timeout is increased (or disabled), a background cache 
	flush operation may create an unnecessary catalog entry on 
	the tape.














				      67




DEJECT						    Eject tape cartridge
________________________________________________________________________


Syntax

	DEJECT  (no parameters)


Parameters

	None


Function

	This command ejects the cartridge from the drive.  If the 
	contents on the tape have been modified but the catalog data 
	has not been flushed to the tape, a catalog flush operation 
	will automatically be carried out prior to ejecting the tape.


Remarks

	This command is equivalent to pressing the front panel eject 
	button.  This command is the recommended way to remove the 
	cartridge for two reasons:

	    1.	This command always checks and flushes the cached 
		catalog.

	    2.	This command works even when the automatic cache flush 
		feature is disabled (by "DDELAY -1").

	In order to encourage the user to use this command instead of 
	pressing the eject button, this command is also provided as a 
	standalone program, DEJECT.EXE. 


















				      68




DFLUSH					       Flush cached catalog data
________________________________________________________________________


Syntax

	DFLUSH  (no parameters)


Parameters

	None


Function

	This command flushes the contents of the cache buffer used for 
	directory information to the tape.  In most cases, the cache 
	flush is done automatically as a background operation when the 
	write-behind timeout expires (30 seconds default).

	This command operates even when the automatic cache flush 
	feature is disabled (by "DDELAY -1").  If no modifications 
	on the cache contents were made since the last cache flush, 
	no action will take place.


Caution

	The count-down of the timeout period (default 30 seconds) of 
	the write-behind delay is reset to the full count as soon as 
	a new access to the DATMAN tape occurs.  Therefore, in come 
	cases the cached data may not be written for a long time.  
	The user may turn off the machine's power or reboot the 
	system without flushing the catalog in the buffer.


Tips
	The most common problem in DATMAN operation is by far a damaged 
	DATMAN tape with unreferenced files at the end of the data area 
	(beyond the last catalog).  This type of irregularity is often 
	avoidable by forming a habit of issuing a "DFLUSH" command 
	whenever a series of tape-write operations are performed.












				      69




DFORMAT / DFORMATX				 Format a tape cartridge
________________________________________________________________________


Syntax

	DFORMAT   (no parameters)	quick format
	DFORMATX  (no parameters)	extended format


Parameters

	None


Function

	These commands format a blank or used tape cartridge for the 
	DATMAN tape system.  The DFORMAT command formats a DDS tape 
	into two partitions.  Then, it initializes the header catalog 
	with no files inside.  An optional label will be recorded and 
	volume serial number assigned.


Caution

	If you run the regular DFORMAT command as opposed to the 
	DFORMATX command, most of the previous data will remain in 
	place.  In normal operation, the old data will not interfere 
	with the newly written data.  If the EOD marker should become 
	lost, the DAT drive may get so confused that old blocks-----
	we call it ghost data-----(and worse, old catalog data) may 
	surface.  
	
	The DFORMATX command is equivalent to a DFORMAT command 
	followed by a DWIPE command which performs the time-consuming 
	"LONG-ERASE" procedure.  Since the "LONG-ERASE" procedure is 
	done in the background, it does not tie up your computer.

Tips

	The DFORMATX command takes about 70 minutes to completely 
	wipe out a 90 meter tape using the HP C1533A drive (may take 
	longer using other models).  When the drive is busy erasing 
	the tape, the DATMAN volume will be at a "busy" state.  You 
	can remove the DATMAN File Engine as well as the ASPI manager 
	during that time.
	
	If you are in a hurry and need to reuse old tape cartridge, 
	you can use the quicker DFORMAT command, do the copy operation, 
	followed by a DWIPE command.  Since the DWIPE operation erases 
	data beyond the EOD, it accomplish the same thing as the 
	DFORMATX command does.  This technique is also useful for 
	unattended backup operations.

				      70




DGETBLK / DGETBLKX				Extract blocks into file
________________________________________________________________________


Syntax

	DGETBLK   filename  startblk  [  endblk  ]	(binary)
	DGETBLKX  filename  startblk  [  endblk  ]	(hex)


Parameters

     filename:	the destination filename

     startblk:	the first block number

       endblk:	the last block number if more than one block


Function

	This command reads the specified blocks on the tape and saves 
	the contents into a file.  The DGETBLK command saves as a 
	binary file format without any translation.  The DGETBLKX 
	command generates an ASCII file where each byte is represented 
	in a hexadecimal number.


Caution

	Since a DATMAN file is recorded in a group of one or more blocks 
	with a header and a tail section surrounding the file contents, 
	unless you know the DATMAN file format on tape, you may extract 
	more than the file data.


Tips

	This command does not require that the current tape volume be 
	mounted as a DATMAN tape.  Therefore, this command can be used 
	with any tape format in order to extract data.


See Also

	DGETFILE	extract a file
	DGETDIR		extract a directory (multiple files)








				      71




DGETDIR				    Extract a directory (multiple files)
________________________________________________________________________


Syntax

	DGETDIR  scrdir  dstdir  startblk  [  endblk  ]

Parameters

       scrdir:	the source directory on the tape

       dstdir:	the destination directory (usually on disk)

     startblk:	starting block number

       endblk:	ending block number

Function

	This command extracts a subdirectory on the tape into the 
	destination directory.  It scans the specified range on the tape 
	for qualified files which are inside the source directory.  When 
	endblk is not specified, it scans the tape until the EOD is 
	reached.  When a qualified file is encountered, it will be saved 
	in a file in the destination directory.  If the subdirectory for 
	the file is absent in the destination, it will be created as needed.
	
Example

	DGETDIR  \abc  c:\old  1000 3400

	This command retrieves all the files in the \abc directory 
	and all subdirectories between blocks 1000 and 3400 on the tape. 
	The file, \abc\xyz\my.txt, will be saved in  c:\old\xyz\my.txt.

Caution

	If you specify an existing directory for the destination, 
	existing files may be overwritten. If two or more files with 
	the same name are retrieved, only the newest one will be left 
	in the destination directory at the completion of this command 
	since the earlier version of the file will be overwritten in 
	the destination directory.

Tips

	A 0 for startblk and nothing for endblk will encompass the 
	entire tape.  If you specify \, the root directory, as the 
	source, all files will qualify.

See Also	

	DGETBLK, DGETFILE

				      72




DGETFILE						  Extract a file
________________________________________________________________________


Syntax

	DGETFILE  filename  startblk


Parameters

    filename:	destination file (usually on disk)
    startblk:	starting block number



Function

	This command is used to extract a file from the tape.  The 
	command scans the tape starting at startblk for the header 
	block of a file (a file is usually store in a group of blocks).  
	Once a file-header block is encountered, the file will be 
	extracted and saved as filename  You can choose any name which 
	may be totally different from the original.
	
	The original name of the extracted file will be displayed.  If 
	the file is not currently "active" (deleted or overwritten by 
	a newer copy), a warning message will be given.


Caution

	You cannot create the destination file on the same tape you are 
	using to extract files.  You can use another DATMAN tape as the 
	destination if you have multiple DAT drive configuration.


Tips

	This command is useful to retrieve a deleted file or overwritten 
	file.  In order to locate the block position of a file, use 
	DSHOWFILE or DSCANFILE.If you need a group of files, use the 
	DGETDIR command.


See Also

	DGETBLK		extract block(s) into a file
	DGETDIR		extract a directory
	DSHOWFILE	list previous version of a file
	DSCANFILE	list files in a region of the tape




				      73




DHELP						     Show command syntax
________________________________________________________________________


Syntax

	DHELP  [  command  ]


Parameters

    command:	the name of a valid DATMAN.EXE command



Function

	This command provides on-line help.  It displays the command 
	syntax for a command available in DATMAN.EXE.

	If you omit the command argument, a list of all the DATMAN.EXE 
	commands will be listed.

































				      74




DHISTORY / DHISTORYX				List history of the tape
________________________________________________________________________


Syntax

	DHISTORY   [  blockno  ]	one page history
	DHISTORYX  [  blockno  ]	full history


Parameters

    blockno:	the block number of a catalog from which the 
		history is displayed.


Function

	This command lists the history of file/directory creation 
	activities on a DATMAN tape.  It shows the position of catalogs 
	which delimit each session, storing directory information.  It 
	shows the number of files created and deleted within each 
	session as well as the total file and byte counts.


Caution

	When you mount the tape volume using an older catalog (as 
	opposed to using the latest one), the history listing will 
	not reveal the tape write activities beyond the time of the 
	catalog where this older catalog history is based.


Tips

	The history listing is based on data located within the current 
	catalog for instantaneous display.  Since the catalog data is 
	available only when the tape volume is mounted successfully, 
	this command results in error if the tape is not mounted due 
	to a corrupted catalog.  In such a case, use the DSCANCAT 
	command.

	The history listing is useful prior to using the DWARP command.












				      75




DLABEL							Set volume label
________________________________________________________________________


Syntax

	DLABEL  [  newlabel  ]


Parameters

    newlabel:	a character string (up to 11 letters)



Function

	This command allows you to assign a new label, or rename a 
	label on a DATMAN tape.  The label string is always converted 
	to uppercase characters.

Caution

	The original label given at format-time will remain unchanged 
	and can be retrieved by a DSTATUS command.  This command 
	changes the volume label shown by the DIR command.


See Also
	
	DSTATUS
























				      76




DMOUNT						       Mount tape volume
________________________________________________________________________


Syntax

	DMOUNT  [  blockno  ]


Parameters

    blockno:	the block number of the catalog



Function

	This command selects the catalog with which the DATMAN logical 
	drive operates.  The automatic background mount operation uses 
	the most recent catalog (the furthest catalog from the beginning 
	of the tape).  This command can override the default selection 
	of the most recent catalog so that the previous state of the 
	tape volume can be brought back.If you omit the "blockno" 
	parameter, the most recent catalog will be used for mounting 
	the volume.


Caution

	When there are any data blocks other than the DATMAN end marker 
	beyond the end of the catalog selected, the current session will 
	operate in READ-ONLY mode (a warning message will appear).  If 
	the catalog is the most recent one, you must perform repair 
	operations (run DSCANCAT, followed by DREPAIR) so that you 
	can write files on the tape again.
	
	After a DMOUNT or DWARP operation, you can remove the read-only 
	status only by using the DPURGE command which will discard all 
	data blocks beyond the current catalog.


See Also

	DPURGE, DWARP











				      77




DNGROUP					       Set redundant write count
________________________________________________________________________


Syntax

	DNGROUP  [  0 - 7  ]


Parameters

	     0:	disables the redundant write feature (only one copy)

           1-7:	the number of additional copies of data groups for 
		redundant write



Function

	This command sets the number of additional copies for each 
	group of data the DAT drive writes on the tape.  All DDS-
	compliant drives (except Exabyte models) support the "N-Group"
	feature which is sometimes called multiple group writing.

	If you omit the parameter, the command displays the current 
	N-Group setting.


Caution

	The capacity of the tape is inversely proportional to the 
	number of copies you make on the tape.  When you use the 
	ngroup value of 1 (total of 2 copies), then you can store 
	only one half of the full capacity.


Tips

	If you plan to retrieve files on a DATMAN tape many years 
	after they were written, we recommend using DNGROUP with 
	the value of 1 or 2 to dramatically improve the survivability 
	of data on the tape.  In most cases, selecting the ngroup 
	value of 1 does not degrade but improve the data transfer 
	throughput both in writing and in reading!  This option can 
	also be set when the DATMAN File Engine is first installed 
	with the "-gn" option.








				      78




DPMODE					     Set background process mode
________________________________________________________________________


Syntax

	DPMODE  [  0  |  1  |  2  ]


Parameters

	     0:	disables background operation

	     1:	disables background until first access

	     2:	full background operation in effect


Function

	This command controls the background operation of the DATMAN 
	File Engine.  It is a last-resort mechanism to disable the 
	automatic tape volume mount operation performed in the 
	background.  When you have a badly damaged tape (with no 
	EOD on the partition), the tape drive enters lengthy search 
	operations which cannot be interrupted.  In such a case, the 
	DATMAN File Engine's automatic background mount operation may 
	interfere with the tape repair process.  This command disables 
	such background operations.
	
	If you omit the command parameter, the command displays the 
	current setting.


Caution

	When you use the process control parameter of 1, it temporarily 
	disables the automatic mount operation.  However, the full 
	background process will be turned on at the first access.  
	This feature is useful when you try to DFORMAT a corrupted 
	tape which causes the DAT drive to go wild in search of the 
	lost EOD.

Tips

	This command does not cause any severe operational problem even 
	if you use it inappropriately.  If you disable the nice DATMAN 
	feature of automatic mounting the tape volume using this command, 
	you may have to wait longer when you first access the tape 
	drive.  The File Engine does not initiate the volume mount 
	operation until you issue a command to access the drive.

	The process parameter can be set when the DATMAN File Engine 
	is first installed with the "-pn" option.

				      79




DPURGE						  Discard blocks of data
________________________________________________________________________


Syntax

	DPURGE  [  blockno  ]  [  -Y  ]

Parameters

       blockno:	the block number of a catalog
		
	    -Y:	suppresses confirmation (useful in batch files)

Function

	This command discards blocks of data from the tape.  It can 
	do so only toward the end of the tape.  That is, you cannot 
	delete in the middle of a data area on the tape to re-use it. 
	The deletion must come at the end, in effect, shortening the 
	existing data area on the tape.  On a DATMAN tape, you can 
	discard blocks of data in such a way that a valid catalog 
	becomes the last data before the DATMAN end marker.

	This command specifies the catalog data which will become the 
	latest catalog on tape.  If there is not catalog data at the 
	specified position, then the first catalog data closer to the 
	beginning of the tape will be selected.

	If you do not specify blockno then the current catalog (the 
	one which is mounted for this session) will become the most
	recent catalog after the purge.

Caution

	When you perform an ordinary delete operation on a DATMAN file, 
	the file data remain in place. On the other hand, the DPURGE 
	command is permanent (at least in theory).  Once you "DPURGE"
	a portion of tape, you may not be able to recover 100% of what 
	has been purged.  Contact Pixelab for such a recovery operation.

Tips

	You can consider this command a form of the DMOUNT or DWARP 
	command.  While the other two commands act on a temporary 
	basis, the effect of this command is permanent.  Therefore, 
	it may be advisable to use the DMOUNT command first.  After 
	you examine the state of the tape volume at that point, you 
	can use the DPURGE command without a parameter to make that 
	state permanent.

See Also

	DMOUNT, DWARP

				      80




DPUTEOD						    Write the end marker
________________________________________________________________________


Syntax

	DPUTEOD  [  blockno  ]


Parameters

    blockno:	the block number where the end marker will be written



Function

	This command is designed to place an EOD mark at the end of 
	the tape as an intermediate step to repair a badly damaged 
	DATMAN tape.  In order to handle unusual cases, this command 
	allows you to place the EOD marker at any block position the 
	drive can currently position (not just at the real end of the 
	current run of data in the partition).  Unless you specify the 
	new EOD position exactly after a valid catalog data area, an 
	additional repair operation (dformat, drepair, dpurge) will 
	be required after the dputeod command. You are strongly urged 
	to leave this command alone.


Caution

	This command is provided for an expert of DATMAN operations 
	to insert an EOD mark at the end of a damaged tape which lost 
	the EOD mark.  In most cases, without an EOD, most DAT drives 
	enter a never-ending quest for the lost EOD (usually a single 
	attempt takes 3 minutes).
	
	Once an EOD marker is present, the DAT drive will behave more 
	sanely to facilitate further repair operations.
	















				      81




DREAD					      Read and show a data block
________________________________________________________________________


Syntax

	DREAD  [  blockno  ]


Parameters

       blockno:	the block number to examine
		-1 to read the current block without a seek


Function

	This command allows you to read the contents of any data block 
	on the tape.  It is strictly for diagnostic purposes (or for 
	exploration of the DATMAN tape by an inquisitive user).

	Once you specify the block number with this command, the 
	subsequent DREAD command without an argument will automatically 
	read the next block.


Tips

	This command provides a quick-and-dirty mechanism to analyze 
	the data blocks on the tape.

	If you are interested in retrieving raw data on a DAT tape in 
	detail, use the DGETBLK or DGETBLKX commands which create a 
	data file on your disk.
	
See Also

	DGETBLK, DGETBLKX

















				      82




DREPAIR					     Fix a corrupted DATMAN tape
________________________________________________________________________


Syntax

	DREPAIR  [  startblk  [  catblk  ]  ]

Parameters

     startblk:	the block number where the scan starts

       catblk:	the block number where the new catalog will be written

Function

	This command reconstructs a catalog record by scanning a region 
	of tape.  The first parameter specifies the block number of the 
	starting block.  It can be a block number within a previous 
	catalog's blocks.
	
	The second parameter specifies where the reconstructed catalog 
	will be recorded (discarding all blocks on or beyond that 
	position).  If the second parameter is omitted, the most 
	desirable position will be automatically searched for and 
	reported to the user for approval.

	The command mounts the volume (if necessary) using the catalog 
	on or before the block number specified as the first parameter.  
	After the user's final approval, the command will begin the 
	scanning operation.  While it is scanning the tape for file 
	entries and other file operations, it modifies the catalog kept 
	in the cache buffer exactly as normal tape operations.  At the 
	end of scanning, the catalog in memory should be identical to 
	the one which was lost.  The final step of this command 
	operation is to write the reconstructed catalog to the 
	designated block position (as if the catalog were flushed).
	The only difference would be a newer date or time value for 
	the reconstructed catalog.

	The most common problem in DATMAN operation is a missing 
	catalog.  It usually happens as a result of a premature system 
	power down or reboot.
	
	When a DATMAN tape undergoes a series of changes (usually file-
	creation operations and directory operations), the catalog data 
	is kept in a cached buffer area in memory.  When the system is 
	shut down before the modified catalog in cache has been success-
	fully written on the tape, the last portion of tape will contain 
	files which are not referenced in a catalog.  Remember, all write 
	sessions must end with a catalog flush in the DATMAN operation.  
	Since the DATMAN File Engine records all pertinent volume modifi-
	cation operation on-the-fly, almost all data written to the tape 
	is recoverable by scanning the area beyond the last valid catalog.

				      83




DREPAIR (continued)			     Fix a corrupted DATMAN tape
________________________________________________________________________


	The basic recovery strategy is as follows:

	   1.	mount the volume based on the latest VALID catalog
	   2.	scan the tape beyond the catalog for any changes
	   3.	save the reconstructed catalog to the final position


Caution

	Since this command necessarily involves tape write operations, 
	it carries a risk of doing further damage to the tape.  While 
	the DREPAIR command was written with great care (and months of 
	research), it is NOT an absolute tool with a guarantee to work 
	in all cases.  There are just so many different ways a DATMAN 
	tape can be corrupted. Therefore, you are urged to protect your 
	valuable data before you use this command.  There are other 
	powerful commands in DATMAN to retrieve almost any data from 
	the tape before you attempt to repair.  If your data on a 
	damaged tape is extremely important, you should examine the 
	tape using DSCANFILE first.  Then, you should retrieve all 
	of the files and data using the DGETFILE (one file at a time) 
	or DGETDIR (multiple files).  These commands all work in 
	read-only mode.


Tips

	As the name implies the DREPAIR command is the command to 
	remember when you suspect a corrupted tape.  You can run this 
	command without argument.  In most cases, the command provides 
	a suggestion for the next command (and its paramters).

	If the DREPAIR command seems too complicated for you, you may 
	choose the DPURGE command which is much simpler to use.  
	Moreover, it is not as sensitive to unusual damages which 
	might require special techniques.  However, DPURGE will not 
	reconstruct any catalog.  Instead, it cuts off any ill-formed 
	portion of the tape immediately after a robust catalog.













				      84




DRMODE						   To set read-only mode 
________________________________________________________________________


Syntax

	DRMODE  [  0  |  1  ]


Parameters

	    0:	read-only mode disabled (enable write)

	    1:	read-only mode enabled (no write)


Function

	This command switches the software-controlled read-only mode.  
	When you set read-only mode, the DATMAN File Engine will not 
	allow any program to modify the tape contents.  It can be 
	thought of as a software write-protect tab.
	
	If you load the DATMAN File Engine with the "-r" option, 
	this command can remove the read-only restriction.


Caution

	There are three mechanisms to prevent you from writing to 
	the tape.

	    1.	the write-protect tab on the cartridge
	    2.	user-selected read-only mode (this command)
	    3.	a time-Warp situation.  (See DWARP command)

	This command cannot override other write-protect conditions.


Tips

	The read-only mode can be set when the DATMAN File Engine 
	is first loaded with the "-r" option.












				      85




DSCANBLK					    Scan for data blocks
________________________________________________________________________


Syntax

	DSCANBLK  [  startblk  [  endblk  ]  ]


Parameters

     startblk:	block number of the beginning block.  If omitted, 
		the block of the current catalog is used.

       endblk:	block number of the last block.  If omitted, the end 
		of data is used.


Function

	This command scans the tape (partition 0) for the lowest level 
	data structures.  Data blocks will be shown with the block size. 
	Since no interpretation of data is carried out by this command, 
	any DDS tape (including non-DATMAN format) can be examined by 
	this command.


Caution

	A DDS tape is made of up to two partitions.  Each partition 
	contains one data area which is terminated by an EOD (end of 
	data) mark.  A data area consists of data blocks, filemarks, 
	and setmarks.  Data blocks store data of various sizes, but 
	filemarks and setmarks do not have data in them.  DATMAN limits 
	the size of data blocks to 16384 bytes.


Tips

	There are several levels of scan commands available in DATMAN:  
	DSCANCAT, DSCANFILE, DSCANMARK, and DSCANBLK.














				      86




DSCANCAT					       Scan for catalogs
________________________________________________________________________


Syntax

	DSCANCAT  [  startblk  [  endblk  ]  ]


Parameters

     startblk:	block number of the starting block.  If omitted, 
		the block of the current catalog

        endblk:	block number of the ending block.  If omitted, the 
		end of data is used.


Function

	This command scans the tape for catalogs.  The range of scan 
	is specified by the optional arguments.

	It does not depend on a successful mounting process.  It 
	reports all the catalog records found on the tape and checks 
	the linkage in order to identify any "ghost catalogs".

	The output format of this command is the same as that of the 
	DHISTORY command.  The DHISTORY command uses a catalog summary 
	read at the volume mounting process.  While the DHISTORY 
	command is quicker, the SCANCAT command provides far more 
	accurate information with regard to the current tape status.  
	DSCANCAT also provides vital diagnostic information needed for 
	repair work.


Caution

	The "host catalog" mentioned above is a catalog recorded before 
	the last DFORMAT or DPURGE command was performed.  In theory, a 
	ghost catalog should be located beyond the EOD mark.  When the 
	EOD mark is corrupted, such erroneous blocks start to surface.


Tips

	The DSCANCAT command is the first tool you should run when you 
	encounter any tape problem.  Usually, it suggest how to run the 
	DREPAIR command to reconstruct the missing or corrupted catalog 
	data.There are several levels of scan commands available in 
	DATMAN:  DSCANCAT, DSCANFILE, DSCANMARK, and DSCANBLK.




				      87




DSCANFILE						  Scan for files
________________________________________________________________________


Syntax

	DSCANFILE  [  startblk  [  endblk  ]  ]


Parameters

      startblk:	block number of the first block.  If omitted, the 
		block of the current catalog is used.

        endblk:	block number of the last block.  If omitted, the end 
		of data is used.


Function

	This command scans the tape for file data and other records 
	of activities on the tape files and directories and lists them.  
	The range of the scan is specified by the optional arguments.  
	The default range is the entire tape.
	
	This command does not depend on a successful mounting.  Rather, 
	it reads the blocks on the tape and extracts the DATMAN file 
	data structure directly.  It reports files and catalog data by 
	the order it is stored.  This provides vital information for 
	retrieving files from a corrupted tape which fails catalog 
	mounting.


Tips

	There are several levels of scan commands available in DATMAN.  
	DSCANCAT is the highest level scan, and DSCANBLK is the lowest.

	DSCANCAT	scans for catalogs
	DSCANFILE	scans for files
	DSCANMARK	scans for blocks and marks
	DSCANBLK	scans for blocks and marks

	Whereas DSCANCAT and DSCANFILE do not work with non-DATMAN 
	tapes, DSCANMARK and DSCANBLK can examine a tape of any format.










				      88




DSCANMARK						  Scan for marks
________________________________________________________________________


Syntax

	DSCANMARK  [  blockno  ]


Parameters

      blockno:	the starting block number



Function

	This command scans the tape for filemarks and setmarks.  It 
	provides a quick view of a DDS tape with unknown block 
	structures, or a DATMAN tape with severe damage.


Tips

	All valid DATMAN catalog date are written in a group of blocks 
	preceded by a setmark.  Use the DSHOWCAT command after 
	identifying the position of possible catalog data.  A DATMAN 
	tape should always contain only one endmark (not the same as 
	the EOD mark) which is four consecutive filemarks.
	
	If a filemark is followed by more blocks of data, the tape is 
	likely severely damaged.  You should use the DPUTEOD command 
	in this situation.
	





















				      89




DSELECT					        Select the current drive
________________________________________________________________________


Syntax

	DSELECT  [  drive:  |  datindex  ]


Parameters

       drive::	the DATMAN drive using DOS drive letter (e.g., E:)

     datindex:	the DATMAN drive index (starting 0)
		0 = the first drive,
		1 = the second drive


Function

	The DATMAN.EXE program operates on only one DATMAN drive at a 
	time.  This command allows you to switch the current DAT drive.  
	If you omit the argument, then all the DAT drives installed 
	will be listed and the current drive marked.


Caution

	This command is useful only when you have two or more DATMAN 
	drives installed.  This is supported only by the Professional 
	Edition.  It cannot reassign the logical drive letter which 
	has been assigned to each DATMAN drive determined at the time 
	the DATMAN File Engine was installed (see the -v option of 
	DATMANFE.EXE).


Remark
	
	This command is available in the Professional Edition only.
















				      90




DSHOWCAT					    Display catalog data
________________________________________________________________________


Syntax

	DSHOWCAT  [  blockno  ]


Parameters

      blockno:	the block number of the first data block of catalog 
		data to display


Function

	This command displays statistics about a designated block of 
	catalog data on a DATMAN tape.  If the block specified does 
	not conform to the DATMAN format, an error results.  If the 
	block number is omitted, the catalog of the current volume 
	mounted is displayed.


Tips

	Use DHISTORY, DSCANCAT, DSCANFILE, and DSCANMARK to list the 
	blocks which contain catalog data.



























				      91




DSHOWFILE					    Show file statistics
________________________________________________________________________


Syntax

	DSHOWFILE  filename


Parameters

    filename:	the valid name of a file on the DATMAN tape


Function

	This command displays various aspects of the file specified 
	in the argument.  This command is most useful in obtaining a 
	list of all previous versions of a file.  This includes a file 
	that was once renamed.  The list shows the date it was written 
	on the tape as well as the block number of each version.

	If, for some reason, the data in the cached catalog in memory 
	is corrupted, you may use this command to determine the block 
	number where the contents of the file can be located.


Caution

	Since the drive name is always fixed (or can be selected by 
	DSELECT), it can be omitted.  It is recommended that the 
	filename be specified with a backslash although relative 
	path is permitted.


Tips

	Once the block position of a file is located using this command, 
	you may retrieve the file using the DGETFILE command.  When you 
	have a "block synchronization" error, you may need to run 
	"DSCANFILE" in a nearby region to identify the actual block 
	position.













				      92




DSTATUS				       Display DATMAN File Engine status
________________________________________________________________________


Syntax

	DSTATUS  (no parameters)


Parameters

	None


Function

	This command displays the status of the DATMAN File Engine as 
	well as the statistics on the current tape if it is successfully 
	mounted.  It also displays the current DATMAN parameters.

	This command returns the following exit codes when invoked in 
	single-command mode (directly invoked in the DATMAN.EXE command 
	argument).

		Exit Code	Condition
		-------------------------------------------------
		  0	Volume mounted, ready for read and write
		  1	Volume mounted, read only mode
		  2	Volume mounted, no more room
		  3	Volume mounted, write-protect tab on cartridge
		  4	Tape present, volume being mounted (busy)
		  5	Tape present, drive busy (e.g., LONG-ERASE)
		  6	Tape present, background mount failed once
		  7	Tape not present
		 other	Unspedified error




















				      93




DWARP				       Reconstruct previous volume state
________________________________________________________________________


Syntax

	DWARP  [  mm-dd-yy  [  hh:mm[:ss]  ]  ]


Parameters

     mm-dd-yy:	month, date, and year separated by hyphens used as 
		a reference for which catalog to mount

     hh:mm:ss:	hour, minute, and second separated by colons used 
		as a time reference for which catalog to mount.  
		If omitted, the end of the day (23:23:59) is assumed.


Function

	This command selects the catalog to be mounted for operations.  
	The name came from the time-warping concept of a "time machine".  
	This command lets you time-travel to the past of the DATMAN 
	tape.  It uses a time/date reference to determine the catalog 
	to perform a volume mount.  The time reference is specified by 
	a date parameter and an optional time specified.

Caution

	The time reference need not be the exact date or time when a 
	catalog is written.  Rather, whatever catalog that existed on 
	the tape as the latest at the specified date and a time will 
	be chosen.
	
	Unless you choose the latest catalog on the tape, the current 
	session will operate in READ-ONLY mode (a warning message will 
	display).  If the catalog is the most recent one and you get 
	this message, you must perform repair operations (DSCANCAT 
	followed by DREPAIR) so that you can write files on the tape 
	again.
	
	After a DMOUNT or DWARP operation, you can remove the read-only 
	status only by the DPURGE operation which will discard all data 
	blocks beyond the current catalog, or perform DWARP for the last 
	or most current catalog on the tape.

Tips

	The DMOUNT command and the DWARP command achieve the same goal 
	to select a catalog on the tape and bring back the state of the 
	tape volume for read access.  The DMOUNT uses the block number 
	to select the catalog, whereas the DWARP uses the date and time 
	to do the same thing.

				      94




DWIPE						    Erase beyond the EOD
________________________________________________________________________


Syntax

	DWIPE  (no parameters)


Parameters

	None


Function

	This command initiates a “LONG-ERASE” opeartion starting at 
	the current EOD position.  It will clear any existing data 
	toward the end of the tape.  It always flush the catalog data 
	if that has not been done.  The actual erase operation will 
	be carried out by the drive by itself.  Therefore, this command 
	does not wait for the tape drive to complete the operation.
	
	The LONG-ERASE operation usually takes about 70 minutes on an 
	HP C1533A drive for a nealy empty 90m tape (other drives 
	usually take 20% to 100% longer).


Note
	This command requires that the tape colume is properly mounted, 
	and in read/write access mode.  The DFORMATX command also 
	initiates the same LOG-ERASE operation immediately after a 
	regular format procedure has completed.
	
	During a LONG-ERASE operation (with the LED indicator flashing), 
	any attempt to access the DATMAN volume will fail.  You can 
	terminate a LONG-ERASE operation using DATMAN.EXE's DRESET 
	command.

















				      95




End / Exit / Q / Quit				    Terminate DATMAN.EXE
________________________________________________________________________


Syntax

	END   (no parameters)
	EXIT  (no parameters)
	Q     (no parameters)
	Quit  (no parameters)


Parameters

	None


Function

	Any of the four commands listed terminates the DATMAN.EXE 
	program.


































				      96




ErrorLevel					  The Uniform Exit codes
________________________________________________________________________


Uniform Exit codes

	Sophisticated users often write batch programs that make 
	decisions based on the result of program execution.  The exit 
	code reported to the command processor (as ErrorLevel) is 
	assigned uniformly throughout the DATMAN family utilities 
	in order to assist batch programs.


What a success means...

	Whereas the meaning of non-zero values (error) are the same 
	for any of the utility programs, the error code of zero (0) 
	signifies the completion of successful operation for the 
	intended purpose of the particular command with the switches.

	As the purpose of various commands are different, the 
	situations which result in success (errorlevel == 0) vary 
	accordingly.

	For example, the command, "LOADASPI -U" returns 0 when it 
	succeeds (it found the LOADASPI module loaded previously).  
	On the other hand, the same program with the "-S" switch 
	reports 0 when it does NOT find a LOADASPI module.


      Program and switches Code Condition
      ------------------------------------------------------------------
      LOADASPI (-s)          0  No ASPI manager is present
      LOADASPI (to install)  0  Successfully loaded the ASPI manager
      LOADASPI (-u)          0  Successfully uninstalled previous LOADASPI
      DATMANFE (-s)          0  DATMANFE ready to load
      DATMANFE (to install)  0  Successfully loaded DATMANFE
      DATMANFE (-u)          0  Successfully uninstalled DATMANFE
      DFLUSH                 0  Catalog flush complete
      DEJECT                 0  Eject complete
      DATMAN DFLUSH          0  Catalog flush complete
      DATMAN DEJECT          0  Eject complete
      DATMAN DFORMAT         0  DFORMAT complete (ready for access)
      DATMAN DFORMATX        0  DFORMATX complete (likely to be busy)
      DATMAN DPURGE          0  DPURGE  complete (ready for access)
      DATMAN DSTATUS         0  Volume mounted, files ready for access
      DATMAN DPURGE          0  DPURGE  complete (ready for access)
      DATMAN DSTATUS         0  Volume mounted, files ready for access







				      97




ErrorLevel (continued)				  The Uniform Exit codes
________________________________________________________________________


Exit codes listed by ErrorLevel value


	ErrorLevel  Condition
       ----------------------------------------------------------
	   0    Success (depends on the context)
	   1    Volume mounted, read only mode
	   2    Volume mounted, no more room
	   3    Volume mounted, write-protect tab on cartridge
	   4    Tape present, volume being mounted (busy)
	   5    Tape present, drive busy (e.g., DFORMATX)
	   6    Tape present, background mount failed once
	   7    Tape not present

	  10    ASPI manager resident (loaded by LOADASPI)
	  11    ASPI manager resident (loaded by CONFIG.SYS)
	  12    DATMANFE already present
	  13    The DATMAN.EXE program is still running
	  14    The current drive is on a DATMAN drive

	  20    Can’t access the ASPI file
	  21    Can’t find an ASPI manager in memory
	  22    Can’t find a LOADASPI module in memory
	  23    Can’t find a DATMANFE in memory
	  24    Can’t find a DAT drive
	  25    Insufficient memory
	  26    All drive letters used
	  27    Write failed due to write-protect mode

	  30    The ASPI module returned an error condition
	  31    Unspecified error by the file engine (DATMANFE)
	  32    Uninstall failed (another TSR on top)
	  33    Aborted by user
	  34    Illegal commmand parameter
	  35    Invalid DOS version
	  36    Miscellaneous error
	  37    Resident DATMAN File Engine version mismatch














				      98




ErrorLevel (continued)				  The Uniform Exit codes
________________________________________________________________________


Exit codes listed by utility programs

      Program and switches Code Condition
      ------------------------------------------------------------------
      LOADASPI (-s)          0  No ASPI manager is present
      LOADASPI (-s)         10  ASPI manager resident (via LOADASPI)
      LOADASPI (-s)         11  ASPI manager resident (via CONFIG.SYS)
      LOADASPI (-s)         35  Invalid DOS version

      LOADASPI (to install) 10  ASPI manager resident (via LOADASPI)
      LOADASPI (to install) 11  ASPI manager resident (via CONFIG.SYS)
      LOADASPI (to install) 20  Can’t access the ASPI file
      LOADASPI (to install) 25  Insufficient memory
      LOADASPI (to install) 30  ASPI module returned an error condition
      LOADASPI (to install) 34  Illegal commmand parameter
      LOADASPI (to install) 35  Invalid DOS version
      LOADASPI (to install) 36  Multiplex Interrupt Conflict

      LOADASPI (-u)         22  Uninstall failed, LOADASPI is not present
      LOADASPI (-u)         32  Uninstall failed (another TSR on top)
      LOADASPI (-u)         35  Invalid DOS version


      Program and switches Code Condition
      ------------------------------------------------------------------
      DATMANFE (-s)         12  DATMANFE present  (install would fail)
      DATMANFE (-s)         21  No ASPI manager (install would fail)
      DATMANFE (-s)         24  No DAT drive    (install would fail)

      DATMANFE (to install) 12  Failed, DATMANFE already present
      DATMANFE (to install) 21  Failed, cannot find ASPI manager
      DATMANFE (to install) 24  Failed, cannot find DAT drive
      DATMANFE (to install) 25  Failed, insufficient memory
      DATMANFE (to install) 26  Failed, all drive letters used
      DATMANFE (to install) 31  Unspecified error by DATMANFE
      DATMANFE (to install) 34  Illegal commmand parameter
      DATMANFE (to install) 35  Invalid DOS version

      DATMANFE (-u)         13  Uninstall failed, quit DATMAN.EXE first
      DATMANFE (-u)         14  Uninstall failed, current drive
      DATMANFE (-u)         23  Uninstall failed, DATMANFE is not present
      DATMANFE (-u)         31  Unspecified error by DATMANFE
      DATMANFE (-u)         32  Uninstall failed (another TSR on top)








				      99




ErrorLevel (continued)				  The Uniform Exit codes
________________________________________________________________________


Exit codes listed by utility programs (continued)


      Program and switches Code Condition
      ------------------------------------------------------------------
      DATMAN DSTATUS         1  Volume mounted, read only mode
      DATMAN DSTATUS         2  Volume mounted, no more room
      DATMAN DSTATUS         3  Volume mounted, write-protect tab set
      DATMAN DSTATUS         4  Tape present, volume being mounted (busy)
      DATMAN DSTATUS         5  Tape present, drive busy (e.g., DFORMATX)
      DATMAN DSTATUS         6  Tape present, background mount failed once

      DATMAN (note *1)       7  Tape not present
      DATMAN (note *1)      13  Cannot run DATMAN.EXE from within
      DATMAN (note *1)      23  DATMANFE not present
      DATMAN (note *1)      31  Unspecified error by DATMANFE
      DATMAN (note *1)      33  Aborted by user
      DATMAN (note *1)      34  Illegal commmand parameter
      DATMAN (note *1)      36  Miscellaneous error
      DATMAN (note *1)      37  Resident File Engine version mismatch

      DATMAN (note *2)      27  Write failed due to write-protect mode

      DATMAN (others)       --  ErrorLevel value is undefined

 Note
	*1: DSTATUS, DFLUSH, DEJECT, DFORMAT, DFORMATX, or DPURGE
	*2: DFORMAT, DFORMATX, or DPURGE



Tips for batch files

	 Purpose                  Operations      ErrorLevel testing
	----------------------------------------------------------------
        Check the presense of     LOADASPI -s     == 0  (no ASPI)
        an ASPI manager before    LOADASPI -s     == 10 (LOADASPI present)
        running LOADASPI          LOADASPI -s     == 11 (via CONFIG.SYS)

        Check before loading      DATMANFE -s     == 0  (ready to load)
        DATMAN file engine
        
        Test the presence of      DATMANFE -s     == 12 (present)
        DATMAN file engine        DATMAN DSTATUS   < 10 (present)

        Test for file access on   DATMAN DSTATUS   == 0  (OK read/write)
        DATMAN volume             DATMAN DSTATUS   == 1  (Read-only)
                                  DATMAN DSTATUS   == 2  (volume full)
                                  DATMAN DSTATUS   == 3  (write-protect)


				     100




=========================================================================
CHAPTER 6.   ADVANCED TOPICS
=========================================================================


    The DDS Format

	A newcomer to a tape storage system may wonder why tape-based 
	storage systems are so awkward to use.  The primary reason lies 
	in the characteristics of the tape technology.

	One of the major differences between the DDS tape format and
	sector-based media, such as floppy and hard disks, is that the 
	DDS tape can have only one contiguous data area in a tape 
	partition.  Within the data area, you can make a number of 
	data blocks and optional filemarks and setmarks.
	
	In sector-based media, you can randomly pick and write any 
	sector without affecting other sectors on the media.  On the 
	other hand, on DDS tape as in most other tape media, while 
	you can seek and access any data within the data area, you 
	cannot modify the contents of the block without discarding 
	all the data beyond the block position being newly written.
	You can "erase" and overwrite new data only at the very last 
	block if the rest of the data blocks must be preserved.


    The DATMAN File System

	In the DDS tape format, you are given little capability of 
	modifying the data already written.  Many tape backup systems 
	use one of the partitions to maintain the catalog information.  
	The catalog can be altered in its entirety since the alteration 
	does not affect the data on the other partition.  The advantage 
	of such a scheme is that frequent updates of the catalog data 
	do not consume any additional space since the same space is 
	reused over and over again.
	
	The DATMAN file system, however, does not maintain the primary 
	copy of the catalog data in the second partition.  An optional 
	backup (duplicate) copy is stored in this second partition.  
	DATMAN appends the latest catalog data at the end of the main 
	partition along with other file data.  The disadvantage of this 
	scheme is that it consumes space for every update since the 
	space for the old catalog area is not available for overwriting.
	
	On the other hand, the advantage of this scheme is that no 
	parts of the existing data are ever subjected to a possible 
	catastrophe.  When storage space is recycled by overwriting, 
	there is always a risk of losing the old data along with the 
	new.




				     101




	Thus, the highest degree of data security and integrity on the 
	DDS tape are achieved by the DATMAN operating principle which 
	is that new data are always appended at the end of the data 
	area.  This principle applies not only for the catalog data 
	but also for the contents of files.  When an existing file is 
	deleted, the old file data remain in place (along with the old 
	directory information in the catalog area).  The new catalog 
	is then appended.  This scheme provides DATMAN with the unique 
	capability of unconditional recovery of any file or directories 
	created on the tape.


    Anatomy of the DATMAN Tape

	As a way to group tape-write activities that either modify or 
	write files on the DATMAN tape system, we incorporate the 
	concept called "session".  On the tape, a session spans from 
	the position immediately after a catalog to the end of the next 
	catalog.  Usually, a session consists of a number of files 
	written and a catalog which includes not only the directory 
	data for the newly added or modified files, but also for all 
	the previously written and unmodified files.  That is, each 
	catalog represents the entire files on tape as they exist when 
	the catalog is written.  Typically, the catalog data grows 
	gradually from less than 40KB to a few MB as you write more 
	files on the tape.





























				     102




	The following diagram illustrates the two partitions found on 
	a DATMAN tape.  Partition 1, at the beginning of the tape, 
	contains an optional backup catalog.  This catalog is used 
	to store a set of catalog data for added security.  It is 
	usually written when an EJECT command is executed.  Since 
	this is a user option, DATMAN does not rely on its existence. 

	Partition 0 contains the data-write sessions and each of the 
	session catalogs.


			Partition 1           	 Partition 0
		    +================+        +================+
		    |   Catalog X    |        |  Head Catalog  |
		    +===== EOD ======+        +================+
		    |                |        |    File data   |
		    |                |        |    Session 1   |
		    +===== EOP ======+        +----------------+
		                              |    Catalog 1   |
		                              +================+
			                  {   |    File data   |
		                          {   |    Session 2   |
			      Session 2   {   +----------------+
			                  {   |    Catalog 2   |
			                  {   +================+
		                              |                |
		                                    . . .
			                      +================+
		                          {   |    File data   |
		              most recent {   |    Session N   |
		                Session   {   +----------------+
		                          {   |    Catalog N   |
		                          {   +================+
		   DATMAN end marker ----->   +################+
		                              +====== EOD =====+
	       	                              |                |
	       	EOD: end of data              |                |
		EOP: end of partition         +=  EOP/EOM/EOT =+
		EOM: end of media
		EOT: end of tape














  
				     103




    A Session from User's Perspective

	A session is a sequence of tape access activities that involves 
	changes in tape data.  If the tape access involves only reading 
	the directories and files, then no changes will be made to the 
	tape and no session is recorded on tape.  Therefore, all 
	sessions on tape are necessarily write sessions.
	
	In the traditional tape backup formats, catalogs contain 
	"forward references" in which a catalog includes the directory 
	related data and the position on the tape where the file contents 
	are stored.  That is, the catalog acts as a pre-declaration of 
	information that follows it.  This is possible only because the 
	extent of the write activities are fully defined at the time of 
	initiation of the backup activities.
	
	In DATMAN, the tape activities are on-going events and there 
	is no predictable ending.  Therefore, the catalog data is 
	appended at the end of each session.  For improved read-access 
	performance, the catalog always contains full directory 
	information as one coherent set of data.  All the positional 
	references made in the catalog data are "backward references"


    Writing Catalog Data

	When a file is created on the tape, DATMAN saves the file data 
	immediately.  But the directory information for the catalog is 
	written to a cache buffer.  This cache buffer is not flushed, 
	or written to tape, immediately when the file data is written.  
	Therefore, the longer the session lasts, the greater risk you 
	expose for a possible catastrophe (system crash, power failure).  
	On the other hand, it is not practical to write the entire 
	catalog data at the completion of every new file creation.  
	For example, if you were to execute a series of MS-DOS COPY 
	and XCOPY commands from a batch file, you would not like to 
	see the catalog written to the tape at least until the batch 
	processing has been completed.


    Automatic Flushing by Built-in Timer

	DATMAN employees a delayed catalog update scheme which kicks 
	in at a preprogrammed interval.  The default time out interval 
	is set to 30 seconds.  That is, if no file read or write 
	activities occur in 30 seconds, then a built-in timer in the 
	DATMAN File Engine will initiate a background cache flush 
	operation.  You can increase the safety factor by shortening 
	the delay period which reduces the "unstable" period.  Or, if 
	an application is constantly and regularly updating information 
	on a tape, you can set the delay to 10 minutes or even one hour.
	For more information, see the explanation of the DATMANFE.EXE 
	options and parameters.


				     104




	Writing the catalog data in cache memory to tape may take from 
	a mere 10 seconds at first to a few minutes as the number of 
	files grows.  Thanks to DATMAN's sophisticated background 
	execution, the user should hardly notice any delay in the 
	foreground task except to observe the flickering front panel 
	lamps.  The user, however, should be aware of the background 
	tape activities and not turn off the power or reboot the 
	system before the LEDs stop flickering.


    Maintaining a History

	While the space occupied by the DATMAN catalog may consume 
	typically 5% of the usable storage space on tape, the benefit 
	is enormous.  Besides the inherent superiority in data integrity, 
	the availability of all the previous copies of catalog data 
	allows you to reconstruct the exact state of the drive at a 
	given date and time.
	
	This capability does not preclude the use of so-called 
	"incremental" or "differential" backup strategy employed in 
	other disk backup utility software.  In most other backup 
	software, reconstruction of a given past state of a volume 
	requires considerable amount of dispensable temporary storage 
	space in disk and time consuming reconstruction procedures.
	
	The HISTORY command provides a list of all catalogs on the tape.  
	By moving back to any of those catalogs, you are presented a 
	picture of the state of your files at any given time on the 
	tape.  Using the WARP command, you are able to return to any 
	point in time and recreate your files as they existed.

	If you designate a DATMAN tape cartridge for the daily backup 
	purpose (e.g., by "COPY /m /s"), a file which undergoes frequent 
	changes overwrites its predecessor many times over.  By the 
	SHOWFILE command, you can list all of the earlier versions of 
	such files.  You can retrieve any such files.  In other words, 
	DATMAN provides a sophisticated version control feature.


    Cache Memory Allocation

	DATMAN incorporates extensive use of cache memory in order 
	to boost file access performance.  The cache memory can be 
	allocated from expanded memory (EMS), extended memory (XMS), 
	or conventional memory (the main 640 KB area).  The memory 
	source and the amount of memory can be selected by the "-e",
	"-x", and "-c" options on the DATMANFE.EXE command.  The 
	default behavior of DATMAN is to check the three sources of 
	memory in the order of efficiency and use the best that is 
	available.  It checks EMS first, XMS next, and finally 
	conventional memory.  It is strongly recommended to set up 
	the EMS memory system using EMM386.SYS or another memory 
	management program such as QEMM.

				     105




	The cache memory size needed by DATMAN depends on the 
	directory size (32 bytes per file).  With the default 1 MB 
	cache in EMS, DATMAN can maintain up to 30,000 files in memory.  
	If the amount of memory is less than one quarter of the whole 
	directory size, the performance penalty may become unacceptable.


    Loading and Unloading DATMAN

	The DATMAN File Engine (DATMANFE.EXE) can be loaded and 
	unloaded as many times as you want.  Like many other TSR 
	programs for MS-DOS, it cannot unload its memory-resident 
	copy if some other program has overwritten any of the interrupt 
	vectors used by DATMAN.  The TSR installation and uninstallation 
	in the MS-DOS environment are very much like stack operations 
	(Last-In-First-Out).
	
	If DATMANFE.EXE determines that the machine state is not 
	suitable for uninstallation, unloading will not take place.  
	You should examine the machine state using the MS-DOS MEM 
	command, or similar utility, remove the offending TSR program, 
	and try again.
	
	If any of the interrupt vectors used by the DATMAN File Engine 
	are redirected by another resident routine, unloading will not 
	take place.  The interrupt vectors must be topmost in the chain. 
	In such a case, you must remove the overriding module before you 
	and uninstall the File Engine module.


    The Volume Letter

	The DATMAN File Engine chooses the volume letter automatically 
	if you do not specify one; the first unused drive letter will 
	become the default DAT drive.  If you choose an existing drive 
	(such as the drive letter already assigned to your CD-ROM) by 
	a "-v" option, then the existing drive will become inaccessible 
	by DOS until you uninstall the DATMAN drive.  The "DATMANFE -s"
	command conveniently lists all of the drive letters currently 
	available for DATMAN use.


    The Number of Open Files

	The DATMAN File Engine does not allow you to open two or more 
	files in write/append mode.  Only one file can be opened for 
	modification at one time.  However, you can choose the maximum 
	number of open files (all but one is for read-only) at the 
	invocation time using the "-f" option.






				     106




    Tape Capacity

	The user usually finds out the amount of remaining tape capacity 
	by an MS-DOS DIR command as with a hard or floppy disk.  An 
	application program obtains the capacity value through an MS-DOS 
	call.  In either case, the DATMAN File Engine reports the 
	remaining free space to the MS-DOS kernel.
	
	DATMAN guarantees that the number always has exactly six zeros 
	(counting it by exact million bytes) for easy recognition by 
	the user.
	
	The File Engine reports twice the number of bytes reported by 
	the tape drive (which always uses the native capacity after 
	compression) when the data-compression feature is turned on 
	(by default) for DDS-DC and DDS-2 drives.  The compression 
	ratio of 2 is a commonly cited number by most DDS tape 
	manufacturers.  In our experience, we normally achieve a 
	compression ratio of 1.6 - 1.8.


    Automatic Door Lock

	At the first instant the contents of a tape are modified, 
	DATMAN disables the tape eject button on the front panel and 
	re-enables it when the catalog is written at the end of the 
	session.


    Single-Drive DAT System

	Although many users start with a one-drive tape system, most 
	will realize a dual-drive system is highly desirable.  This 
	concept became evident the day IBM PC was introduced with a 
	pair of floppy drives.  Once the user realizes the equivalence 
	of the DATMAN tape system with floppy disks, the need becomes 
	obvious to him.  Due to the physical characteristic of the DDS 
	technology, recycling the space vacated by a deleted file is 
	not usually possible.  Therefore, editing a tape with partially 
	deleted contents requires a second drive.


	With the floppy drive, you may opt to copy one diskette to 
	another using a single-drive system.  A similar effort of 
	copying a tape cartridge to another with a single-drive system 
	is not an effort one can enjoy.  Since the ratio of the data 
	volume to the available temporary buffer for the copy operation 
	is so large in the tape system, you need a dual tape system for 
	routine duplication of tape cartridges.






				     107




    DATMAN-PRO for Multiple DAT Support

	The DATMAN Standard Edition (DATMANFE.EXE) supports only one 
	DAT drive.  For a multiple-DAT drive configuration, you need 
	the Professional Edition.
	
	Although each DATMAN-PRO File Engine module installed in memory 
	handles only one DAT drive, you can install two or more 
	instances of the File Engine in memory for additional drives.  
	Since most users have only one DAT drive and it is a common 
	mistake to attempt to install the File Engine twice, the 
	DATMANFE.EXE program treats the second install as a user error 
	unless the user explicitly declares the additional installation 
	by the "-a" switch.
	
	The DAT drive selection and the drive number selection are done 
	automatically by the default selection order.  The selections 
	can be overridden using command options.  You need not load 
	another ASPI manager unless you need a different one for another 
	host adapter.


    The "Freeware" Version of DATMAN
    
	It is available from Pixelab's World Wide Web home page:
	
		http://www.datman.com/

	You can download the DATMAN.ZIP file, free of charge. It contains
	the Freeware version of DATMAN File Engine which is the same as 
	the File Engine of the Standard Edition except that it has a 
	limit on total data size (1 GB) stored per cartridge. 

	While Pixelab retains the copyright, you are authorized to make
	copies of the DATMAN.ZIP file and give it to your friends as 
	long as its contents are not altered, and the media (diskettes)
	are labeled with the following copyright notice.

	    "(c)1996 Copyright, Pixelab, Inc.  All Rights Reserved."


    DATMAN Starter Kit

	New users are encouraged to obtain the DATMAN Starter Kit
	that includes the following items.

	   1.  A DATMAN User's Manual (typeset quality)
	   2.  A Diskette with the DATMAN Freeware Version
	   3.  A DATMAN Tutorial Tape (90m DDS tape)
	   4.  Four Pre-formatted DATMAN Tape (90m)
	   5.  A Head Cleaning Cartridge
	   6.  A Discount Coupon for DATMAN software
	   7.  Level-1 technical support


				     108




========================================================================
    APPENDIX A.    DAT BASICS
========================================================================


    The DDS Standard

	The word DAT stands for "Digital Audio Tape" which was 
	introduced to the consumer electronics market in the 1980s.  
	It never really received a fair chance to succeed in the 
	consumer marketplace for political reasons.  (Ironically, it 
	is steadily gaining popularity among audio recording 
	professionals.)
	
	When we refer to "DAT" in this manual, we mean the new industry 
	standard, the Digital Data Storage (DDS) family of tape formats, 
	originally designed by Hewlett-Packard and Sony.  Now, the 
	technology is standardized by the DDS Manufacturers Group that 
	includes over 20 companies.  By 1993, DDS and its extensions 
	have been adopted by such industrial standards as ANSI, ISO, 
	and ECMA.
	
	The DDS family of today and tomorrow includes:
	
	    Format     native   with DC    tape         year
	   ---------------------------------------------------
	    DDS        1.3 GB     ----     60 m         1989
	    DDS-DC     2.0 GB     4 GB     90 m         1991
	    DDS-2      4.0 GB     8 GB    120 m (MP+)   1993
	    DDS-3     12.0 GB    24 GB    120 m (MP++)  1995
	    DDS-4     24.0 GB    48 GB    180 m (ME)    1997

    The Data Cartridge

	The DDS tapes are commonly referred to as 4mm tape (although 
	the tape is actually 3.81mm wide).  Before the DDS-2 drive was 
	introduced, the drives could accept either 60m tape or 90m tape. 
	These tapes were different only in length.  You can disable the 
	data compression feature on a DDS-DC drive to create a tape 
	which can be read by a DDS drive.  Now, with the DDS-2 drive, 
	the differences in tape cartridges are not just the length.  
	A 120 meter tape can be used only on a DDS-2 drive, whereas a 
	90 or 60 meter tape works on any type of DAT drive. 

	More recently, the Media Recognition System standard was 
	adopted in the DDS industry for the tape drive to identify 
	the type of cartridge.  Now, all DDS- family tapes come with 
	stripes on the leader tape which conform to the Media 
	Recognition System.  The name appears on 90-meter or shorter 
	tapes, since all DDS-2 and future-generation tapes will be 
	automatically Media Recognition System compliant.  Some DDS 
	drives treats non-Media Recognition System tape as Read-Only 
	medium.  Nearly all DDS tapes you find today are Media 
	Recognition System compatible.

				     109




	DDS (4mm) tape cartridges are sold in many computer supply 
	outlets.  Don't be confused with other incompatible tapes 
	such as QIC, DC2120, 8mm, or 112m.  The DATMAN tape starter 
	kit is recommended for first-time users.  Kit includes five 
	preformatted DDS tapes and one head cleaning cartridge.


    Common DDS Drive Models

	The following table is a non-exhaustive list of commonly 
	available DDS tape drives:

	 Manufacturer      Model       Technology
	-------------------------------------------
	 Hewlett-Packard   HP35470A    DDS
	 Hewlett-Packard   HP35480A    DDS-DC
	 Hewlett-Packard   C1533A      DDS-2
	 Hewlett-Packard   C1553A      DDS-2 (autoloader)

	 Conner (Archive)  4320        DDS
	 Conner (Archive)  4322        DDS-DC
	 Conner (Archive)  4324        DDS-DC
	 Conner (Archive)  4326        DDS-2

	 Sony              SDT-1000    DDS
	 Sony              SDT-2000    DDS
	 Sony              SDT-4000    DDS-DC
	 Sony              SDT-5000    DDS-2

	 WangDAT           3100        DDS
	 WangDAT           3200        DDS-DC
	 WangDAT           3400        DDS-2

	 Exabyte           4200        DDS
	 Exabyte           4200c       DDS-DC
	 Exabyte           4402        DDS-2 (without DC)
	 Exabyte           4402c       DDS-2

	Aside from the technology they use, the various models 
	listed above have different features such as the amount 
	of buffer memory, data transfer rate, and seek speed.














				     110




    Compatibilities among the Tape Drives

	We have tested the DATMAN software with all major brand 
	DDS drives (except WangDAT).  As long as you use drives from 
	the same manufacture for both the write and read purposes, 
	datman works well.  However, we have experienced compatibility 
	problems between various models from different manufacturers.  

	The following chart is a compatibility matrix based on our 
	non-exhaustive tests.

                     Written by  Written by  Written by  Written by
            Read by      HP        Conner       Sony      Exabyte
           ---------------------------------------------------------
             HP          yes         yes         no          yes
             Conner      yes         yes         no          yes
             Sony        yes         yes         yes         yes
             Exabyte     no          no          no          yes

	HP and Conner (Archive) models seem to have full compatibility 
	with one another.  While Sony drives can read a tape written 
	by any manufacturer's models, the tape written by a Sony cannot 
	be "seeked"; therefore, it cannot be used by HP or Conner drives. 
	The firmware on the Exabyte drive seems to crash, and requires 
	a reset when it encounters certain data blocks written by other 
	manufacturers's drives.  Since the manufactures are constantly 
	upgrading firmware on their drives, the chart may not reflect 
	the current state of the matter.  We have not tested WangDAT 
	drives as of this writing.
	

























				     111




========================================================================
    APPENDIX B.    SCSI BASICS
========================================================================


    What is SCSI?

	SCSI stands for Small Computer System Interface which is an 
	industry-standard Input/Output bus specification.  It defines 
	a high-speed interface between peripherals and microcomputers 
	with unmatched flexibility and expandability.  All major brand 
	DAT drives support the SCSI interface.  The DATMAN software 
	supports only SCSI based DAT drives.  One SCSI bus can support 
	up to 7 peripheral devices.  Additionally, you may plug in two 
	or more SCSI host adapters in one computer.


    SCSI Bus Configurations

	The minimum configuration of a SCSI bus is made up of one host
	adapter and one peripheral device (e.g., DAT) at each end.  
	When the device is mounted inside the computer, it is typically 
	connected via a flat 50-pin ribbon cable.  Most host adapters 
	also have an external SCSI connector (either a 50-pin Centronics 
	type, or a 25-pin Female DB-25 type) which can be used to link 
	external SCSI devices.  If you use only one of the host 
	adapter's connectors, then the host is at one end of the SCSI 
	bus.  On the other hand, if you use both the internal and the 
	external connectors on a host adapter, then the host adapter 
	is in the middle of the SCSI bus.  If you have two SCSI devices 
	and both of them are chained (using one flat cable internally), 
	the device closer to the host adapter is in the middle.  The 
	relative position of the host adapter and the devices within 
	the SCSI bus is very important for a proper bus termination.


    SCSI Bus Termination

	The SCSI bus must be terminated at each end of the bus by a 
	set of resistors attached to the signal lines.  Therefore, 
	the SCSI device physically connected at the end of the chain 
	must have terminators installed.  All other (in the middle of 
	the chain) devices must not have terminator resistors.

	Most SCSI host adapters come with two connectors:  an external 
	connector (either 50-pin Centronic-female or female DB-25 
	Apple-SCSI) and an internal 50-pin ribbon cable header 
	connector.  The host adapter itself acts as a SCSI device 
	attached to the SCSI bus.






				     112




	Most SCSI host adapters come with removable resistor packs 
	on board.  You should remove (or disable by jumper/switch) 
	the on-board terminator, only when both the external and 
	internal cables are used at the same time to connect two 
	or more devices.  On the other hand, if only one cable on 
	the host adapter is used, then the host adapter will be at 
	one end of the bus.  Therefore, the terminator is required.

	
    SCSI Bus Termination Power

	At lease one device must supply the power to the terminators.  
	Both the host adapter and SCSI devices are capable of supplying 
	the power (normally enabled by a jumper plug).  It is usually 
	safe to choose the terminating power option on all SCSI devices 
	including the host adapter.  However, no more than five SCSI 
	devices should be configured to supply terminator power to a 
	single SCSI bus.  Some Parallel-To-SCSI adapters which plug 
	into your PC's printer port steal the terminating power to 
	operate.


    SCSI Address
	
	The SCSI bus uses three bits (0 - 7) to address devices on 
	the bus.  The address is often referred to as the SCSI target 
	ID.  Since the host adapter also must be assigned with a unique 
	ID, total maximum number of devices is 7, not counting the 
	host adapter.  By convention, the host adapter's ID is 7.  
	Therefore, a SCSI device can have an ID number between 0 and 6.  
	While you can assign any ID number to each device on the SCSI 
	bus, the first 2 numbers (ID:0 and ID:1) are usually reserved 
	for disk drives.  If you have multiple SCSI host adapters, 
	you may use the same device ID number with no addressing 
	conflict.  However, choosing unique ID numbers will simplify 
	referencing the drive in DATMAN operation.  We ship our tape 
	drives with ID:4.
	
	On most tape drives, the ID number is set by a set of jumper 
	pins.  Many external SCSI enclosures for DAT drives have a 
	convenient ID encoder switch on the back of the unit.


    Single-Ended vs Differential

	The SCSI standard allows for two types of electrical interfaces, 
	namely, the "Single-Ended Bus Interface" and "Differential Bus 
	Interface".  Basically, the single-ended bus is a fully 
	bi-directional bus.  All of the DAT drives on the market 
	support the single-ended SCSI configuration while only certain 
	models support the differential interface.  Most SCSI host 
	adapters support only the  single-ended configuration.  
	Therefore, select the single-ended option if you face the 
	choice between the two.

				     113




    Synchronous Negotiation

	Your host adapter may have a setup option of choosing 
	synchronous or asynchronous negotiations.  This is how the host 
	and the device initiate data transfers.  Since most DAT drives 
	support synchronous data transfer, the host adapter should 
	enable the synchronous negotiation.


    DMA vs PIO

	Some high-performance host adapters such as Adaptec's AHA-1542, 
	AHA-164x, etc. have the DMA data transfer capability (also known 
	as busmastering).  DMA stands for "direct memory access" that 
	enables an I/O device to transfer a block of data into the main 
	memory without involving the CPU.  The alternative to the DMA 
	scheme is to have the CPU access I/O ports and memory to perform 
	data transfer (sometimes called programmed I/O or PIO).  While 
	the DMA scheme may dramatically increase the throughput of hard 
	disk accesses, its impact on DATMAN's performance is negligible 
	(probably due to the overhead in implementing the "virtual DMA 
	service" by the ASPI manager).  The major advantage of the 
	DMA-based host adapter for DATMAN is when a corrupted tape 
	without a valid EOD mark.  While such a problem is relatively 
	rare, the DMA-based adapters can abort a SCSI read operation 
	promptly when it happens.  This feature alleviates some of the 
	user frustrations dealing with corrupted tapes.  Another 
	advantage using a busmaster with datman is that the File 
	Engine consumes less memory (47 KB vs 63 KB).

	In short, if you can spend nearly $300 or more for the host 
	adapter, use a DMA-based (busmaster) adapter (e.g., AHA-1542).
	If your budget is $100 or less, use the lowest cost PIO-based 
	adapter (e.g., AVA-1505/AHA-1510).

    Data Transfer Rate

	Many high performance host adapters can set the DMA data 
	transfer rate.  The following table summarizes the transfer 
	rates supported by common DDS drives.

	     Model            Asynchronous  Synchronous
	    --------------------------------------------
	     HP 35470A         1.6 MB/sec   5.0 MB/sec
	     HP 35480A         1.6 MB/sec   5.0 MB/sec
	     HP 1533A          3.0 MB/sec   5.0 MB/sec
	     HP 1553A          3.0 MB/sec   5.0 MB/sec
	     Sony SDT-2000     3.0 MB/sec   5.0 MB/sec
	     Sony SDT-4000     3.0 MB/sec   5.0 MB/sec
	     Sony SDT-5000     3.0 MB/sec   5.0 MB/sec

	Use the synchronous bust data transfer rate (5 MB/sec.) given 
	by the drive's specification sheet for selecting the host 
	adapter's transfer rate setting.

				     114




    Host Adapters

	DATMAN has been tested with a number of host adapters available 
	from Adaptec.  The host adapters with both the busmaster and 
	PIO designs provide very good  performance for DATMAN.  The 
	differences in these adapters in normal DATMAN operations are 
	negligible.  The most notable advantage with the busmaster 
	type is when the tape drive encounters a corrupted tape without 
	a valid EOD mark.  While DATMAN can report such an error 
	condition promptly using a busmaster adapter, it takes a long 
	time (sometimes a few minutes) with a PIO-based adapter.


	 Adaptec Model   Host bus       Data transfer   Performance
	------------------------------------------------------------
	 AHA-174x       32-bit EISA      busmaster      excellent
	 AHA-164x       16-bit MCA       busmaster      excellent
	 AHA-154x       16-bit ISA       busmaster      excellent
	 AHA-152x       16-bit ISA       PIO / IRQ      very good
	 AHA-1510       16-bit ISA       PIO / IRQ      very good
	 AVA-1505       16-bit ISA       PIO / IRQ      very good
	 APA-1460       PCMCIA           PIO             very good
	 T130           8-bit ISA        PIO             good
	 APA-358        parallel port    EPP             good
	 APA-348        parallel port    bidirectional   good

	While we have not tested other brands of SCSI host adapters, 
	we feel confident that DATMAN should work equally well with 
	other models not listed here, provided the host adapter is 
	supported by an ASPI compliant device driver.



    Host Adapter BIOS ROM

	Most SCSI host adapters are designed to interface with disk 
	drives that are used at system initialization with the 
	on-board BIOS support.  If your host adapter is not connected 
	to a hard disk, you should disable the BIOS ROM.
















				     115




========================================================================
    APPENDIX C.    QUESTIONS & ANSWERS
========================================================================

    Q:	What operating systems does DATMAN run under?

    A:	At the present time, DATMAN requires MS-DOS 5.0 through 6.2.  
	If you have OS/2, Unix, or Macintosh based computers and wish 
	to use the DATMAN file system, one way to accomplish the 
	connection is to use a network and use the file server as 
	a temporary file buffer.  Unfortunately, there cannot be a 
	direct connection to DATMAN.  With regard to the variations 
	on DOS, if you use IBM's PC-DOS or any other non-Microsoft DOS 
	workalike, DATMAN will detect such cases and refuse to work 
	under it.  We cannot guarantee the proper operations of the 
	DATMAN file system in an environment which we have not yet 
	fully tested.


Q:	Our company has a LAN based on Novell NetWare.  Can we use 
	DATMAN on the file server to share the DAT drive?

A:	No.  DATMAN can only be installed on a "workstation" in NetWare 
	which runs MS-DOS.  For the file server backup purpose, you can 
	copy files on the server by the COPY or XCOPY commands (or, our
	DCOPY utility with many enhancements) at the DOS machine to which
	you have installed DATMAN.


Q:	Can we hook up two DATMAN tape drives on a PC?

A:	Yes, provided that you obtain a copy of DATMAN-PRO.  The DAT 
	drives DATMAN supports are all interfaced via SCSI, which can 
	connect up to 7 drives per host adapter.  Many users will find 
	it convenient to connect two DAT drives so that a DATMAN tape 
	cartridge can be duplicated, or repacked to another tape. We 
	recommend that you own two external tape subsystems for two 
	host PCs, which can be daisy-chained for the dual-drive 
	configuration when you need it.


Q:	Can you execute a program from the DATMAN tape directly?

A:	Yes, just as you can run a program directly from a floppy disk.  
	While we don't recommend the practice in routine use, MS-DOS 
	allows you to execute a program on any drive, including a 
	DATMAN drive.  Also, we do not recommend making the DATMAN 
	drive the current drive.  Some programs (such as Autocad) 
	create a temporary file on the current drive/directory.  
	You should avoid creating and deleting temporary files on a 
	DATMAN drive.




				     116




Q:	What is DATMAN's access time?

A:	The "access time" most users want to know is the time DATMAN 
	takes to read file data for an application.  It all depends on 
	how far the data is located from the current tape position.  
	Most tape drives in the DDS family have the fast search 
	capability of 60 seconds from one end of the tape to the 
	other.  In reality, data cartridges are seldom filled up 
	with data (typically 30% full or less).  Therefore, the 
	worst case search with a 30%-full tape takes 20 seconds in 
	seek time.  Add the overhead of 5 seconds for actual access 
	time.  In many cases, when the tape position is favorable, 
	the access time is within a second, thanks to the look-ahead 
	buffer built into the tape drive.


Q:	What is the reliability of the 4mm DDS tape DATMAN uses?

A:	We believe that the DDS-family tape technology is the most 
	reliable tape system you can find today.  In addition to the 
	two levels (C1 and C2 coding) of error detection and correction 
	methods used by the Audio DAT format, an extra error correction 
	scheme (C3 ECC) is employed in the DDS technology.  The C1 and 
	C2 Reed Solomon error correction methods can correct up to 2.6 
	mm of vertical (perpendicular to the tape direction), and up to 
	0.3 mm of horizontal (parallel to the tape direction) error 
	patterns.  The C3 code is designed to improve corrections on 
	"helical" errors through "retry".  All DAT tape manufacturers's 
	specifications guarantee less than 1 bit in every 1 Terabytes 
	(i.e., 1,000 Gigabytes) of unrecoverable error.  This 
	impressive figure ignores the inevitable media defects.


Q:	We have critically important data.  We cannot tolerate any read 
	error that may happen later (several years later).  In the past, 
	we have experienced unreadable data on a QIC tape which was read 
	6 months after it was written.  How does this happen?

A:	Unfortunately, some tapes contain marginal spots where the 
	magnetic signals fade over a long period of storage.  Such 
	areas elude detection when you verify the data immediately 
	after they are recorded.  No tape manufacturers will compensate 
	you for the loss of data.  In addition to the three levels 
	of ECC methods discussed above, all DDS tape drives (except 
	the Exabyte models) support the "N-Group" feature, which is 
	sometimes called multiple group writing.  This technique repeats 
	each group of data so that there are N (up to 8) consecutive 
	copies of each group on the tape.  For example, you can choose 
	to write the same data twice, converting one half of your 
	storage space into dramatically improved data integrity.  
	Every time you add one more repeated copy of data, you are 
	reducing the likelihood of unrecoverable error exponentially.



				     117




Q:	How does DATMAN verify data on the tape?

A:	DATMAN does not need a second pass after rewinding for data 
	verification.  The DDS-family DAT drives support the RAW 
	(Read-After-Write) feature, which employs a separate read-head 
	that verifies data immediately after they are written, and 
	initiates an additional write cycle when an error is detected, 
	all in a single pass.  A write-error will be reported only 
	after 256 retries have failed.


Q:	Does DATMAN work with other tape formats such as QIC, 8mm, etc.?

A:	No.  We believe in the DDS (4mm DAT) tape technology.  At 
	present, we do not have a software product that works with 
	other tape formats.


Q:	Does DATMAN use any data compression technique?

A:	Yes.  DATMAN turns on the data compression feature built into 
	the DDS-DC and DDS-2 drives by default.  However, if the tape 
	drive does not support data compression (as older generation 
	DDS drives do not), DATMAN does not compress, or decompress 
	data by software.  All DDS tape drive manufacturers use 
	exactly the same integrated circuit to implement the DCLZ 
	(modified Lempel-Ziv) algorithm.  Therefore, we expect complete 
	compatibility between tape drive models with respect to data 
	compression.


Q:	Can you use an audio grade DAT tape on DDS drives?

A:	Yes, you can.  While nobody recommends this practice, you can 
	indeed format and record on non-DDS tapes which are sold in 
	audio specialty stores (at less expense).  Because the tape 
	length is not encoded into the signature pits at the bottom, 
	audio DAT tapes (60, 90, and 120m) are all recognized as a 
	60m tape by a DDS family drive.  As a matter of fact, a 120m 
	audio tape can be used by either DDS or DDS-DC drives.If your 
	drive recognizes the Media Recognition System, then you must 
	disable the detection feature.  For example, the HP C1533A 
	and C1553A drives detect audio grade tapes and treat them 
	as read-only unless the feature is turned off (turn off 
	Position 3 of the DIP switch at the bottom of the drive).
	What we really recommend is that you use the longest tape 
	available for your tape drive (forget about the audio grade 
	DAT tape) and select the  N-Group value to convert extra 
	capacity into redundant data on the tape.






				     118