myxm@beta.UUCP (Mike Mitchell) (04/17/87)
After a little bit of revamping to xt_wini.c, I have managed to
get a read-only hard disk. Not quite useful yet, but a step closer
than the way it used to function.
In the procedure com_out, I added a little bit of code to check
the REQ bit in the status register. It looks like:
lock();
for (i=0; i<6; i++) {
if (hd_wait(1) != OK)
return(ERR);
port_out(WIN_DATA, command[i]);
}
unlock();
This seemed to fix the problem that I had with the controller not
performing a complete read. (It used to keep resetting the hard disk
with some awful grinding noises.)
I am a little fuzzy on how the PC uses DMA to write to the controller
however, so I am not quite sure where the problem arises when it attempts
to write to the drive.
I am working on a PC/XT with a WD1002, a NEC V20, and two Seagate-ST225's.
Any hard disk gurus have any tips which might be useful?
I have another AT clone which is also having problems accessing the hard
disk with at_wini.c. I have not dug into this one yet. The board is the
Computer Classified Inc, ST/286-12Mhz and the controller is the Everex
low profile AT compatible hard/floppy disk controller. The drive being
used in this machine is a Seagate-ST4038 (30Mb). Any hints?
Thanx in advance.
Mike Mitchell
myxm@lanl.gov (ARPA)
...!{ucbvax,decvax,...,cmcl2}!lanl!myxm (UUCP)