=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

              %%% ADAPTEC SOFTWARE DEVELOPER'S KIT - v2.4 %%%

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

In response to widespread demand for Advanced SCSI Programming Interface
(ASPI) software, Adaptec provides the ASPI Software Developer's Kit (SDK),
a tool kit for developing Small Computer System Interface (SCSI) drivers
for PC peripherals.  This kit is designed to help you write your own ASPI
device module that will work with any ASPI-compliant host adapter.

A Few Words about ASPI
=-=-=-=-=-=-=-=-=-=-=-

ASPI itself was created by Adaptec but made available to anyone, in order
to insulate developers from tedious details of the host adapter hardware.
In addition, ASPI was designed to increase compatibility and simplify the
connection of SCSI peripheral devices like Tape, CD-ROM, WORM, Magneto
Optical, Scanners and others.  ASPI provides a pass-through interface
between the two main components of a software driver:  a manager which is
written to specific host adapter hardware (the software managers that
Adaptec provides) and a device module or application which is tailored to
the command set of a particular peripheral (what you would write using
the ASPI SDK).  SCSI device driver modules and applications submit I/O
requests to the host adapter, independent of the SCSI host adapter type
or the SCSI device type.  An ASPI manager handles and manages multiple
I/O requests from multiple ASPI device driver modules or applications.

The ASPI Manager is operating system- and hardware-dependent, written to
control a particular host adapter or host adapter family.  An ASPI device
driver module or application is hardware-independent and will work with
any host adapter and ASPI manager combination.  Once you have developed
an ASPI device driver, your peripheral will be able to link with any AT,
EISA, PCI, or laptop host adapter using ASPI as the software interface.

The ASPI Software Developer Kit Contents
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This installation contains specifications, sample source code, and utilities
for writing ASPI applications for DOS, Windows 3.x, Windows 95, and Windows
NT.  Aside from this "README.TXT" file, the following directories
should exist.

BIN
---
    This directory contains tools to install and troubleshoot ASPI.

    ASPI32:   ASPI layer for Windows 95 and Windows NT (both Intel and
              Alpha). This includes updates to the following files:
              WINASPI.DLL, WNASPI32.DLL, APIX.VXD, ASPIENUM.VXD,
              ASPI32.SYS, and WOWPOST.EXE.  Simply execute ASPI32.EXE
              to install/upgrade the ASPI drivers. This upgrade requires
              that either an Adaptec host adapter or an Adaptec version of
              the ASPI layer be installed on your system.  If you have
              neither of these, you will need to purchase EZ-SCSI to
              get the ASPI layer.

    ASPICHK:  A Windows 95/NT utility that detects and lists the current
              version of the ASPI layer on your system.  Please include
              output from this program whenever you seek technical support.

    ASPISPY:  ASPISpy provides SRB parameter checking under ASPI for
              Win16 (WINASPI.DLL).  As your ASPI application sends commands
              to your SCSI devices, ASPISpy captures the SRB and performs
              parameter verifications to ensure the SRB is a valid command.
              If one of the paramters is not valid, ASPISpy displays a
              dialog box indicating the error as well as recommended fixes.

DOCS
----
    Documentation for the ASPI layers.  Some of the files are in Adobe(TM)
    Acrobat(TM) format.  You can download readers for the PDF files from
    Adobe at "http://www.adobe.com/acrobat".

    ASPIDOS:  ASPI for DOS specification.  This is a text file and it
              is tailored to the use of ASPI for DOS on native DOS
              ASPI managers loaded from CONFIG.SYS and used directly
              in DOS or through DPMI on Windows 3.1x.  See the
              ASPIFAQ for notes on using the ASPI for DOS API under
              Windows 95.

    ASPI16:   ASPI for Win16 specification.  This is a text file and
              it is tailored more for the Windows 3.1x implementation
              of ASPI for Win16.  See the ASPIFAQ for notes on
              using this API under Windows 95 or Windows NT.

    ASPI32:   ASPI for Win32 specification.  This is a PDF file which
              describes the Windows 95 and Windows NT implementations
              of ASPI for Win32.

    ASPIFAQ:  PDF file with Frequently Asked Questions about ASPI. This
              includes sections on SCSI documentation, licensing ASPI
              for redistribution, performing large buffer ASPI
              transfers, and ASPI performance.  This file is written
              with for ASPI for Win32, ASPI for Win16, and ASPI for
              DOS under Windows 95 or Windows NT.

INCLUDE
-------
    Contains header files needed by any developer writing ASPI for
    Windows or ASPI for Win32 applications and device drivers.

    WINASPI:  "C" header file (.h) for ASPI for Windows.

    WNASPI32: "C" header file (.h) for ASPI for Win32.

    SCSIDEFS: "C" header file with common manifest constants from the
              SCSI specification.

SAMPLES
-------
    Contains DOS, Win16, and Win32 sample source code.  See the
    individual sub-directories for more information on building and
    using the samples.

This kit assumes that you have a solid understanding of system level
programming and are familiar at least with device driver development
for the operating system you are targeting for SCSI.  Prior to getting
this kit you should get the device driver kit from the appropriate
operating system vendor.

Special Notes
=-=-=-=-=-=-=

If you are doing development under UNIX, you do not need the ASPI
developer's kit.  Each UNIX vendor provides its own SCSI device driver
programming methodology.  You should call your UNIX vendor directly for
SCSI device driver information rather than Adaptec.

Adaptec does not provide programming support for the ASPI layer.  It is
assumed that you are already familiar with the device you wish to
control (e.g. CD-ROM driver, scanner, etc.).  The sample source code
provided in this SDK (available at http://www.adaptec.com) will get you
started in your development.  If you believe you have found a bug in the
ASPI layer, please be sure you are using the latest ASPI layer from
http://www.adaptec.com.  If the problem persists, please send detailed
information, with the steps to replicate the bug, to
mailto:acap@corp.adaptec.com.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
