Hi Users,                           5/28/93
Welcome to 4_drives version 3.00  This new version has a lot of new
features to test.  As always, clear, precise, and detailed test
reports are appreciated.

This new version has significant improvements in the
following areas:
  1. Drive data error handling by the driver.
  2. Driver data error reporting to dos.
  3. Switchable usage of faster read and write Input/Output (I/O)
     algorithms.
  4. Optional Fast Multiple sector data transfer mode selection.
  5. Improved DRQ handling techniques.
  6. New 4th drive detection init code.
  7. Optional (Q)uick init mode that removes all display delays.
  8. A "press c to continue", pause, at the end of the install to
     enable proper configuration confirmation.

This driver has a text field that is shown after the normal driver
data block area.  In this text you will find essential command line
switch information.  You may not need these constant reminders but in
the development stages I rely heavily upon these small notes.

COMMAND LINE SWITCHES:
These switches can be set up in the config.sys file after the complete
driver name and may or may not be separated by spaces or other
delimiters.

The following command line switches have been put into place:

M(?)(+) -  Where M selects the multiple sector data transfer
            mode and the ? is either a 0 to select this mode
            on the first drive attached to the secondary
            controller or a 1 to select the multiple sector
            data transfer mode for the second drive attached
            to the secondary controller.  The + is used to
            set the block mode to the maximum that the drive
            can handle. (CAUTION! use this with care as some
            drives will reserve the entire read/write cache
            ram for multi-block data area.  This will slow
            the drives overall data xfer to an all time low.

        Examples:
          device=driver.hdd M0     - selects multiple or
                                       block mode on drive 0
                                       only.
          device=driver.hdd M0+ m1 - selects the multiple
                                       mode to be enabled on
                                       both of the driven
                                       drives.  The first
                                       drive will utilize the
                                       full capacity given
                                       for block mode xfers.

RF(?) - Where RF = Read Fast, and the ? is defined as 0 for
        drive 0 and 1 for drive 1.
        Examples:
          device=driver.hdd rf0   - enables the read fast
                                      I/O algorithm for drive
                                      0 only.

          device=driver.hdd rf0 RF1 - enables the read fast
                                        algorithm on both of
                                        the driven drives.

WF(?) - Where WF = Write Fast and the ? selects drive 0 or
        drive 1.
        Examples:
          device=driver.hdd wf0     - enables the write
                                        fast algorithm for
                                        drive 0 only.
          device=driver.hdd wf0 wf1 - enables the write
                                        fast algorithm for
                                        both drives.

Q    - This switch enables a Quick driver init without delays
       usually generated for display recognition.

P    - This switch enables a "press c to continue.." pause
       after the driver loads for debug and command switch
       confirmation.

ATA  - This switch enables new reset and recovery features
       that are available on the newer ide 'ata' spec drives.
       You can try this switch for improved error recovery on
       mfm/rll/esdi controllers as well but if the driver locks
       up remove this switch.

3*   - This switch stops 4_Drives from looking for a non-existent
       fourth drive.  Normally, the routines can determine the
       presence or lack of the fourth drive unit. During our beta
       testing, we ran in a drive/controller combination that
       stubbornly reported a "phantom" fourth drive, this switch
       puts a stop to that nonsense. (to clarify the switch, it is
       3 asterisk)


MORE EXAMPLES:
device=driver.hdd m0 rf1 wf1 p - these switches will enable
the following: the multiple mode on drive 0.
               both read fast and write fast on drive 1
               the driver will pause after loading until the
               letter c is pressed.

device=driver.hdd wf0 p rf1 wf1 q - these switches will
enable the following: write fast on drive 0
                      a pause until 'c' is pressed after the
                      driver loads.
                      both read fast and write fast on drive
                      1.
                      no screen delays will be utilized in
                      the init code.

CONFIRMATION of Device options:
Visual confirmation of the following I/O option combinations
will be given in the manner described for each.
RF(?)  - will be denoted by a BLUE * (led) indicator for the
         drive selected.
WF(?)  - will be denoted by a YELLOW * (led) indicator for
         the drive selected.
RF(?) & WF(?) - will be denoted by a CYAN * (led) indicator
         for the drive selected.

M(?)(+)- will be denoted by a RED    * (led) indicator for
         the drive selected and the size of the block will be
         printed below the drive capacity information.  This
         Kilobyte size will usually double if the + switch is
         included.

P      - The "Press c to continue", message will be displayed
         in the bottom left corner of the yellow text box and
         the 'c' key must be pressed before the driver's init
         code is terminated.

Q      - The screen display will not slow to allow
         recognition of drive capacity, I/O option
         configuration confirmation or Multi-mode buffer size
         option confirmation.  This switch will have a more
         noticeable affect on drives that have multiple
         logical partitions installed on them.

ATA    - Sorry but we decided not to give a visual indication of
         the implementation of this switch.

APPLICATION NOTES:
1.  The drive installed in it's raw state eg.,
    device=driver.hdd will set the driver up in the "old",
    slow but sure I/O mode of operation.  If the driver
    loads ok with the Old switch but hangs with data errors
    use the ata switch.
2.  Use of the ata switch implements some of the new drive data
    error recovery techniques employed by this version.  The
    omission of the ata switch is provided as a bridge between these
    technologies.
3.  The M(?) switch will only be enabled if the drive
    selected by the (?) is capable of performing multiple
    block mode data transfers.  If the * (led) indicator
    remains GREEN, then the drive rejected the multi-mode.
    You will have to then edit the config.sys file to
    implement fast reads or writes as desired or utilize no
    I/O switches to default to the old slow but sure mode.
4.  Utilization of the M(?)+ plus switch addition to select
    the maximum block xfer size will prove to be detrimental
    to the data xfer rate on some drives.  As the 'AT' world
    is ever changing, some early drive models gave totally
    "unworkable" maximum block sizes for this selection.  If
    one were to select the size that the drive offered, some
    drives would immediately lock up as part of this overall
    buffer is utilized as drive firmware scratch pad!  I
    utilize an algorithm to (hopefully) select a workable
    compromise of the total buffer area.
5.  Multiple Block mode on some early drives though enabled,
    will not work AT ALL with the driver as the early
    implementations of this multi mode were faulty.
7.  Data xfer rates with the use of the Multi-mode will be
    more noticed in systems that ask for large blocks of data
    in a single request.
8.  Fast reads and Fast writes are not mutually exclusive.
    Therefore any or all combinations of Fast I/O will be
    allowed.
9.  I will check the first 60 bytes of text after the = sign
    in the device=driver.hdd line in the config.sys file
    for command line switches.  This should be adequate for
    all possible configurations as described above.

Please leave me detailed messages about your configuration and
problems encountered.  We will be developing questionnaires for data
gathering and problem reporting at a later date.

Thanks for being a participant in the Beta test program here at
Dustbowl Designs.  I can only hope that your endless patience and hair
pulling experiences will be justly rewarded in the future by the
development of significant improvements to the product.



                                           Rob
