
 Runstream (R) Query SPOCK / DOS          QUERY IBM SCSI ADAPTERS
 Copyright (C) Unal Z, 2006 for Runstream & PS/2 MCABASE
 -------------------------------------------------------------------
 Beta Test                                       unalz@mail333.com
 
   Program Build:  August 09, 2006
   -------------------------------
   OPERATIONAL ON DOS, REAL MODE

   This document contains instructions on using QSPOCK for DOS.

   Revision history
   ----------------
   2006/05/21 - Release 01.02
                Initial release
   2006/05/22 - Fixed misordered adapter info fields. 
   2006/07/29 - Release 02.00 
                Added Corvette VPD and Get Commmand Complete Status SCB-Command
   2006/08/09 - Release 03.00 
                Added Corvette POS Subextensions and -l command line option
                for long output
                
                 

   CONTENTS
 
     1. Query IBM SCSI Adapters
     2. How to Run QSPOCK.EXE
     3. Query Results
  
  
 1. QUERY IBM SCSI ADAPTERS

   This program will probe the known IBM SCSI I/O ports and attempt
   to retrieve adapter status information and adapter POS information
   for every adapter which responded to the port read probe.

   The I/O ports are 3540, 3548, 3550, 3558, 3560, 3568, 3570 and 3578.
   
   The retrieved information, including adapter ID and the three POS bytes
   is obtained directly from the adapter through the Subsystem Control Block
   (SCB) "Get POS and Adapter Information" as described in the technical
   reference of the IBM adapter with cache, better known as SPOCK.
   
   This contrasts the procedure of querying MicroChannel slots or the planar
   to identify adapters and retrieve configuration information through the 
   POS bytes. The POS identification procedure is NOT implemented in this 
   program.
   
   
 2. HOW TO RUN QSPOCK.EXE

   You need a MicroChannel machine with an IBM SCSI adapter or planar
   SCSI option to obtain interesting results from this program.
   
   The program is intended to be run on a true, standalone DOS. Though it
   will execute in the DOS window on Windows, it wouldn't be able to deliver
   the complete adapter information.
   
   The reason is that the program must use physical addresses to communicate
   to the adapter the location of the Subsystem Control Block (SCB), 
   Termination Status Block (TSB) and the data buffer which contains the
   results from the adapter. Physical addresses can be easily calculated in
   real mode.
  
   QSPOCK will deliver adapter information for all detected adapters in 
   only one run.
  
   If you are not running DOS but wish to use QSPOCK, simply boot with a
   DOS diskette and run QSPOCK from the DOS prompt.
   
   For a help on available command line options enter
   
               QSPOCK -h
               
   The default mode of operation suppresses the long, detailed output. To
   obtain complete information run with
   
               QSPOCK -l 
   
   You can redirect the program output to a file after the first initial
   runs. To redirect the output to QSPOUT.TXT, enter on the A: prompt:
      
   				A:\QSPOCK > QSPOUT.TXT
   
   In some cases you have booted DOS from a diskette and run QSPOCK from
   another diskette, DOS might prompt you to insert the boot diskette
   with COMMAND.COM.
   
   
 3. QUERY RESULTS

   Following are the adapter IDs of the IBM MCA SCSI adapters:
   
   8EF8   IBM Expansion Unit SCSI Controller 
   8EFC   IBM Fast/Wide SCSI-2 Adapter/A (Corvette) 
   8EFD   IBM 7568 Industrial Computer SCSI Adapter with Cache 
   8EFE   IBM PS/2 SCSI Adapter (Tribble) 
   8EFF   IBM PS/2 SCSI Adapter w/Cache (Spock) 
 

   I tested QSPOCK on Mod. 57/486SLC3 and Mod. 77/Bermuda, both with 
   planar SCSI, and on Mod. 95 with two SCSI adapters, Corvette and Spock.
   
   Note that DMA is disabled on Mod. 57 and the adapter ID is FFFF. Also,
   the DMA pacing factor is set to a unintelligible value of 255 (FFh), 
   probably because DMA has been disabled.
   
   Short explanations of adapter status terms follow.

   DEVICE CACHE STATUS and DEVICE RETRY STATUS 

   Each bit in the Device Cache Status and Device Retry Status corresponds
   to a logical device. If a bit is set to 1, the cache resp. retries are
   disabled for the respective device. The bit position is used to number
   the device. For instance, in 0 .... 0 0 1 1 1 1 the cache is disabled
   for the devices 3, 2, 1 and 0.

   DMA PACING FACTOR

   The pacing factor is specified as the percentage of the total bandwidth
   the adapter is allowed to use. The acceptable range is 25 to 100 percent.
   A power-on or MicroChannel reset will set pacing to 100% (no pacing).
  
   --------------------------
   Model 57, planar SCSI:
 
             DMA Enable: No	
             Adapter ID: FFFF
       POS Register [2]: 0 0 0 0 0 1 0 1 
       POS Register [3]: 1 1 1 0 0 0 0 0 
       POS Register [4]: 1 1 1 1 1 1 1 1 
        Interrupt Level: Eh ( 14 )
 Adapter Revision Level: 3h
      Channel Connector: 16-bit
  Num Devices Supported: 7
    Num LUNs per Device: 8
    Num Logical Devices: 16
      DMA Pacing Factor: 255
   EOI to Interrupt Off: 1 msecs
  Max Adapter Busy Time: 10 secs
    Device Cache Status: 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 (Disabled for 3-0)
    Device Retry Status: 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 (Disabled for 3-0)
 
   --------------------------
   Model 77, planar SCSI:
 
             DMA Enable: Yes
       POS Register [2]: 0 0 0 0 0 0 0 1 
       POS Register [3]: 1 1 1 1 1 1 0 0 
       POS Register [4]: 0 0 1 0 0 0 0 0 
        Interrupt Level: Eh ( 14 )
 Adapter Revision Level: 25h
      Channel Connector: 32-bit
  Num Devices Supported: 7
    Num LUNs per Device: 8
    Num Logical Devices: 16
      DMA Pacing Factor: 100
   EOI to Interrupt Off: 1 msecs
  Max Adapter Busy Time: 30 secs
    Device Cache Status: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Enabled for all)
    Device Retry Status: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Enabled for all)

   --------------------------
   Model 95, Corvette:
 
             DMA Enable: Yes
             Adapter ID: 8EFC
       POS Register [2]: 1 1 1 1 0 0 0 1 
       POS Register [3]: 1 1 1 0 1 1 0 0 
       POS Register [4]: 0 0 1 1 1 1 0 0 
        Interrupt Level: Eh ( 14 )
 Adapter Revision Level: 71h
      Channel Connector: 32-bit
  Num Devices Supported: 30
    Num LUNs per Device: 32
    Num Logical Devices: 16
      DMA Pacing Factor: 100
   EOI to Interrupt Off: 1 msecs
  Max Adapter Busy Time: 30 secs
    Device Cache Status: 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 (Disabled for 3-0)
    Device Retry Status: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Enabled for all)
 
  ------------------------
  Model 95, Spock:
              
             DMA Enable: Yes
             Adapter ID: 8EFF
       POS Register [2]: 1 1 1 1 0 0 1 1 
       POS Register [3]: 1 1 1 1 1 1 0 1 
       POS Register [4]: 1 0 1 0 0 0 0 0 
        Interrupt Level: Eh ( 14 )
 Adapter Revision Level: 9h
      Channel Connector: 32-bit
  Num Devices Supported: 7
    Num LUNs per Device: 8
    Num Logical Devices: 16
      DMA Pacing Factor: 100
   EOI to Interrupt Off: 1 msecs
  Max Adapter Busy Time: 30 secs
    Device Cache Status: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Enabled for all)
    Device Retry Status: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Enabled for all)

   
END.