[comp.sys.ibm.pc.misc] Installing a Second RLL Hard Disk controller w/ MS-DOS

cg199ag@icogsci1.ucsd.edu (Steve - Happy Hacker) (03/27/91)

Greetings!

  In my never-ending quest for more hard disk space, I am attempting to install
a third and fourth RLL hard disk in my 386.  (I had two extra drives, so I
figured buying another controller would be worth it.)
If you want to know what I learn from this article, send me a "Me too!" and
I'll mail you a summary. (or post if interest is high)

  Looking at the jumper definitions for my first controller (a WD1006V-SR2),
I saw a setting for "secondary Winchester I/O addresses" and the same for
floppy addresses.  Because of this, I bought another WD1006V-SR2 and got it
all installed.
Drives 3 and 4 had to be external, so they got their own power supply and I
fed the ribbon cables out the back of the case.  No problem, unless I want
to move my computer. :)

  The problem is that both drives are COMPLETELY ignored by my PC.  I realize
that they probably won't be found by dos at boot, but I was hoping I could
make them appear by loading a device driver of some kind or informing my
bios.  No such luck.
  I have not been able to get the actual I/O addresses for this card, but
I know that the XT's was at 320h-323h for the primary and I think 324h-327h
for the secondary controller.  If anyone has any for-sure numbers on the AT
cards, (are they the same?) please share them.

Things I have tried to no avail:

- All combinations of BIOS enable/disable on the cards.
    This was interesting.  If none were enabled, I had to tell my AMI
  motherboard BIOS about my 2 hard disks, and it would find the two on 
  the first controller.  This is how I was set up for 2 drives, and never 
  had any problems with the HD bios disabled.  (The HD bios did not have 
  my correct drive type, the AMI did.)
    If both of the controller BIOSes were enabled, the machine would not boot
  beyond a point.  It would boot OK off of floppy, but could not then find
  the hard disks.
    If only the first BIOS was enabled, the first two hard drives would work
  fine, as soon as I told the AMI bios that I had no HD's installed.
  Surprisingly, the exact same thing would happen if I enabled only the
  second HDC BIOS.  The first two hard disks would run fine.

    This all leads me to believe that the BIOS can't be relocated (by
  hardware), so as long as one is enabled, it works.  Two will fight,
  and none will simply not be there.  In any case, the BIOS is _not_
  finding the second pair of drives. (Neither does the AMI BIOS)

- Calling WD tech support.
    I hope it's just me, but in all the times in the past that I have called
  WD tech support, they seem to be reading a database, and if your problem
  is not in their terminal, they don't know what to tell you other than
  "You can't do that."
    This answer was no different.  He said, "You can never have two 16-bit
  hard disk controllers in the same computer."  Hmmmm... I would normally
  believe the wisdom of tech support, except for that I have SEEN it done.
  Interactive Unix has no problem dealing with multiple HD controllers.
  When you set it up, it asks you how many hard drives you have, and what
  controller each is on.  (BTW, it wants all controller BIOSes disabled.)

- Software fixes.
    Because Interactive Unix seems to swallow it just fine, I am most
  intent on finding a software fix.  I need some software BIOS that will
  let me set the I/O address of the controller card.  I have even
  wondered about the possibility of copying the BIOS out of CC000 and
  modifying it, but I'm really not up to tweaking assembly code.  If anyone
  has any similar experiences copying/modifying bioses, please let me know.

    DOS's DRIVER.SYS and all the other config.sys variants..
  No luck.. they seem to be looking in the same place as dos at boot, and I
  doubt they would peek anywhere the BIOS didn't tell them to.  Perhaps
  they could be modified to use a different HD I/O address?

    A nifty utility called MultiDisk (from simtel20) that at first seemed
  like the answer to my problems.  It correctly claimed to find hard disks
  that are ignored, but it did so by looking for a BIOS that was not
  automatically extended by DOS.  Unfortunately, even if I could relocate
  the BIOS, I don't think it would find it's own drives.  (It would still
  use the same I/O address.)  I think this utility was intended more for
  old XT's that did not automatically load extension BIOSes.  If anyone has
  any info that I am missing on this utility, please let me know.


So, that's my problem.  I need a driver that will use a hard drive
controller at an address I specify.  If you have any pointers or ideas (or
golly, Code!), please drop me a note.  Again, Email if you are interested
in doing the same thing, and I'll tell you what I learned.
If it works, it might me a cheap way to turn some of those old drives on
the shelf into some extra storage space!

Thanks very much!

====
-Steve

shaehnic@ucsd.edu    -or-   shaehnic@ucsd.bitnet


Details:
To make a long story longer, here's my system specs:

Amstrad 386/33 motherboard with 256K SRAM cache
BOCA VGA card (16-bit w/ 1 Meg)
1.2 & 1.44 drives
2 (hopefully 4 soon) RLL hard disks
3 com ports, 1 par, 1 game
7 Meg's of RAM (don't ask)
Sound Blaster
Mars 800 hand scanner
124Meg tape drive (floppy interface)

and power by San Diego Gas & Electric