
 Runstream (R) IBM MCA SPOCK-206 Windows 95/98 SCSI Miniport Driver
 Copyright (C) Unal Z, 2006 for Runstream & PS/2 MCABASE
 -------------------------------------------------------------------
 Beta Test SPOCK-206                              unalz@mail333.com

          http://www.members.aon.at/mcabase/spock206.htm

  This document complements the SPOCK206 installation instructions
  and presents authentic test reports.

  The driver installation procedure is described in INSTALL.TXT.

    *****  Read INSTALL.TXT before you install the driver *****

  CONTENTS

  1. Before You Start
        Driver ZIP contents
        LED Display PS/2 Server 95  	
        LED Panel SCSI-II Operation Codes
  2. Driver Update and Performance Test
  3. History of the Driver     
  4. Test Reports

 1. BEFORE YOU START

   You need a MicroChannel machine with an IBM SCSI host adapter and the
   Windows 95/98 operating system. 
   
   The SPOCK-206 driver is an UPDATE of the Windows SPOCK driver. You must
   have the Windows 95/98 SPOCK driver installed before you update it with
   SPOCK-206.

   SPOCK-206 supports the following IBM MCA SCSI Host Adapters in high
   performance busmastering mode with 32-bit addressing:
  
   ID     Adapter                                      Code
   -------------------------------------------------------------
   8EF8   IBM Expansion Unit SCSI Controller           --  
   8EFC   IBM Fast/Wide SCSI-2 Adapter/A               Corvette
   8EFD   IBM 7568 Industrial Computer SCSI Adapter    -- 
   8EFE   IBM PS/2 SCSI Adapter                        Tribble
   8EFF   IBM PS/2 SCSI Adapter w/Cache                Spock
   FFFF   Planar SCSI IBM PS/2 Models 9556/9557
  
   The eventually available onboard cache does not affect the performance
   of the adapter when used with SPOCK206. Commands, natively supported by
   the adapter are bypassed and SCSI-II commands are issued directly to the
   addressed device. Thus, all of the above adapters are SCSI-II compliant
   when operated under SPOCK206. SCSI messaging is handled by the adapter.

   Planar SCSI subsystems are detected and supported by SPOCK26, even when
   the subsystem identifies itself with an FFFF ID.
   
   DRIVER ZIP CONTENTS

   Two separate sets of drivers are provided, for use on Windows 95 or 
   Windows 98/98SE.

   Unpack the contents of SPOCK206.ZIP in a directory or on a diskette.
   You should have the following files:

     README   TXT   -- Driver information and test reports
     INSTALL  TXT   -- Installation instructions

     WIN95   <DIR>  -- Windows 95 drivers
       SPOCK206 INF    Windows driver installation INF file
       SPOCK2   MPD    SPOCK-206 Miniport Driver
       SPOCK2B  MPD    SPOCK-206 Miniport Driver with Disk Activity Light
       SPOCK2C  MPD    SPOCK-206 Miniport Driver with LED Display Monitor

     WIN98    <DIR> -- Windows 98/98SE drivers
       SPOCK206 INF    Windows driver installation INF file
       SPOCK2   MPD    SPOCK-206 Miniport Driver
       SPOCK2B  MPD    SPOCK-206 Miniport Driver with Disk Activity Light
       SPOCK2C  MPD    SPOCK-206 Miniport Driver with LED Display Monitor


   To differentiate between the Windows SPOCK driver and the SPOCK-206
   driver, the driver description has been defined as:

   IBM MCA SCSI SPOCK-206             = IBM MCA SCSI Host Adapter on SPOCK-206
   IBM MCA SCSI SPOCK-206 DISK LIGHT  = Same as above, with disk light enabled
   IBM MCA SCSI SPOCK-206 LED DISPLAY = Same as above, with LED Display Panel
   IBM MCA SCSI Hostadapter           = This is the Windows driver.

   NOTE: SPOCK-206 can manage the disk lights on your machine to indicate
   communications with the SCSI host adapter. The disk activity light in
   such cases does not necessarily imply your fixed disks are being accessed.
   
   Select "IBM MCA SCSI SPOCK-206 DISK LIGHT" at installation time if you wish
   the driver to manage the disk activity light. You may experience a slight
   decrease in the transfer rates of about 1% of the total transfer rate.
   
   Select "IBM MCA SCSI SPOCK-206" at installation time if you wish to disable
   the disk activity light. This version will NOT manage the disk light on your
   machine. 
   
   NOTE: IBM SCSI are MCA adapters and as such resources used by the adapter
   are automatically obtained from the adapter POS settings. This means, that
   any changes in the Windows SPOCK-206 device panel concerning used resources
   are rendered useless. You can, however, insert the correct values for the
   resources used by the adapter to help Windows resolve resource conflicts
   resp. prevent Windows making false resource conflict claims.

    
   SPOCK-206 LED DISPLAY on PS/2 SERVER 95  	
   
   Windows 95/98 boot times will be slightly delayed when using the LED Panel
   option. A time delay is inserted between the driver initialization messages
   for the better readability. Without delays, messages are simply unreadable.

   No delays are inserted between normal operation messages.
      
   You may not be able to see and detect all messages in the normal course of
   operation. Most of the time you will see READ or WRT messages along with 
   an occasionally blinking asterisk '*' indicating interrupt handling.
   
   Following are the driver messages for the LED Display Panel. For the
   xx codes, see the list further below.
   
   Message      Description
   ---------------------------------------------------------------------------
   *          = Interrupt handler entered
   READ xx    = Data in from device to system, xx is the SCSI-II code of the
                command
                
   WRT  xx    = Data out from system to device, xx is the SCSI-II code of the
                command
                
   SEND xx    = No data transfer involved, xx is the SCSI-II code of the
                command
                
   FAIL xx    = Command failed, xx is the SCSI-II code of the command.

   INIT xxxx  = Status code xxxx of SCSI PortInitialize on leaving DriverEntry
                0000 is evidently the success code (Windows 95)
                0001 might indicate initialization failure (Windows 98SE)
   INIT OK    = Init success

   PORT IO:X  = Probing I/O ports for IBM MCA SCSI adapters, X is the port index
   CORVETTE   = Corvette detected
   ID FAIL    = No IBM MCA SCSI adapters found on the known I/O ports
   BAD FW:F   = Bad firmware, adapter revision level 0xF.

   RESETBUS   = Reset Bus Command
   IMMD       = Issuing Immediate Command to adapter
   TSB        = Checking Termination Status Block

   EOI TOUT   = Wait on busy to send EOI timed out
   SCB TOUT   = Wait on busy to send SCB timed out
   IMC TOUT   = Wait on busy to send immediate command timed out

   GPOS FAIL  = Get POS SCB command to adapter failed
   TSB ERR    = TSB Error, SCB command completed with error

   INIT E:FC  = Feature Control immediate command to adapter failed
   UNCX E:00  = System call failed, UncachedExtension cannot be allocated
   PHYS E:00  = System call failed, cannot obtain PhysicalAddress.
   ---------------------------------------------------------------------------

   LED PANEL SCSI-II OPERATION CODES
 
   Following is the of the SCSI command codes displayed on the LED Panel
   when using the SPOCK-206 LED Panel version. This table is taken from
   SCSI.H of the Windows 95/98 DDK:
   
   Command         LED xx
   ------------------------
   TEST_UNIT_READY     00
   REZERO_UNIT         01
   REWIND              01
   REQUEST_BLOCK_ADDR  02
   REQUEST_SENSE       03
   FORMAT_UNIT         04
   READ_BLOCK_LIMITS   05
   REASSIGN_BLOCKS     07
   READ6               08
   RECEIVE             08
   WRITE6              0A
   PRINT               0A
   SEND                0A
   SEEK6               0B
   TRACK_SELECT        0B
   SLEW_PRINT          0B
   SEEK_BLOCK          0C
   PARTITION           0D
   READ_REVERSE        0F
   WRITE_FILEMARKS     10
   FLUSH_BUFFER        10
   SPACE               11
   INQUIRY             12
   VERIFY6             13
   RECOVER_BUF_DATA    14
   MODE_SELECT         15
   RESERVE_UNIT        16
   RELEASE_UNIT        17
   COPY                18
   ERASE               19
   MODE_SENSE          1A
   START_STOP_UNIT     1B
   STOP_PRINT          1B
   LOAD_UNLOAD         1B
   RECEIVE_DIAGNOSTIC  1C
   SEND_DIAGNOSTIC     1D
   MEDIUM_REMOVAL      1E
   READ_CAPACITY       25
   READ                28
   WRITE               2A
   SEEK                2B
   LOCATE              2B
   WRITE_VERIFY        2E
   VERIFY              2F
   SEARCH_DATA_HIGH    30
   SEARCH_DATA_EQUAL   31
   SEARCH_DATA_LOW     32
   SET_LIMITS          33
   READ_POSITION       34
   COMPARE             39
   COPY_COMPARE        3A
   WRITE_DATA_BUFF     3B
   READ_DATA_BUFF      3C
   READ_LONG           3E
   CHANGE_DEFINITION   40
   READ_SUB_CHANNEL    42
   READ_TOC            43
   READ_HEADER         44
   PLAY_AUDIO_10       45
   PLAY_AUDIO_MSF      47
   PLAY_TRACK_INDEX    48
   PLAY_TRACK_RELATIVE 49
   PAUSE_RESUME        4B
   LOG_SELECT          4C
   LOG_SENSE           4D
   PLAY_AUDIO          A5
   READ_CDDA           D8
   
   
 
 2. DRIVER UPDATE AND PERFORMANCE TEST
   
   Driver updates are announced in comp.sys.ibm.ps2.hardware. Normally, 
   the latest update of the driver is at the following link:
   
      http://www.members.aon.at/mcabase/pub/files/spock206.zip

   The driver homepage located at the following link:

      http://www.members.aon.at/mcabase/spock206.htm

   You can use any SCSI disk performance test program to benchmark your
   with SPOCK-206 updated Windows system. I use CORETEST, a DOS program,
   which runs under DOS and in the Windows DOS prompt, full screen.
   
   You can obtain CORETEST from the following link:
   
      http://www.members.aon.at/mcabase/pub/files/coretest.zip
   
   Due to the age of the program, it tends falsely to attribute too high
   disk tranfer rates to a disk caching program.
   
   Enter "CORETEST HELP" in the DOS command line for a brief explanation
   of the test procedures and usage of the program.
   
   I run CORETEST mostly with the default options, but the option /T:10
   gives the better average results (tests run for 10 seconds).
  
   Usage: CORETEST [?] [HELP] [/B:xx] [/C:xxx] [/D:n[="xxx"]] [/P:xx] [/T:xxx]
   
   Where:  ?       - Print help information
           HELP    - Print help information
           /B:xx   - Force transfer block size to xx KB
           /C:xxx  - Set cylinder seek range
           /D:n[="xxx"] - Test drive n (0-7).  Use "xxx" as name of drive
           /P:xx   - Pause for xx seconds after test complete
           /T:xxx  - Run transfer test for xxx seconds


 3. HISTORY OF THE DRIVER
 
   SPOCK-206 is an acronym for SPOCK Miniport Driver 2006. The driver is
   based on code samples published by Microsoft Corp. in the Windows NT DDK.
   You can find the code samples in the MSDN Subscription Collection 1995-96.
   
   Driver testing has been done by the members of comp.sys.ibm.ps2.hardware.
   I'd like to express my sincere thanks to all testers for their invaluable
   work and reported problems. Test reports are included in the next section
   of this document.
     
   The excerpts below from the discussion in W9xNT MCA Adapters - SPOCK
   (this the thread from comp.sys.ibm.ps2.hardware) highlight some of the
   interesting moments in the development phase. In less than a month, first
   driver builds managed to increase the disk transfer rate by 10% to 15%
   over the stock Windows SPOCK driver.


   CHARLES LASITTER (July 4, 2006)
 
   UZnal's free programming labor for the SPOCK206 driver update has
   again netted Doctors Without Borders a contribution in his honor.

   Thanks UZnal!


 4. TEST REPORTS

   Following are excerpts from authentic SPOCK206 test reports, lighlty edited
   for brevity. Reports are in chronological order.


   UNAL Z (May 30, 2006)
   
   IBM MCA SCSI Miniport Driver SPOCK-206 for Windows 95/98/NT.
     
   Installed and tested on W95 special MSDN version, Mod. 77 planar SCSI/8EFF,
   i.e. Spock. Measured immediately 10% performance boost in the dark ....!!!
   
   DMA resource added, but Windows showed the wrong Arb Level, never mind. See
   INSTALL.TXT for installation instructions. Corvette support not yet added.
   No disk activity light ....;)

 
   UNAL Z (May 30, 2006)
  
   IBM DORS disk, average results with CORETEST (DOS program), latest test:
   
   DOS
       2,800 KB/secs - DOS
   
   SPOCK-206
       2,500 KB/secs - Windows DOS prompt, full screen
   
   Windows Spock:
       2,200 KB/secs - Windows DOS prompt, full screen
   
   The improvement is on the average 300 KB/secs. Close to 15% and more than
   10%, because Coretest delivers at times slightly different results on each
   run.
   
   
   WILLIAM WALSH (May 31, 2006)
   
   I will be trying the on-planar SCSI of a 9585-0XF ("Defiant") tonight
   to see what happens with Win95 OSR2. This computer has 64MB RAM and a
   133MHz AMD CPU.
      
   Here are the results I got from the two different SCSI drivers using
   CORETEST:
   
   Microsoft Driver (CORETEST windowed): 2187.5KB/s
   UZ's Driver (CORETEST windowed): 2257.5KB/s
   UZ's Driver: (CORETEST fullscreen): 2540.3KB/s
   
   I totally forgot to do a test with the M$ driver and CORETEST running
   fullscreen. 
   
   > Windowed DOS is impaired by display issues, it won't deliver correct
   > timings to CORETEST. Better avoid it, use only full screen.
   
   Attached to the onboard IBM MCA SCSI are an IBM DCAS 32160 (a good
   performing, quiet and and cool running drive) and a Toshiba XM-6401TA
   CD-ROM drive.
   
   The performance of the system feels much faster than normal. I don't have
   hard numbers for the CD-ROM drive, but copying files from the Office 97 CD
   felt noticeably faster.
   
   So far the system is reliable (and the activity LED is working). I think it
   can be said that the Model 85 "X" is OK with this driver.
   

   LOUIS OHLAND (June 1, 2006)
   
   Seeing CORETEST pop up brings back memories of dial up BBS.
   
   Installed it over existing SPOCK. Windows said there was a conflict 
   and did I want to remove conflicting device? I said yes, and it warm 
   rebooted. Settings were wrong, so I reset the I/O address. Rebooted, ran 
   System Programs to set DMA to 7 [default is C], disabled DMA on the 
   parallel port [never used it anyways], and tried to re-enter W98SE, 
   which hung during the green screen, cursor with hour-glass. Shut down, 
   power off, back in Safe Mode, it works [ as much as safe mode does], 
   rebooted into W98SE, a bit of disk thrash, then I was in.
   
   M$ SPOCK - 4212.4 KB/sec
   
   SPOCK206 - 7588.9 KB/sec
   
   CORETEST bitches about probable caching and humma, humma, humma.
   
   Model 90, 64MB of FPM, Corvette [.77 flash], narrow, 1.08 DPES-31080, 8x 
   CD [untested].
   
   I swapped out the memory in J14 / J1 and J2. No more error messages. I 
   tested the complex specifically, and it passed. I would guess that the 
   memory error triggered a sympathetic hiccup in the complex.
   
   
   JIM SHORNEY (June 2, 2006)
   
   Grabbed it tonight to try out, along with Coretest. Same platform as
   used to test the XGA-2 driver, Bermuda 77-Ultimedia with Win95B and
   planar SCSI, 24 MB RAM, XGA-2 @800x600 (still counting colors). Hard
   disks are 2x IBM 0661-467 400MB each.
   
   Confirmed that the M$ Spock driver was installed and functioning
   properly. Ran three passes of Coretest in fullscreen:
   
   DISK 0: 1125.0, 1176.6, 1196.5
   DISK 1:  918.4,  926.9,  926.6
   
   Installed Spock-206 per instructions and restarted. No errors,
   exclamation points, etc. Confirmed in Device Mangler that Spock-206 is
   installed and functioning properly. 3540-3547, IRQ 14, DMA 7. Again,
   three passes of Coretest in fullscreen:
   
   DISK 0: 1200.8, 1175.1, 1154.9
   DISK 1:  920.4,  921.4,  927.8
   
   Rebooted to check resources in SC, changed DMA Arb. from C to 7. No
   difference, as expected.
   
   Interesting. This machine must be bottlenecking somewhere. I suspect it
   is the CPU. Looking for a DX4-100ODP. The system does seem a bit
   perkier. Shutdown was fast.
   
   > The disks, I would say. There is no difference between the both drivers,
   > but tests with other, newer, disks show a difference.
   
   I do like my disk light....
   
   
   WILLIAM WALSH (June 2, 2006)
   
   The significance of microseconds indeed...here are some more results with
   various adapters in a Model 90 with a T4-P60 complex, 32MB RAM, Madge Smart
   Ringnode 32 and Win95OSR2. The hard disk in use is a 540MB Quantum pulled
   from a Power Mac 6100. I think you'll find them striking at the very least.
   
   Old long uncached SCSI/A
   M$: 2074.6KB/sec
   UZ: 2402.8/KB/sec
   
   New short uncached SCSI/A
   M$: 2724.8KB/second
   UZ: 2920.4KB/second (!!!)
   
   Old cached SCSI/A (single oscillator)
   M$: 1629.3KB/second
   UZ: 1786.0KB/second
   
   New cached SCSI/A (triple oscillator):
   M$: 2194.9KB/second
   UZ: 2390.9KB/second
   
   I have no dual oscillator SCSI with cache cards that I know of. If I find
   one, I'll test it.
   
   Model 85-0XF Planar (with DCAS-32160 hard disk):
   M$: 2187.5KB/second
   UZ: 2540.3KB/second
   
   I tried a Corvette and it must not have liked the Quantum hard drive. I will
   try another drive soon as I couldn't even get the system to boot. It threw a
   consistent "unidentified SCSI device error" during POST. Maybe the drive is
   not fast enough for the Corvette adapter.
   
   I'm surprised at how the uncached cards manage to exceed the performance of
   the cached ones with the CORETEST utility. Especially surprising is how the
   late model short uncached SCSI/A really seems to be the fastest of anything
   I could test so far in the IBM MCA SCSI family...with the on-planar SCSI of
   the 9585-0XF coming in a close second.
   
   (For the record, the short uncached SCSI/A won't run reliably on a Model 95
   dual LPT planar under Windows NT. I was told this was because the adapter
   might be too slow for that planar. Perhaps the NT Spock driver just can't
   cope with this adapter. It seems to be adapter revision level sensitive.)
   
   Now, for further results with 2MB cache installed on the cached adapters:
   
   Old cached card, 2MB cache (single oscillator)
   M$: 1612.0KB/second
   UZ: 1770.9KB/second
   
   New cached card, 2MB cache (triple oscillator)
   M$: 2173.6KB/second
   UZ: 2432.8KB/second
   
   I find the difference between 512KB cache and 2MB to be interesting. Only
   the newest triple-oscillator card seems to get better performance with UZ's
   driver. Otherwise performance gets worse across the board with more cache
   present.
   
   Earlier in this thread I thought I saw reference to the fact that the cache
   on the cached adapters was ignored by the present M$ driver. Is that true
   with the new driver? (I'd have to think that a cached adapter using its
   cache would easily outrun an uncached adapter.)

   > The adapter must manage and maintain the cache, but a local disk cache
   > is much more efficient than a global, adapter cache. Newer disks have
   > probaby the faster processors than Spock/Corvette have.
   
   > The only reference to the cache in the techref is READ PREFETCH, but to
   > use this efficiently in a multiple device configuration you need the
   > proper logic. READ PREFETCH is not explicitly used. The miniport
   > issues the commands coming from the class layer below, and READ
   > PREFETCH is specific to Spock, it is not designated as a standard SCSI
   > command in the techref. It is not either in the SCSI OP table of the DDK.
   
   I do believe the 9585 "X" planar has a (512K?) cache for its SCSI chipset.
   Advanced diagnostics does run a cache test on this system.
   
   
   DANIEL HAMILTON (June 2, 2006)
   
   It's the speed of complex alone, and not that it's a Type 4. 
   
   Type 3, DX5-0   Works
   Type 3, AMDUPG  Doesn't Work
   Type 4, DX2-66  Works
   Type 4, P-60    Doesn't Work
   Type 4, P-66    Doesn't Work
   Type 4, P-90    Doesn't Work
   
   Simply swapping out these complexes will change the operational status 
   of the SCSI controller.  For example, I installed W98SE with a T4/90. 
   SCSI wouldn't work and popped in a T4/486-66 and it works.  Others have 
   tried a T3 upgraded with an AMD 133 I think? and the SCSI doesn't work, 
   although going back to the stock DX50 will result in the SCSI working 
   again.  These "speed" issues aren't present in Win95B, only Win98FE/SE.
   
   
   UNAL Z (June 11, 2006)
   
   Oh, SHREK killed the M$ONSTER ..... !!! SPOCK206 fixed W98SE on P60.
   
   The LED/95 option tested on W98SE with the P60 complex, Mod. 95.
   
   The offending word was MICROCHANNEL ( + PENTIUM, I would say). That one
   line fixed the things. It was that simple.
   
   CORETEST shows the same performance as it was on W95 with SPOCK206, that is
   2750 MB/sec. Before it was 680 MB/s. And, yes, the yellow mark disappeared.
   
   
   WILLIAM WALSH (June 11, 2006)
   
   Confirmed! (At least it is working on the Model 90/P60 testbed machine.)
   
   Performance is noticeably better and system response time is much snappier.
   Video redraw (on-planar XGA-1, M$ driver, 1MB VRAM, 640x480x16bit color)
   also feels faster.
   
   While it is not the focus of discussion, I can confirm that a Corvette
   adapter is working with this driver right now. CORETEST said that transfers
   were around 6200KB/s from a 50-pin 2.1GB 7200RPM Seagate Barracuda drive.
  
   Before I get too much further, there is the matter of a big THANK YOU for
   fixing this trouble. It is great to have MCA perform more properly under
   Win98(se).
   
   
   LOUIS OHLAND (June 11, 2006)
  
   Model 90, Turbo-Y 180MHz complex, 64MB of FPM, Corvette [.77 flash], 
   narrow, 1.08 DPES-31080, 8x CD [untested]. Existing 1 June SPOCK 206 had 
   "!" as expected, no CD Rom.
  
   Installed it over existing 1 June SPOCK-206.
  
   After restart [warm restart, no power down] system came up into protected
   mode. No "!" on SCSI controller. Both IBM DPES disk and CD-ROM visible 
   under system manager.
  
      M$ SPOCK - 4212.4 KB/sec [M complex]
  
      SPOCK206 - 7588.9 KB/sec [M complex] 1 June 2006 build
  
      SPOCK206 - 7844.0 KB/sec [turbo-Y] 11 June 2006 build, no LED/lights
  
   Hmm, 7.8MB/sec, not bad for a narrow device. Wonder how a wide drive will
   do... UZ, I am not satisfied yet. When it hits 8.4MB, then I will be.
  
   
   CHARLES LASITTER (July 4, 2006)
 
   UZnal's free programming labor for the SPOCK206 driver update has
   again netted Doctors Without Borders a contribution in his honor.

   Thanks UZnal!
   

 END.