[comp.os.minix] Followup: WD1002 Controller

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)