Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!apple!uokmax!munnari.oz.au!bruce!cechew From: cechew@bruce.cs.monash.OZ.AU (Earl Chew) Newsgroups: comp.os.minix Subject: Re: IDE disks Keywords: minix, at, install, IDE, MFM, RLL, SCSI, ESDI Message-ID: <3688@bruce.cs.monash.OZ.AU> Date: 18 Feb 91 05:23:22 GMT References: <1627@pdxgate.UUCP> <30432@usc> <92801@unix.cis.pitt.edu> Organization: Monash Uni. Computer Science, Australia Lines: 58 My $0.02 worth. I have a Miniscribe 8051A IDE drive with associated Miniscribe IDE host adapter. As far as I can ascertain, it presents the host with a WD compatible register set. I recently acquired a Rodime 3065 MFM drive and a WD1003-WA2 controller. After some investigation I discovered that it is possible to run this pair as a secondary disk at addresses 0x170-0x177 and 0x376 (from memory). After updating at_wini.c, I was running with two controllers (IDE and WA2) with one drive on each. For reasons I won't go into here, I then wanted to run the 3065 drive as the primary drive (the one MessyDog boots from). This raised the question: Can you run an IDE drive from the secondary port address? (ie 0x170-0x177 and 0x376 instead of 0x1f0-0x1f7 and 0x3f6) Needless to say, several dealers I spoke to looked at me blankly... I looked at hacking the Miniscribe IDE host adapter, but it looked messy to accomplish. In the end I built my own host adapter by reverse engineering the Miniscribe one and looking at some Conner manuals. It's in fact quite easy --- you can do it in a weekend. The hardest part was getting a prototyping card. I ended up cannabilising an old AT card just to get the edge connector fingers. The host adapter comprises: 1. IO address decoder (enable /CS0 or /CS1). You can decode any address you like. The conventional primary addresses are 0x1f0-0x1f7 for /CS0 and 0x3f6 for /CS1 (from memory). 2. Control signal buffer. One 74LS244 and one 74LS241, from memory, are required here. The latter to invert and buffer one signal :-( 3. Low byte buffer. One 74LS245 is required. 4. High byte buffer. This is for the 16 bit transfers. One 74LS245 is required. 5. Some glue. You could probably squeeze (1) and (5) onto a single PAL. I had to resort to a few extra glue chips. I was a concerned about speed so I used 74Fs for the glue. So, those of you running out of disk space can run multiple IDE host adapters and string extra disks off them. That's a great thing about IDE. You will have to adapt the AT wini driver to accommodate your new configuration. Actually, you could probably merge several host adapters onto a single board and save on slots! Earl -- Earl Chew, Dept of Computer Science, Monash University, Australia 3168 EMAIL: cechew@bruce.cs.monash.edu.au PHONE: 03 5655778 FAX: 03 5655146 ----------------------------------------------------------------------