[comp.sys.ibm.pc] ROMS for IBM AT compatiables

egs@killer.DALLAS.TX.US (Eric Schnoebelen) (08/09/88)

Hi all!
	I am trying to add a second hard disk controller to my AT/386
clone.  I know it can be done, but the question is how.  

The problem:
	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.

My Hardware:
	PC-Craft 386/20,
	5M of memory( 2M on motherboard, 3M on AST Advantage Cards),
	2 - ST251 hard disks. ( plus a ST-4038 and a Maxtor XT-1140 
							I want to add )
	Everex EGA card,
	WD1003-WA2 type primary controller,
	Western Digital WD1003-WAH secondary controller,
	AMI ROM BIOS

My OS:
	Microport System V ( they claim it supports 2 controllers, but has
		never been tested with 2 controllers )
	(Note: the system does not get beyond the POST )

Questions:
	Can anyone point me towards a BIOS that supports 2 controllers.
	I have access to IBM AT, Compaq 386, Phoenix 286, and some generic
	sort of BIOS's.  Are any of these know to support more than one
	hard disk contoller?


Please E-mail or post, your preference ( although I don't believe this of
general interest to the net ).

	Thanks in advance, as always
		Eric Schnoebelen
		u-word!egs@killer.dallas.tx.us

jcmorris@mitre-bedford.ARPA (Joseph C. Morris) (08/09/88)

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.

cdold@starfish.Convergent.COM (Clarence Dold) (08/10/88)

From article <5136@killer.DALLAS.TX.US>, by egs@killer.DALLAS.TX.US (Eric Schnoebelen):
> 	I am trying to add a second hard disk controller to my AT/386
> clone.  I know it can be done, but the question is how.  
> 	WD1003-WA2 type primary controller,
> 	Western Digital WD1003-WAH secondary controller,
> 	AMI ROM BIOS
> 		Eric Schnoebelen
> 		u-word!egs@killer.dallas.tx.us

If these are 'XT' controllers, they are mapping into the same address range, 
hence the POST failure.
With the Miniscribe Scribecard 80SC, there is a jumper W2, that changes one
bit of the address, shifting it to a secondary address.  I have run a WD
controller as drive C:, with the Scribe as D:.  Because the XT controller
actually becomes part of the BIOS, the BIOS shouldn't be a problem,
but you will have to find which bit to cut and move, since WD doesn't 
have a jumper for this purpose.  (My WD has no jumpers)
The AWARDS BIOS looks for controllers at every 2K block from C800 - E000.
The controller is almost certainly at C800 now.
You can check for success in the readdressing: The first two bytes of 
the controller ROM should be 55AA, indicating a bootable device.

zeeff@b-tech.UUCP (Jon Zeeff) (08/11/88)

In article <5136@killer.DALLAS.TX.US> u-word!egs@killer.DALLAS.TX.US (Eric Schnoebelen) writes:
>
>	I am trying to add a second hard disk controller to my AT/386
>clone.  I know it can be done, but the question is how.  

You have to set the jumpers on the second card for the secondary i/o
address.  (I have two controllers in my machine, but I'm only using the
floppy controller portion of the second one).  You will need device drivers
for both dos and unix.  I have a partially written 2nd controller device
driver for dos if you want a copy.  Good luck on finding the Unix driver.



-- 
Jon Zeeff           		Branch Technology,
uunet!umix!b-tech!zeeff  	zeeff%b-tech.uucp@umix.cc.umich.edu