[comp.os.minix] Non standard at problem

stevens@tusun2.knet.utulsa.edu (Michael Stevens) (02/18/90)

I am trying to install minix on a non-standard AT 
(Diversified Technology cat 901).  This machine has an xt hard drive
controller built onto the motherboard, MS dos stuff works just fine,
and the thing is mapped in at 320H (where everyone expects it to be).
Since this controller is an xt controller, I am using xt_wini.c for 
creating the boot image.

The problem is this:  When minix trys to reset the hard drive, it sends 
a zero to the status byte of the controller and expects to receive
2|4|8 when it checks status,  Instead it receives a zero.  Does anyone
out there have any suggestions?  I am approaching my witts end (short
of drop testing the computer or trying a true at hard disk controller).
I appreciate any and all suggestions!

thanks,
mike stevens

evans@ditsyda.oz (Bruce Evans) (02/20/90)

In article <1190@cherokee.tusun2.knet.utulsa.edu> stevens@cherokee.UUCP (Michael Stevens) writes:
*I am trying to install minix on a non-standard AT 
*(Diversified Technology cat 901).  This machine has an xt hard drive
*controller built onto the motherboard, MS dos stuff works just fine,
*and the thing is mapped in at 320H (where everyone expects it to be).
*Since this controller is an xt controller, I am using xt_wini.c for 

An XT drive in an AT is like not to work without changing the kernel. In
protect.c and main.c, the kernel assumes that ATs use AT_WINI_VECTOR for
disk interrupts, independent of whether xt_wini.c is used. This may be
correct depending on how standard the "non-standard" really is.

*The problem is this:  When minix trys to reset the hard drive, it sends 
*a zero to the status byte of the controller and expects to receive
*2|4|8 when it checks status,  Instead it receives a zero.  Does anyone

Something like this was fixed in 1.5. Try a w_reset() if the win_init()
just before zeroing nr_drives fails. w_reset() calls win_init() so if
w_reset() succeeds you don't have to branch back to retry the win_init().
-- 
Bruce Evans		evans@ditsyda.oz.au