COPYRIGHT (c) 1994 WESTERN DIGITAL CORPORATION WDCDRV.DOC READ ME FILE FOR WDCDRV.386 WDCDRV.386 Version: 2.5 Date: 6/17/94 Size: 16,475 BYTES CAVIAR.EXE Version: 1.1 Date: 8/22/94 Size: 54,384 1.1 Overview WDCDRV.386 is a "Fastdisk" hard disk driver for use under Microsoft's Windows 3.1 on 386 or higher based systems. Its main benefit is its ability to transfer data from the hard disk in either a Block Mode PIO fashion, EISA type 'B' DMA fashion, or PCI type 'F' fashion. CAVIAR.EXE is a configuration program that allows the user to change the option settings for WDCDRV.386 through a Windows program. This program makes it unnecessary for the user to edit SYSTEM.INI directly to change the options that WDCDRV.386 reads from the [WDCDRV] section of that file. It also will reduce the possibility of the user making invalid edits or damaging his SYSTEM.INI while manually editing it. During installation, the setup program creates a program group and icon for executing this configuration program. The program includes on-line help for operating the program as well as the purpose of each option setting. Reviewing this help information is highly recommended. 1.2 WDCDRV Features WDCDRV implements several enhancements to the basic *WDCTRL Fastdisk driver shipped with Windows 3.1. The subsections that follow contain summaries of these features. For more detailed descriptions of the related options for each feature see section 3.x. 1.2.1 Block Mode PIO Block Mode PIO is a means of transferring multiple sectors at a time between the host and hard disk as opposed to transferring one sector at a time. Normally in an AT compatible machine a hardware interrupt occurs for each sector transferred to/from the hard disk. Under Block Mode PIO one interrupt will occur for a block of sectors. The number of sectors that are to be transferred per interrupt is programmable by the host and is referred to as the blocking factor. The driver will determine if block mode is enabled for the drive when you start Windows. If block mode is detected then the blocking factor programmed is used as the default value for the Fastdisk driver. If block mode was not enabled for the drive when Windows was started the default blocking factor used equals the maximum blocking factor supported that is reported by the drive on an Identify Drive command. Transferring data via Block Mode PIO increases throughput by eliminating the inter-sector overhead associated with each sector. This is most beneficial when the hard disk is transferring data out of its cache. Block Mode data transfers are enabled by default. 1.2.2 DMA Transfers Transferring drive data via DMA allows the host CPU to work on other tasks while hard disk data transfers are taking place. This increases the overall CPU bandwidth which is critical in multi-tasking environments. This driver only runs Block Mode PIO and DMA on Western Digital drives. To use the DMA feature the drive must be installed in an EISA or PCI system and the DMARQ and DMACK- signals on the the 40 pin cable must be connected to the proper DMA request and acknowledge signals on the EISA or ISA bus. This revision of WDCDRV drive automatically detects DMA channel and system bus type being EISA, PCI/ISA or PCI/EISA. 1.2.2.1 EISA Type B DMA This driver also supports EISA type 'B' DMA transfers for drives that support this feature and are installed in an EISA system. Data is transferred at a rate of 4 MB/sec which is about double that of a 6 MHz AT. The standard Read DMA and Write DMA commands as described in the CAM ATA specification are used. 1.2.2.2 PCI Type F DMA Furthermore, type 'F' DMA is supported in PCI based systems. Data is transferred at a rate of between 6 and 8 MB/sec using type 'F' DMA. The same Read DMA and Write DMA op codes are used, the only difference is in the programming of the DMA controller on the motherboard. 1.2.3 Translating BIOS Translating BIOS allows use of IDE drives larger than 528 megabytes. When a translating BIOS is present the standard *WDCTRL will not load and operate. The WDCDRV.386 program recognizes and functions correctly with translating BIOS. In addition many translating BIOS use logical block addressing (LBA) which is also incompatible with *WDCTRL. If a drive is capable of LBA operation then LBA mode will always be used. 1.2.4 Disk Manager Compatibility Use of Ontrack Disk Manager prevents operation of *WDCTRL since Disk Manager performs translation and other activities which cause *WDCTRL to be become non-functional. Versions of WDCDRV later than 2.3 will detect and operate with Disk Manager version 6.03. 2.1 Notes on Operation There are several issues related to operation of the driver that the user may need to be aware of. These are detailed in this section and may cover potential incompatibilities or may simply be more detailed information on driver operation or installation. Not all information will be needed by every user and may often be skipped or ignored. 2.2 Known Problems 2.2.1 MS-DOS 5.0 EMM386.EXE This driver will not operate with the version of EMM386.EXE supplied with MS-DOS 5.0. This version should not be in use since Windows 3.1 setup will replace the lines in CONFIG.SYS to load HIMEM.SYS and EMM386.EXE with lines to load these files from the Windows directory. New versions of these files supplied with Windows 3.1 operate correctly with WDCDRV.386. The versions of EMM386.EXE supplied with MS-DOS 6.0 and MS-DOS 6.2 have also been verified to operate correctly with WDCDRV.386. 2.3 Technical Information 2.3.1 LBA Mode Operation The driver will always operate in LBA mode if the drive is capable of using LBA mode commands. This reduces overhead in the driver and the drive firmware slightly and will not impact drive operation in any other way. 2.3.1 Temporary Swap Files When Windows is configured for a temporary swap file it performs accesses to that swap file through the PC BIOS. A potential conflicts between one blocking factor being used for swap file accesses by the BIOS and another blocking factor being used by all other Windows disk accesses the driver requires special processing by the driver. Thus the driver will not allow the blocking factor to be changed from that selected by the BIOS when a temporary swap file is in use by Windows. Any attempt to change the blocking factor in the SYSTEM.INI file will be ignored. The driver will continue to use block mode transfers using the blocking factor selected by the system BIOS at power-on. 3.1 Installation Instructions You must have Windows 3.1 installed on your hard disk prior to performing any installation of the WDCDRV.386 driver. You then have two methods for installation of the driver. The first, and recommended, method is the automatic installation procedure which only requires you to run the SETUP.EXE utility from Windows 3.1. This SETUP.EXE and the associated files are located on the distribution floppy containing the WDCDRV.386 driver. Information on running the automated installation procedure can be found in the README.DOC file on the WDCDRV.386 distribution floppy. The second method is manual installation of the driver program only. The CAVIAR.EXE configuration program and its associated help files are not installed by this procedure. You must use the automated procedure to install these files if you wish to use them. 3.1.2 Manual Installation Procedure 1. Copy WDCDRV.386 to the Windows directory of your hard disk. This directory is normally C:\WINDOWS but may be different for your system configuration. 2. Edit the SYSTEM.INI file as follows: OLD: NEW: [386Enh] [386Enh] device=*wdctrl REM device=*wdctrl device=c:\windows\wdcdrv.386 Putting a 'REM' in front of "device=*wdctrl" will cause Windows to ignore this line. The second statement defines the path to the Western Digital driver WDCDRV.386 which is replacing the wdctrl FastDisk driver from Microsoft. If WDCDRV.386 is not in the c:\windows directory then simply type in the proper path to its location in the device statement. 3. Run Windows and select the "Control Panel" icon. Then select the "386 Enhanced" icon. Next select the "Virtual Memory..." option. Select "Change>>" and then check the "Use 32-bit Access" option. The "Use 32-bit Access" option must be on in order for the WDCDRV.386 FastDisk driver to be loaded. Windows will reboot and WDCDRV.386 will become active. >>>>>> IF you do not see 32 bit Disk access flag displayed at above window Please enter following lines in [386Enh] section of system.ini file: [386Enh] 32BitDiskAccess=ON / Off device=*int13 device=C:\WDCDRV.386 >>>>>>> OPTIONAL SWITCHES: ================== A new section called [wdcdrv] can be added in the SYSTEM.INI for optional command line switches as follows: [wdcdrv] DMA=7 DMATYPE=B In this example, the DMA channel is set to 7 with type B DMA transfers. Since DMA channel and transfer type are automatically detected during run time, these switches are either redundant or provide an overide to what the driver would otherwise use. Please note that the [wdcdrv] section must come after the [386Enh] section in SYSTEM.INI. [WDCDRV] OPTIONAL COMMAND LINE SWITCHES DMA=3, 5, 6 OR 7 Default is automatically detected by the driver. This switch allows an overide of the DMA channel that was automatically detected by the driver. NOTE: Please do not use this switch if you are not sure what DMA channel is used for the IDE connector in your system. It is possible that there is no DMA Channel dedicated to the IDE connector. DMAFLAG=ON / OFF Default is ON. Can select OFF to turn off DMA. DMATYPE=F / B Default is automatically determined by driver. This switch allows an overide of the DMA type that was automatically detected by the driver. BLOCKINGFACTOR=4,8 or 16 This default value for this setting is automatically determined by the driver. If the BIOS has enabled block mode the driver will automatically use the blocking factor programmed by the BIOS as the default. If the BIOS did not program a blocking factor the driver uses the value returned by the Identify Drive command. This switch allows an overide of the default value chosen by the driver. SCATTERGATHER=ON / OFF Default is OFF. Can be enabled via this switch. CSL=ON / OFF Default is OFF. Required for Intel Express and Corsair systems when DMA channel 3 is being used. Configures DMA channel 3 properly.