[comp.os.minix] Need wini.c help with AT&T pc6300

pgn@cbnewsc.ATT.COM (Novorolsky) (09/26/89)

I am having trouble getting MINIX 1.2 to run on my AT&T PC6300.
I partitioned the hard disk so that I can have
a partition to use with MINIX, but wini.c
is not able to communicate as expected with the disk controller.

I have looked into this about as far as I can without help.
Here's the situation:

    My PC is one of the "older" models. By that, I mean that it
    has a DTC (Data Technologies Corp.) disk controller.
    (Later models have a Western Digital Controller).

    This problem occurs an all PC's with the DTC controller that
    I tried, and not on a machine with the WD controller.
     
    When the disk driver tries to read the partition map, the
    controller indicates an error.

The sequence of events leading up to this problem are:

	Reset the controller

	Select the controller

	Wait for the controller to respond "ready"

	send 0x0 to the control register (indicates non-DMA xfer, no interrupts)

	wait for controller to go ready

	Initialize drive characteristics. (inform the controller
	    of the #cylinders, #heads, etc)
	
	Read from the controller until all data is read (discard data).

	Read "sense data" to make sure there is no error (no error occurs)

	Write 0x2 to control register (enable interrupts)

	select controller

	wait for the controller to indicated ready and selected

	issue recal command

	wait for interrupt

	read on byte, check error bit (no error occurs)

	write 0x3 to control register (indicates DMA x-fer and
	    enables interrupts)
	
	select controller

	wait for controller to indicate ready

	send command bytes to read partition map

	initialize the DMA controller

	wait for disk interrupt

	read one data byte, error bit is set.


At this point I can read varying numbers of bytes from the disk
controller. (usually around 1062 +/-4  bytes) I tried issuing a sense
command and reading status (the return was 0x0E). I have no idea what
this means. Is there any one out there who knows a lot about the 6300
disk controller or has experienced this that can offer some help?

Like I said, this is as far as I can go without help.
I have little documentation on the disk controller, and do not know what
type of protocol it expects.

If I have to, I suppose I could hard code my partitioning information,
but I don't want to have to do that.

========================================================
**paul novorolsky
( !att!iwtpm!pgn, pgn@iwtpm.att.com, attmail!pnovorolsky)
========================================================