Path: utzoo!utgpu!watmath!iuvax!cica!gatech!udel!mmdf
From: Leisner.Henr@xerox.com (Marty)
Newsgroups: comp.os.minix
Subject: at_wini patches for 6 and 8 mhz PC-AT
Message-ID: <21763@louie.udel.EDU>
Date: 15 Aug 89 18:31:11 GMT
Lines: 111

Enclosed are diffs so the 1.3b winchester driver will run successfully on
both 6 and 8 Mhz ATs.  I haven't tried this on any other machines yet, but
I know from experience the AT driver is a problem.  I've looked at the
v1.3c and v1.4a diff packages, and they don't seem to address these
changes.

I initially made these changes to 1.1 -- I guess they never got into the
distribution.

I initially made these changes by looking at the Western Digital specs
(which ain't very clear) and the AT Bios from the Technical Reference --
unfortunately I don't have the Bios listing anymore so I'll try to replay
this from memory.

In com_out() I replaced if(drive_busy()) with a call to a new function:
if(controller_busy())

Drive_busy does the following test on the winchester status register (port
0x1f7)

  for (i = 0, r = 255; i