*************************************************************
			ASPI500.TXT
*************************************************************
This file describes the features and use of the Symbios Logic
SDMS ASPI manager for the DOS operating system environment.
This document is specific to ASPI5000.SYS version 4.00.00.
It is divided into the following sections:

Introduction
	Features
	Description
Manual Installation
Command Line Options
Troubleshooting

************************************************************


********************* Introduction *************************

This file should be read if you have decided not to use the 
DOS installation program and plan to perform a manual 
installation of the ASPI5000.SYS driver. A manual 
installation allows you to change certain default values for 
the driver through command line options.


* Features *

Supports Advanced SCSI Programming Interface (ASPI) applications
Supports multiple adapters using a single copy of the driver
Coexists with other ASPI drivers
Supports all details of the ASPI specification including 
	Command Code #6 (Get Disk Drive Info)
Supports a uniform set of command line options that can control 
	separately every device on the SCSI bus
Provides full functionality in a reasonable driver size (less 
	than 30 KB at initialization time, and around 10-15 KB 
	after initialization)


* Description *

ASPI500.SYS is an ASPI manager which provides an interface to 
popular ASPI applications in the DOS environment. Some of the 
ASPI applications supported include CorelSCSI!, Sytos Plus, 
and Central Point Tape Backup. These provide support for 
CD-ROM, tape, scanner, and other SCSI peripherals.


***** How to Manually Install Your ASPI500.SYS Driver ******

1. Use the COPY command to copy the ASPI500.SYS driver from the 
   driver diskette to your boot disk.

2. Add the following command line to your CONFIG.SYS file:

	DEVICE=C:<PATH>ASPI500.SYS

   This line must be added to the CONFIG.SYS file after the 
   Card and Socket Services drivers.

   The C:<path> specifies the location to which the ASPI500.SYS 
   driver was copied in step one. For example:

	DEVICE=C:\PCCARD\ASPI500.SYS

   if the driver was copied to C:\PCCARD.

   After the ASPI500.SYS driver is installed, CorelSCSI software 
   (or other ASPI device drivers) may also be installed.




************ ASPI500.SYS Command Line Options ***************


The ASPI500.SYS driver has numerous embedded functions which 
are accessed via switches on the command line. These are 
explained individually in the following sections, but may be 
used in combination.


* Using the Timeout Option *

The ASPI driver expects commands to complete within a reasonable 
amount of time. When this does not happen, the driver initiates 
a recovery process that may end up with a SCSI hard reset.

Because the driver adjusts the default timeout value depending 
on the type of devices it sees attached to the SCSI bus, this 
option is rarely needed.

To change the time out for all devices to 300 seconds, the line 
in CONFIG.SYS that loads ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS TIMEOUT=300

To change the timeout value only for a specific target device
with a SCSI ID of 4, the line in CONFIG.SYS that loads ASPI500.SYS
should look like this:


	DEVICE=C:<PATH>ASPI500.SYS TIMEOUT=(300,4)


* Using the Sel_Timeout Option *

This option allows you to specify the period of time the host 
will wait for a SCSI peripheral to respond to a Selection 
command. The SCSI specification suggests a default time-out of 
250 milliseconds, but many devices (especially hard disks) 
respond to selection within 10 microseconds! 

The ASPI500.SYS driver uses a default of 50 milliseconds. You 
can specify a decimal value not exceeding 255 milliseconds.

For example, to change the selection time out to 
250 milliseconds, the line in CONFIG.SYS that loads ASPI500.SYS 
should look like this:

	DEVICE=C:<PATH>ASPI500.SYS SEL_TIMEOUT=250


* Using the Busy_Retry Option *

The ASPI500.SYS driver normally returns Hardware_Busy status 
(0x08 hex) when it finds a device busy. Then a high level 
driver (such as a CorelSCSI device driver) manages the 
Hardware_Busy status.

If this option is enabled, the driver will continue to try a 
command every 1/4 second until the device returns a non-busy 
status. 

This option is disabled by default. To switch this option on, 
the line in CONFIG.SYS that loads ASPI500.SYS should look 
like this:

	DEVICE=C:<PATH>ASPI500.SYS BUSY_RETRY


* Using the Cards Option *

This option reserves ASPI500.SYS driver resources for a 
specified number of cards that may be dynamically configured 
at a later time. (No PCMCIA resources are actually 
reserved - only the ASPI driver's internal resources are 
reserved.)

The default is one card, to tell the ASPI500.SYS driver to 
expect two SCSI5000 PC cards (the maximum allowed), the line 
in CONFIG.SYS that loads ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS CARDS=2

Note:
When using two cards, remember that each card is configured 
to the slot it is in at boot time. If you remove a card, you 
must replace it in the same slot from which it was removed.


* Using the Verbose Option *

This option is used to display initialization time messages. 
The driver will always display a banner with copyright notices. 
If this option is switched on, adapter and device descriptions 
are also displayed.To have command line options that pertain 
to devices also displayed, use the Dev_Opt option with this 
option.

To activate the Verbose option, the line in CONFIG.SYS that 
loads ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS VERBOSE


* Using the Dev_Opt Option *

This option is used to display device features as specified 
in the command line. The Verbose option must also be enabled 
or there will be no display. See the Verbose option for more 
information.

To activate the Verbose option with the Dev_Opt option, the 
line in CONFIG.SYS that loads ASPI500.SYS should look like 
this:

	DEVICE=C:<PATH>ASPI500.SYS VERBOSE DEV_OPT


* Using the File Option *

There is normally a restriction on the line size in CONFIG.SYS. 
This option allows coding of command line options inside a 
file instead of on the command line in CONFIG.SYS. In this 
way you can code a large number of driver options conveniently.

These option files are free-format, allowing you to code in one 
line or hundreds of lines. There is a limit on the file size 
the driver can read 500 characters per file. However, you can 
use this option within a file to nest files up to two deep.

This option can be placed on the command line (or in a file) 
along with other options. The driver deals with the options 
in the order they appear.

If the path/file_name specification has a ':' or a '\' character, 
the driver assumes that a full path specification has been coded. 
If neither of these characters appear, the driver will try to 
use it's own path.

To cause the driver to read command line options in a file 
called 5000.cfg, the line in CONFIG.SYS that loads ASPI500.SYS 
should look like this:

	DEVICE=C:<PATH>ASPI500.SYS FILE=5000.CFG

In this example, the 5000.cfg file should be located in the 
same path as the ASPI500.SYS driver.

The 5000.cfg file might look like this:

	VERBOSE DEV_OPT CARDS=2


* Using the Heads and Sectors Options *

The ASPI driver automatically calculates disk drive geometry 
at startup time (for direct access devices only). However, 
there are certain situations where the high level device 
driver or a format utility might want a specific response 
from the ASPI driver regarding drive geometry. 

The Heads= and Sectors= options allow you to force the ASPI 
driver to report whatever values are required. The ASPI driver 
stores these values without verifying if they are correct. 
However, the ASPI driver ignores the Heads= and Sectors= 
options if the device is not a direct access device 
(peripheral device type = 00).

To use the Heads= and Sectors= options to specify a 64 by 
32 geometry for all devices, the line in CONFIG.SYS that loads 
ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS HEAD=64 SECT=32

To use the Heads= and Sectors= options to specify a 64 by 
32 geometry only for a device with a SCSI ID of 4, the line in 
CONFIG.SYS that loads ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS HEAD=(64,4) SECT=(32,4)


* Using the ID Option *

This option allows you to specify a SCSI ID for the 
SCSI5000 PC Card. Each device including the PC Card on 
a SCSI bus must have a unique SCSI ID ranging from 0 to 7. 
Your SCSI5000 host adapter is preset to SCSI ID 7, which 
has the highest priority and allows it to control the bus.
To use the ID option to specify a SCSI ID of 6 for your PC 
Card, the line in CONFIG.SYS that loads ASPI500.SYS should 
look like this:

	DEVICE=C:<PATH>ASPI500.SYS ID=6

This syntax is used only when the ASPI500.SYS driver is 
supporting a single SCSI5000 PC Card.


* Using the Parity Option *

This option allows you to switch off parity checking on 
incoming transfers. SCSI parity checking is supposed to be 
done at the receiving end. When your adapter is driving a 
device that does not generate parity, the adapter's parity 
checking hardware can be disabled using this option.

To use this option to disable parity checking, the line in 
CONFIG.SYS that loads ASPI500.SYS should look like this:

	DEVICE=C:<PATH>ASPI500.SYS PARITY=NO


* Using the Msg Option *

Using this option the message system can be controlled on a 
per device basis. The ASPI driver normally uses Identify 
Message with every command. If a device does not respond well 
to the message system, this switch can be used to stop 
messaging with that device. The ASPI driver will not use 
ATN line or Identify Message. However, other devices will 
continue to function with full message capability.

If the message system is shut off for a device several useful 
features are lost. These include:

	Disconnect/Reconnect with Target
	Synchronous Transfer
	Most SCSI-2 capabilities including Tagged Queueing

To use the Msg option to switch off messaging for all devices, 
the line in CONFIG.SYS that loads ASPI500.SYS should look like 
this:

	DEVICE=C:<PATH>ASPI500.SYS MSG=NO

To disable messaging only for a specific target device with a 
SCSI ID of 4, the line in CONFIG.SYS that loads ASPI500.SYS 
should look like this:

	DEVICE=C:<PATH>ASPI500.SYS MSG=(NO,4)



********************* Troubleshooting ***********************

The ASPI500.SYS driver may display error messages at 
initialization time. The display format is either:

	Successfully installed

for a successful installation, or

	Install Error: 10XX

for the errors listed in the following table.



10xx 
(hex)	Explanation
------------------------------------------------------------
1001	Syntax Error in command line options. A context is 
	displayed within quotes that shows the cause of the 
	error.

1002	Number of adapter specifications in the command line
	exceeds the maximum number of adapters the ASPI driver
	can handle.

1003	Conflicting adapter port information. Uaually arises 
	with [ ]-pairing for multiple adapter specification.
	Simplify the command line options if possible.

1004	Command line option specification for adapter was 
	found incomplete.

1005	Cannot accept a default value - an explicit value must 
	be coded.

1006	System Error. Should never happen. Call Customer
	Support for your system.

1007	Bad SCSI ID was found in the command line. Valid 
	values are 0 to 7 only.

100A	Too high a value for Card= option - maximum allowable
	value is 2.

100E	PCMCIA error. Cannot locate Card Services.

100F	PCMCIA error. Client registration failure.

1010	PCMCIA error. System socket count was zero.

1011	PCMCIA error. CIS/Tuples for a card are probably
	corrupted.

1012	PCMCIA error. Card configuration has failed.

1013	Bad selection time-out value was coded in the 
	command line. Valid values are 0 to 255 (in 
	milliseconds) only.

1015	Too many command line option files in the nesting.
	The maximum nesting is two levels.

1016	Failed to open a command line option file.

1017	Failed to read a command line option file.
-----------------------------------------------------------


The ASPI500.SYS driver may also display the following 
error message:

	NO DEVICE FOUND ON THIS SCSI BUS

For a possible correction, check the SCSI cable connections 
and/or ensure that termination power is supplied by a 
peripheral on the SCSI bus.

