_____________________________________________________________________

Stacker Note                                     Stacker Note                     
                     
STAC FAX Index #1106                 
                     
                     
                          Stacker API v. 2.0
_____________________________________________________________________

What can the Stacker API do for you?

1.  Make your programs more compatible with Stacker.

         Using the API you can now determine if Stacker is
         installed on a system, what version of Stacker is
         running, and which drives in the system are Stacker
         drives.  If the Stacker drives have been swapped, you
         can find out what drives they have been swapped with.
         You can determine if a Stacker coprocessor is installed,
         which coprocessor it is, and the hardware address where
         it is installed.  If a Stacker drive replaces its host
         drive your software can now have direct access to the
         underlying host drive if it needs it.  This and much
         more has been provided to help you enhance your
         product's compatibility.  We think the most common use
         of these features will be in installation programs
         which want to detect Stacker andoptimally configure
         the software that they are installing for a Stacker
         based system.  You'll probably think of lots of other
         things to do with all this information.

2.  Give you direct access to Stacker's compression and
    decompression engines.

         If Stacker software is installed on a PC you can now
         use its high performance compression and decompression
         to improve the performance of your product.  You can
         transmit data in half the time, and store it in half
         the space.  You can reduce memory usage by keeping
         infrequently used data structures in compressed form
         and decompress them when needed.  Speed up your
         software by keeping overlays compressed in EMS or XMS
         and then decompressing them when needed instead paying
         the seek time it costs to read them from disk.  If a
         Stacker coprocessor is installed you'll get even faster
         performance and tighter compression.

         If you are already using one of Stac's LZS221 or DCS221
         compression libraries, you will want to investigate
         using the Stacker API to detect if Stacker is present
         in a system.  If it is, you may want to use the API to
         access Stacker's compression engine which, although
         less general in its interface, provides over fifty
         percent better speed performance over DCS221 or LZS221.

3.  Give you the ability to read compressed data directly
    from a Stacker drive.

         Now you can transfer compressed data directly from a
         Stacker drive, to tape, to backup floppies, across a
         modem, or over a network without having to pay the
         performance penalty of having Stacker first decompress
         the data.  The data format is the same LZS compressed
         data format that is supported by all of our compression
         products.  This means that when you need access to the
         compressed data you can decompress it using our 9703,
         9704, or 9705 compression chips, our LZS221 compression
         libraries (available in 8088, 80386, and 68000 assembly
         as well as C), or the Stacker API.  This is also the
         same compressed data format as the QIC-122 data
         compression standard which is used in quarter inch tape
         drives.

    The version 2.0 Stacker API includes the following:

        - A 78 page manual with examples for each function,
          a section on testing considerations for your
          programs and a section on developing Stacker aware
          installation programs.

        - A C library for all memory models of Borland C
          and Microsoft C.

        - An include file for Assembly language programs.

        - An OBJ file and Pascal unit for Turbo Pascal
          programs.

        - Six Ready to compile and run programs in C plus
          one in Assembly.  These programs include a sample
          Stacker aware installation program, a sample program
          to read files from a Stacker drive in compressed
          form, a sample program that simulates sending a file
          across a modem with and without compression, plus
          several more.  In addition to the source code for
          these programs there are example programs for each
          function in the API.

        - Developer assistance on CompuServe.

Here's what the Stacker API can provide to make your programs
Faster, Smaller and More Compatible with Stacker:

Informational items:

        - Is Stacker installed?
        - Is Stacker hardware or Stacker software being used?
        - The major and minor versions of the Stacker device
          driver.
        - The hardware address of the Stacker coprocessor.
        - The hardware type of the Stacker coprocessor (XT/8,
          AT/16 or MC/16).
        - Is Stacker using EMS for its cache?
        - Is the Stacker driver loaded high (above 640k)?
        - The number of available replaceable Stacker drives.
        - Which drives are which after swapping.
        - Is a drive is Stacked?
        - Is a Stacker drive mounted?
        - Is a Stacker drive an auto-mounting drive or not?
        - Is a Stacked drive write protected?
        - Is a Stacked drive replaced with the host drive?
        - Was a Stacked drive mounted damaged?
        - The number of erased sectors and the number of free
          sectors for a given Stacker drive.  These two figures
          can be used to determine the minimum (physical) space
          available for a Stacker drive.
        - The BPB of a Stacked drive (without having to go to
          disk).
        - The BPB of the host drive of a Stacked drive (without
          having to go to disk).
        - The drive unit number for a Stacked drive.
        - The drive unit number for the host drive of a Stacker
          drive.
        - The stacvol file name for a Stacker drive.
        - The major and minor versions of Stacker that was used
          to create a given Stacker drive.
        - Pointers to the interrupt and strategy routines for
          the host drive of a Stacker drive.  This can allow you
          to access the host drive of a replaced Stacker drive.
        - The number of bits per FAT entry for a Stacker drive.

Compression items:

        - Compress data using the Stacker device driver.
        - Uncompress data using the Stacker device driver.

Drive state manipulation items:

        - Flush the Stacker device driver for all Stacker drives.
        - Unmount Stacker drives.
        - Put a Stacker drive in "host drive mode".  This allows
          you to access the host drive of a Stacker drive
          (including swapped and replaced drives) through a
          drive letter.
        - Take a Stacker drive out of "host drive mode".
        - Set the write-protect status on a Stacker drive in the
          Stacker device driver.
        - Remove the write-protect status on a Stacker drive in
          the Stacker device driver.

Read compressed data items:

        - Read clusters directly from a Stacker drive in
          compressed form.
        - Retrieve the FAT entry for a given cluster on a
          Stacker drive.

For information on how you can purchase the Stacker API, call
Stac Electronics at 619-431-7474, extension 2910,For pricing.
Existing Stac OEM customers who have purchased our 
compression/decompression libraries or chips are entitled to 
the Stacker API free of charge.

_______________________________________________________________
Copyright 1992, Stac Electronics
