Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!necntc!linus!mbunix!jcmorris
From: jcmorris@mitre-bedford.ARPA (Joseph C. Morris)
Newsgroups: comp.sys.ibm.pc
Subject: Re: ROMS for IBM AT compatiables
Keywords: Special rom bios for 2 hd controllers?
Message-ID: <38308@linus.UUCP>
Date: 9 Aug 88 14:35:43 GMT
References: <5136@killer.DALLAS.TX.US>
Sender: news@linus.UUCP
Reply-To: jcmorris@mbunix (Morris)
Distribution: na
Organization: The MITRE Corporation, McLean, VA.
Lines: 37

In article <5136@killer.DALLAS.TX.US> u-word!egs@killer.DALLAS.TX.US (Eric Schnoebelen) writes:
>              
>	During POST, I get a 'DRIVE 0 INITIALIZATION FAILURE' when
>	I have both controllers installed. ( machine boots just fine
>	with only one controller installed ).
>
>My suspicions:
>	My BIOS doesn't know how to deal with two hard disk controllers 
>	in a machine.

No PC BIOS I've ever seen in a PC knows about two HD controllers.  Instead,
I would be inclined to suspect that your second hard disk controller is
answering the same calls as the first.  This situation assures that the
POST routines will barf.

Disk controllers have associated with them two types of addresses: the
I/O port address (as used in IN and OUT opcodes) and their BIOS address
which occupies part of the CPU's memory address space.  Whenever either
type of address is decoded at the bus interface the card responds.

My (human) memory isn't up to recalling the port addresses used by the
disk controller; the standard address for the BIOS code is hex C800:0.
If you install a second controller in the PC, you *must* ensure that
it doesn't answer to the same addresses as any other device already
present.  If it does, you will have POST failures...which is exactly
what you've been getting.  Also, the controller with the higher BIOS
memory address *must* be smart enough to know how to be the second hard
disk controller in a machine.  The Plus HardCard is an example of a 
successful implementation of this: it has a plug option to indicate
whether it is the first or second controller, and is smart enough to
recognize when a request does *not* refer to the HardCard disk and 
in such cases to pass control to the original controller.

(BTW: the early HardCard 20's won't work with YTERM under DOS, and won't
work with OS/2 at all.  There is a BIOS change for the HardCard available
from the manufacturer.)

Hope this helps to shed some light on your problem.