Tyan 32-bit PCI IDE Bus Master Miniport Driver for NT 3.51
Version 3.10 Copyright (C) 1995-1997

Table of Contents:

A..........Features
B..........Driver Requirements
C..........Installation Procedures
D..........Removing the Driver
E..........Bus Master Knowledge Background
F..........Frequently Asked Questions
G..........Devices Tested
H..........Tips On Performance

+----------+
| Features |
+----------+
This miniport driver has the following features.

1. It's a 32-bit miniport driver for Windows NT 3.51

2. It supports Ultra DMA mode 2, 1, and 0 ie. ultra DMA bus mastering.

3. It supports Multiword DMA mode 1 and mode 2 i.e. Bus Mastering.

4. It supports PIO mode 0, 1, 2, 3, and 4.

5. It supports IDE hard disk as well as ATAPI IDE CD-ROM in protected mode.

6. It uses synchronize transfer method.

7. It supports CHS and LBA paramters.

This bus master driver does not support the followings.
1. It does not support any Disk Manager software. Because the Titan series
   support LBA parameters for the hard disk. You should ALWAYS use LBA
   parameters if the hard disk is larger than 528MB and never use the Disk
   Manager.

2. It does not support AT type of CD-ROM, only ATAPI CD-ROM.

3. It does not support single word DMA transfer because many PIO mode 2 hard
   disks have firmware bugs.

4. It does not support multiword DMA mode 0 beacuse it's too slow compare to
   PIO mode.


These are the resources that the bus master driver uses under Windows NT.
Setup will copy tynbmide.sys driver to \winnt35\system32\drivers directory.

I/O Addresses:
      Primary IDE channel   : 1F0 - 1F7, 3F6 - 3F6
      Secondary IDE channel : 170 - 177, 376 - 376

IRAQ or Interrupt:
      Primary IDE channel   : 14
      Secondary IDe channel : 15

Base Memory Addresses: 
      Award BIOS: 
            Primary IDE channel   : 3000 - 3007  or 9000 - 9007
            Secondary IDE channel : 3008 - 300F  or 9008 - 900F
      
      AMI BIOS:
            Primary IDE channel   : 8000 - 8007  or FFA0 - FFA7
            Secondary IDE channel : 8008 - 800F  or FFA8 - FFAF

For more detail information, please read the Bus Master Knowledge Background.

+----------------------+
| Driver Requirements  |
+----------------------+
Before installing the driver, there are some issues that we need to 
address. We've noticed many old hard disks have timing problem or firmware 
bugs. These hard disks do not implement the bus master protocol correctly. So 
we've decided to make some requirements for the hard disks to eliminate 
unnecessary problems associate with firmware bugs. If these requirements 
are not met, then the driver will do the PIO transfer instead of bus master 
transfer.

1. The hard disk must support Multiword DMA transfer mode 1 or mode 2.
   Single word DMA will not be supported at this time due to many
   hard disks' firmware problems. Basically, if your hard disk supports
   PIO mode 3 then it should also support multiword DMA mode 1. And PIO
   mode 4 should support multiword DMA mode 2.

2. The hard disk must use LBA parameters if the total number of cylinder of 
   the hard disk is greater than 1024 or your hard disk is larger than 528MB.

3. Please use the normal CHS parameters instead of LBA parameters if the 
   number of cylinder of the hard disk is less than 1024 or the size of the                  
   hard disk is less than 528Mb. Even if the drive supports LBA.

+-------------------------+
| Installation Procedures |
+-------------------------+
0. Perform a DMA timing test before installing the driver. Only do this test
   under DOS and Do not perform the test under Windows environment. If your
   hard disk return a number 04 then your hard disk can not do bus mastering.
   In that case, do not install this driver.

   Type DEBUG at the DOS prompt. Then enter the following to test your hard 
   disk's DMA protocol timing.

   To test the primary IDE channel, enter the following. Press Enter before
   the --- mark. The first character of each line is O as in output not zero.
   
O 1F6 A0    --- A-Zero is for master drive, use B0 for the slave drive
O 1F2 21    --- 22 is for DMA mode 2 (PIO mode 4), use 21 for DMA mode 1 (PIO mode 3)
            --- 42 for ultra DMA mode 2, 41 for ultra dma mode 1, and 40 for ultra DMA mode 0
O 1F1 03    --- Zero-3 is to program the hard disk timing
O 1F7 EF    --- EF is the set feature command for the hard disk
I 1F1       --- this reads in the error status

If you get a number of 00 after I 1f1, then your hard disk accepts the
multiword DMA protocol timing that you've programmed in the O 1f2 statement. 
If you get a number of 04, then it means the hard disk can not do bus 
mastering. In that case, do not install the driver.
 
Normally, a PIO mode 3 hard disk should support multiword DMA mode 1 and a 
PIO mode 4 should support multiword DMA mode 2. If you have a PIO mode 4
drive but it does not support multiword DMA mode 2 then most likely the
hard disk probably has firmware problem. Contact the hard disk manufacturer,
and verify the firmware version with them.

To test the secondary IDE channel, enter the following. Press Enter before
the --- mark.

O 176 A0    --- A0 is for master drive, use B0 for the slave drive
O 172 21    --- 22 is for DMA mode 2, use 21 for DMA mode 1
            --- 42 for ultra DMA mode 2, 41 for ultra dma mode 1, and 40 for ultra DMA mode 0
O 171 03    --- 03 is to program the hard disk timing
O 177 EF    --- EF is the set feature command for the hard disk
I 171       --- this is to read in the error status

If you get a number of 00 after I 1f1, then your hard disk accepts the
DMA protocol timing that you've programmed in the O 1f2 statement. If you
get a number of 04, then it means the hard disk can not do bus mastering. In
that case, do not install the driver.

1. Install NT first. Unzip the zip file to a diskette.

2. Boot to Windows NT and double click Windows NT SETUP in the main group.
 
3. Click on the Options-> Add/Remove SCSI Adapter manu. Then click on the ADD
   button to add a new driver. Then go all the way down and select Other(
   Requires a disk from a hardware manufacturer). Next, insert the diskette
   in drive A: and click OK to continue. Select Tyan 32-bit Ultra DMA Bus 
   Master Driver and click on the INSTALL button to install the driver.

4. Reboot the system. You can check the DEVICES in the Control Panel to see
   if tynbmide.sys is loaded. Also, the driver will disable the ATDISK.SYS 
   and ATAPI.SYS from Microsoft. 

+---------------------+
| Removing the Driver |
+---------------------+
There are two ways of removing this miniport driver.
1. Boot to NT and run the Windows NT Setup in the main group. Then select
   Options->Add/Remove SCSI Adapter. High-light Tyan 32-bit Ultra DMA Bus
   Master Driver and click on REMOVE button.

2. If for some reasons, you can not boot up to NT. You can do two things.
   One is to press the Space Bar and boot to the last good configuration.
   Or copy atdisk.sys to tynbmide.sys and boot up from there to remove the
   driver as described in step 1.

   Boot to DOS then go to the \winnt35\system32\drivers directory and type

   copy atdisk.sys tynbmide.sys

   Then boot up NT and follow the step 1 to remove the driver.

+---------------------------------+ 
| Bus Master Knowledge Background |
+---------------------------------+
What is bus mastering?

Similar to the SCSI devices, Bus master IDE uses the DMA and memory 
scatter/gather implementation to reduce the CPU overhead and the bus 
utilization. Unlike the PIO(programmed input/output) transfer method where 
the CPU has to program all the transfer from/to the memory, the bus master 
chip on the Tyan's motherboard actually do the transfer of the data. Thus 
reduce the CPU overhead up to 90%. 

The advantage of the bus master transfer can be seen in a multi-task
environment. For example, two programs are running at the same time. One
program just does a CPU intensive calculation while the other program only 
does file transferring. In a PIO transferring environment, the CPU uses most 
of its power either doing the file transfer or the calculation. As a result, 
the PIO method either slows down the calculation program or slows down the 
file transferring process depending on the priority of the processes. Whereas 
in a bus master environment, the bus master chip actually does the file 
transfer so the CPU can do more calculation thus increase the overall 
performance.

We tested several PIO mode 4 hard disks doing multiword DMA mode 2 transfer. 
We found out the CPU overhead drop from an average of 80% down to 15% while
the interrupts per second reduced from an average of 6000 interrupts/s down
to merely 160 interrupts/s with 30MB of file transfer.

Definition:
Ultra DMA mode 2     = 33MB burst transfer
Ultra DMA mode 1     = 22MB burst transfer
Ultra DMA mode 0     = 16MB burst transfer
Multiword DMA mode 2 = 16.7MB burst transfer rate
Multiword DMA mode 1 = 13.3MB burst transfer rate
PIO mode 0 & 1 -> Boy, you still have those drives!
PIO mode 2 = 8.3MB burst transfer rate
PIO mode 3 = 11.3MB burst transfer rate
PIO mode 4 = 16.7 MB burst transfer rate
PIO mode 5 = 22MB burst transfer rate (proposed)

+----------------+
| Devices Tested |
+----------------+
This bus master driver has been tested with the following devices.

Tyan's Titan I, II, & III motherboards.
Tyan's Tomcat I & II motherboard
Tyan's Titan Pro AT & ATX motherboards
All Tyan's motherboards that use PIIX, PIIX2, PIIX3, and PIIX4 chipset.

ATAPI CD-ROM
Cinon   8X                      OK 
GoldStar 4x                     OK 
Hitachi 4x                      OK
NEC 4x4                         Can only see one drive instead of four drive.
Mitsumi 2X                      OK
Mitsumi 4X                      OK
Mitsumi 6X                      OK
Plextor 4X                      OK
Sanyo   4X                      OK
Sony    2X                      OK
Sony    4X                      OK
Teac    56E                     OK
Toshiba 4X                      OK
Wearnes 8X                      OK


Hard Disk       PIO Mode        Multiword DMA mode   Bus Mastering
Conner 425MB    3               1                    OK
Conner 540MB    3               1                    OK
Conner 850MB    3               1                    bad, firmware problem
Conner 1275F    4               2                    OK
Conner 1275A    4               2                    OK
Fujitsu 1GB     4               2                    OK
Fujitsu 540MB   4               2                    OK
HP 1.6GB        4               2                    OK
IBM 540MB       3               1                    OK
IBM 1GB         4               2                    OK
Maxtor 850MB    3               1                    bad, firmware problem
Maxtor 71626A   3               1                    bad, firmware problem
Maxtor 71260AT  3               1                    bad, firmware problem
Maxtor 2GB      4               2                    Ok
NEC 1.6GB       3               1                    OK 
Quantum 1GB     4               2                    OK
Quantum 1.2GB   4               2                    OK
Quantum 730MB   3               1                    OK
Quantum 540MB   3               1                    bad, firmware problem
Quantum 345MB   3               1                    OK
Quantum 270MB   3               1                    bad, timing problem
Quantum 640MB   3               1                    OK
Quantum 850MB   3               1                    OK
Quantum 2.5GB (Sirroco)                              OK
Seagate 1GB     4               2                    OK 
Seagate 1.6GB   4               2                    OK   
Seagate 1.2GB   4               2                    OK   
Seagate 540MB   4               2                    OK
Seagate 850MB   3               1                    OK
Seagate 2.1GB   4               2                    OK
SyQuest EZ135MB 0               0                    PIO transfer only   
Western 31000   3               1                    bad, timing problem   
Western 31600   4               2                    bad
Western 21000   4               2                    OK
Western 21200   4               2                    OK
Western 640MB   3               1                    OK   
Western 540MB   3               1                    bad, firmware problem
Western 850MB   3               1                    OK
Western 700Mb   3               1                    OK   
Western 32100   4               2                    OK   

+---------------------+
| Tips on Performance |
+---------------------+
1. Always separate the hard disk from the CD-ROM.
2. Always separate the slow hard disk from the fast disk. If you attach a 
fast disk with a slow disk on the same IDE channel, the PCI IDE will use 
the slow timing for that IDE channel.

For example, (Mode refer to PIO mode)
           Primary IDE Channel          Secondary IDE Channel
           Master       Slave           Master          Slave
Good       Mode 4       Mode 4          CD-ROM
Good       Mode 4                       Mode 1          CD-ROM
Good       Mode 4                       CD-ROM
Good       Mode 3                       Mode 0          CD-ROM
Good       Mode 4       Mode 4          CD-ROM                
Good       Mode 4       Mode 3          CD-ROM
Bad        Mode 4       CD-ROM          Mode 1
Bad        Mode 4       Mode 2          Mode 4          CD-ROM
Bad        Mode 3       CD-ROM          Mode 3