-----------------------------------------------------------------------------
                      SCSI Exerciser Help File (Rev 9421)
-----------------------------------------------------------------------------
Command line parameters for SCSIEXER.EXE.
   SCSIEXER [/H:hba#] [/T:scsi id] [/B:batch file]

 Notes: All integer values can be input in decimal, hex, or binary.

       decimal: default
       hex    : $ or !
       binary : 0b

       Example: To input the decimal block address 243 you would type the
                following:
                
                decimal : 243
                hex     : $F3
                binary  : 0b11110011

-----------------------------------------------------------------------------                

ACCESS LOG [target id] [/P] [/V]
                  - display the useage log, data log, and hardware error log

                    parm:
                      /P - sets the physical address bit in the ACCESS LOG
                           command.  The default is logical addresses.
                      /V - verbose mode.  Displays the error types and
                           error values for Data Errors.

BATCH batch file  - executes the input batch file.  Any command can be
                    used.  Also, the input parameters that some commands
                    require can be input.

                    Example:
                      target 1        - sets target id to 1
                      test unit ready - issues test unit ready command
                      read data       - read data command
                      100             - read data block address
                      1               - read data number of blocks
                      1               - read data block increment
                      1               - read data loop count

BLOCKSIZE [logical sector size],[physical sector size]
                  - Set the logical block size and the physical sector size.
                    Both values must be input if the 'physical sector size'
                    is changed.  If changing only the blocking factor then
                    the only the 'logical sector size' need be changed.

CB [source],[destination],[length]
                  - copy bytes from source to destination for length bytes in
                    the program data buffer.

                    Defaults:
                      source      = 0
                      destination = 0
                      length      = 1

CONSOLE           - direct output to CONSOLE.

CHANGE DEFINITION [target id] [/parm]
                  - changes between SCSI-1(CCS) and SCSI-2

                    parm:
                      /0 - no change (default)
                      /1 - SCSI(CCS)
                      /2 - SCSI-2

CHANGE CAPACITY   - changes the drive to default capacity, ie sets the EEPROM
                    values to default ($FFFFFF).

CLEAR LOGS [target ID]       
                  - clear all of the drive logs (uses ACCESS LOG)

CHANGE ID [target ID], [/T:target id|/D], [/W] 
                  - changes the SCSI target id,using the SCSI CHANGE ID
                    command.

                    Parms:
                      target ID : target to change

                      /T:target id : new target id
                      /D           : use option switch settings for target id
                      /W           : used for WIDE SCSI drives

                    Note: a SCSI reset must be issued before the new
                          target id will take affect.

CORRUPT           - allows you to create data errors on a target sector

DB [addr],[bytes] - display the program data buffer.

DECODE [DERROR], [ESDI Status], [SCSI Status1], [SCSI Status2] 
                  - decodes the four "Device Error Field" bytes from
                    the Lynx logs.  This data originates from the last
                    four bytes of the sense data.  There is not enough
                    room when printing the ACCESS LOG information, so
                    this command will decode the bytes.

                    Default: 0 for all bytes.

DISKCOPY source disk, destination disk
                  - copies source to destination disk.

DOWNLOAD [target id] [file] [/T] [/F]  
                  - download <file> to target id.
                    
                    Parms:
                      file - file to download, can be fully qualified.
                      /T   - test download using mode 0.
                      /F   - force download by placing $AA in hardware key.

                    Default:
                      ask for file name

EXIT              - exit the program and return to DOS.

FILL [parm1],[parm2],[length]
                  - fill the program data buffer with the input parm value. 
                    Values for parm1 and parm2 will alternate bytes.

                    Example:
                      FILL !0,!FF will put 00 FF 00 FF ... in the buffer.

                    Defaults:
                      parm1 = 1
                      parm2 = parm1
                      length = 1

FORMAT UNIT [target ID] [/A] [/P] [/C]
                  - format the media with the selected option.

                      Option:
                        /A = retain all spares (Primary and Growing List)
                        /P = retain only the Primary List
                        /C = enable certification

                    Default:
                      Retain all spares and disable certification.

HBA [hba #] [target ID]
                  - sets the Adaptec host bus adapter number if there is more
                    than one adapter on the system.  Also allows user to
                    change the SCSI Target ID.

                    Defaults:
                      HBA = 0
                      Target ID = no change

HELP [COMMAND]    - display this help file.  If the COMMAND parameter is
                    input, then just display that entry.

INQUIRY [target id] [/D] [/H] [/M] [/P] [/S]
                  - displays the Vendor ID, Product ID, and Firmware Revision.

                    Parms:
                      /D          standard page
                      /H          displays HBA inquiry
                      /P          list of supported pages (Page 0)
                      /S          serial number page (Page $80)
                      /M          manufacture page (Page $E0)

INCREMENT FILL [byte length]
                  - fills the program data buffer with incremented ASCII data 
                    starting at 0 and continuing until the end of the buffer.

MANAGE PRIMARY    - issue the SCSI manage primary command.

MAKE CMD cmd bytes, [phase], [data bytes], [timeout], [filename]
                  - sends command and data previously written in the
                    program data buffer to the SCSI device.

                    The phases are:
                      0 - no data phase
                      1 - data out phase
                      2 - data in phase

                    Defaults:
                      phase      = 0
                      data bytes = 0
                      timeout    = 30 secs
                      filename   = null

                    Example:
                      00: 01 00 00 00 00 00    (enter data into data buffer)

                      cmd=> Make cmd 6         (issues Rezero Unit Command)

MB [addr],[bytes] - modify the program data buffer (buffer starts at 0).

MHDSHIFT [target id] [/A] [/C:1|2|3] [/L:loop count] [/T:time constant]
                  - displays the head shift table values for each head.

                    Parms:
                      /A - align heads then display table.

                        Default: Don't align heads.

                      /C:1|2|3
                         1 = display cyl 0 only
                         2 = display max cyl only
                         3 = display both 0 and max cyl

                         Default: Option 3.

                      /L:loop count
                         Number of time to display alignment table

                         Default: 1

                      /T:time constant
                         Time delay (in seconds) between displays of 
                         alignment table if loop > 1.

                         Default: 0

MODE SELECT [target id] [/B]
                  - issue the SCSI Mode Select cmd.  Allows changing the
                    target's changeable parameters.

                    Parms:
                      /B - uses data from buffer as data phase for MODE 
                           SELECT command.  Data in the buffer must be format-
                           ted correctly or the command will return an error.
                           The SAVE DATA bit is set in the CDB.  This allows a
                           user to issue a MODE SENSE ofthe default mode values
                           and then send a MODE SELECT /B to change all of the
                           mode pages to their default values.

                    Default:
                      Ask for changeable values for specified page.

MODE SENSE [PCF],[PAGE]
                  - issue the SCSI Mode Sense Cmd.

                    Parms:
                      PCF  - 0  current page
                             1  changeable values
                             2  default values
                             3  saved values

                      Page - page no or 63 for all pages

                      Default: ask for parms.

OUTPUT [parm]     - directs the display output to a printer or DOS file
                    Parm can be any file or printer designation.

                    Example:
                      output lpt1
                        would direct the program output to the LPT1 printer
                        device.

                    Default:
                      prn

PARMS             - display the various program and scsi drive parameters.

QUIT              - exit the program and return to DOS.

READ CAPACITY [target id] [/P]
                  - issue the SCSI Read Capacity command.

                    Parm:
                       /P - sets the PMI bit.

                    Default:
                      Display the total logical blocks.

READ DATA [flag]  - Read data from the target beginning at the specified
                    address.  Use the DB command to display the data.
                    Max buffer size is 127 blocks, but you can specify any
                    transfer size.  The 'incr number' will determine
                    the size of the transfer.  The software will break
                    the transfer size into 127, 512 byte block chunks.

                    If flag > 0 then change the max address allowed to
                    maxint and the number of blocks to maxint.   This
                    allows a test of the firmware for out of bounds
                    condition.

                    Default:
                      flag = 0

READ BLOCK [block address],[number of blocks]
                  - Reads 'NUMBER of BLOCKS' and displays the blocks as
                    they are read.  Reads one block at a time until
                    control C is typed or the requested number of blocks
                    have been displayed.

                    Default:
                      block address    = ask for address
                      number of blocks = ask for number of blocks

READ BUFFER       - Fills the program data buffer with the data from the 
                    drive's buffer.  Use the DB command to display the data.

READ DEFECT LIST [target id] [/G] [/P] [/B] [/S]
                  - format and display or save to a DOS file either the
                    growing or the primary defect list.

                    Parms:
                      /G - display the Growing list
                      /P - display the Primary list
                      /B - display both the Primary and Growing list
                      /S - stores both the Primary and Growing list to a
                           DOS file.  Each list has it's own file.  The
                           program will prompt for the file name.  You can
                           then use these files to restore either list with
                           the MANAGE PRIMARY command.

READ FILE len,filename
                  - read DOS file 'filename' into program data buffer starting 
                    at 0 for 'len'.

READ PCA [start address],[number of bytes]
                  - Read the PCA EEPROM values.

                    Defaults:
                      start address   : 0
                      number of bytes : 1

READ HDA [start address],[number of bytes]
                  - Read the HDA EEPROM values.

                    Defaults:
                      start address   : 0
                      number of bytes : 1

RF BLOCK          - Read the entire block into the program data buffer and
                    display the contents of the header, data, and ECC fields.

REASSIGN BLOCK    - reassign a specifed block.

RELEASE           - Release the previously reserved target.

REQUEST SENSE     - read the sense data from the target, format and display
                    the result.

RESET [target id], [/B:port|/D]
                  - resets the drive or the SCSI bus.

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).
                      /B:port - resets the scsi bus (hard reset) for the
                                adapter on the port specified. 
                                (default: $330)
                      /D - issues a bus device reset to one target only
                           (DEFAULT)
                    
RESERVE           - Reserve the target for exclusive use by the initiator.

REZERO UNIT       - Target performs a recalibrate operation and then seeks to
                    logical address zero.

SC [/EP] [/DS:target] [HB:hba#] [/ET:value] [/WP:value] [/TL:value]
   [/TT:type[:block addr]] [/OT:operation] [/SD:value[:file]]
   [/OC:value[:num operations]]

                  - This command will call the DOS program SC.EXE.  SC is a
                    modified version of SCSI.EXE.  It will start up with
                    the defaults parms, unless any of the parms are changed
                    from the command line.

                    Options:

                      -------------------------------------------------------
                      /EP - exit program when action completed.

                      Default: do not exit program.
                      -------------------------------------------------------
                      /DS:value - selects the disk to be tested.

                      Default: target 0
                      -------------------------------------------------------
                      /HB:value - selects Host Bus Adapter.

                      Default: hba #0
                      -------------------------------------------------------
                      /ET:value - sets the Error Threshold.

                      Example: /Et:50 - sets the error limit to 50 errors.

                      Default: 100 errors
                      -------------------------------------------------------
                      /WP:value - sets the Write Pattern.

                      Example: /WP:$FF - sets the write patter to $FF.

                      Default: $6DB6DB6D
                      -------------------------------------------------------
                      /TL:0     - sets the transfer length to random lengths.

                      /TL:value - sets the transfer length to the input value.
                      Valid input is 1-128 blocks.

                      Example: /TL:128 - sets the transfer length to 128
                                         blocks

                      Default: Fixed Length of 1 block
                      -------------------------------------------------------
                      /TT:value[:Start Address] - Sets up the type of test.
                            Value:
                              1 - Random addresses (Address ignored)
                              2 - Sequential Address
                              3 - Fixed Address

                      Example: /TT:1 - sets program to random addresses

                               /TT:2:$400 - sets the program for sequential
                                             addresses starting at $400.

                               Default: Random Addresses
                      -------------------------------------------------------
                      /OT:value - Sets the type of operation.
                            Value:
                              1 - Read
                              2 - Write
                              3 - Read Compare
                              4 - Write Then Read
                              5 - WriteRead Compare
                              6 - Seek

                      Example: /OT:6 - performs seeks

                      Default: Reads
                      -------------------------------------------------------
                      /SD:value[:file] - Sets the Status Destination of
                                         output messages.

                            Value:
                              0 - printer
                              1 - Screen
                              2 - File

                      Example: /SD:2:error.log - logs output to dos file
                                                 error.log

                      Default: Screen
                      -------------------------------------------------------
                      /OC:value[:num of operations] - Sets the Operational
                                                      Control Parameters.

                            Value:
                              1 - continuous operation
                              2 - Number of operations (needs additional
                                                        parameter)
                              3 - Stop on Soft Error
                              4 - Stop on Hard Error
                              5 - Stop on Any Error

                      Example: /OC:2:100 - perform 100 operations and
                                           then stops.

                      Default: Continuous Operation

SEND DIAGNOSTIC [target_id] [/L:count]
                  - Execute the default self-test (see Tech Ref Manual for
                    specific product to determine tests executed during the
                    self-test).

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).
                      /L:count - loop on command for count times.
                                 Loop can be aborted with Control_Y.

                    Default:
                      loop count = 1

SET CAPACITY [capacity]
                  - changes the number of blocks (capacity) the drive
                    will support.

                    Capacity Input              Effect
                    --------------------------  -------------------
                    capacity = 0                no change [default]
                    0 < capacity <= max blocks  new capacity
                    capacity = $FFFFFF          max blocks
                    capacity > max blocks       error

START UNIT [target_id] [/I]   
                  - Issue the SCSI start unit command.

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).
                      /I - sets the immediate bit in the CDB

STOP UNIT [target_id] [/I]    
                  - Issue the SCSI stop unit command.

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).
                      /I - sets the immediate bit in the CDB

TARGET [target_id]
                  - changes the SCSI target id

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).

TEST UNIT READY [target_id] [/L]
                  - Determine if the target is ready for commands.

                    Option:
                      ID - SCSI device address: 0 thru 7 (default no change).
                      /L - loop on command until drive comes ready.
                           Loop can be aborted with Control_Y.

TRANSLATE [from],[to]
                  - uses the SEND DIAGNOSTIC and RECEIVE DIAGNOSTIC SCSI
                    Commands to translate an address from logical block to
                    Cyl, Head, Sector or visa versa.

                    Parms:
                      0 - logical block address
                      5 - Physical Cylinder, Logical Head, Physical Sector
                      6 - Physical Cylinder, Logical Head, Logical Sector

VERIFY [flag]     - issues a SCSI VERIFY command to target.  There is no
                    data phase with this command, it reads the data and
                    verifies ECC only.  (See READ DATA command for details
                    for 'flag', etc).

WF BLOCK          - issue the Write Full Block command.  Uses the program
                    data buffer for the data phase.

WRITE BUFFER      - Contents of the program data buffer is transferred to the
                    drive's buffer.  Use FILL or MB to write user pattern
                    to the program data buffer.  This command transfers data
                    for the user patern in the Write Only Media Test.

WRITE DATA [flag] - Write the contents of the program data buffer to the
                    target beginning at the specified address.  Use FILL
                    or MB to modified the program data buffer.  (See READ
                    DATA command for details).

WRITE FILE len,filename
                  - write program data buffer starting at 0 for 'len' to a DOS
                    file 'filename'

WRITE PCA address,value
                  - write one byte into the PCA EEPROM at specified address.

                    Defaults:
                      none - both parameters must be input

WRITE HDA address,value
                  - write one byte into the HDA EEPROM at specified address.

                    Defaults:
                      none - both parameters must be input

WRITE SAME [parm] - writes the data in the program data buffer to the disk for
                    the block count number of times.

                    Parm:
                      0 - don't write address at start of block (default)
                      2 - write first four bytes with logical block address
                      4 - write first eight bytes with physical address

WRITE SERIAL [serial number]
                  - writes the drive serial number to drive using Mode page
                    $25.  This is same serial number that can be accessed with
                    the VPD page $80 of the Inquiry command.  The serial number
                    is in the form 3200A12345.

< END >

