> Some time back (years), someone was working on an
IDE interface for
> a Qbus MicroVAX and I was doing the driver. [...]
> We never got it working, and it is not clear to
me, now, why not.
> [...] what memory I have indicates that there were hardware issues,
the likely reason is PDP-11 and VAX does read before
write and IDE
does not like that.
Huh? The only sense I can think of in which the PDP-1 and VAX could be
said to do read before write is in the bus transaction sense, and
anything that could be called "IDE" was insulated from bus
transactions. While the card didn't have much smarts, it did have that
much; it looked enough like a wdc that I did the driver as an "attach
wdc at uba with wdc_uba" attachment layer, rather than a completely new
driver. I find I still have my copy of the dev directory, including a
boot-time console log:
uba0 at ibus0: Q22
ubasearch: cf_loc[0] 0171000, pa 0x20001200
[wdc_uba_probe: ua->ua_ioh 020500251000]
st0=52 st1=50
wdc_uba_probe: setting vector 774
wdc0 at uba0 csr 171000 vec 774 ipl 17
st0=52 st1=50
wd0 at wdc0 channel 0 drive 0: <Samsung Electronics 120MB SHD-3062A>
wd0: drive supports 16-sector pio transfers, chs addressing
wd0: 114 MB, 917 cyl, 15 head, 17 sec, 512 bytes/sect x 233835 sectors
wd1 at wdc0 channel 0 drive 1: <WDC AC31200F>
wd1: drive supports 16-sector pio transfers, lba addressing
wd1: 1222 MB, 2484 cyl, 16 head, 63 sec, 512 bytes/sect x 2503872 sectors
wd1: drive supports PIO mode 3, DMA mode 1
wdc0: establishing interrupt, vector 1774
I'm not sure how it worked enough to query the disk like that but
failed later. That serial-console log file seems to indicate that it
worked fine for 512-byte transfers but attempts to do larger transfers
led to an unending stream of "wdc_uba_intr: stray", meaning it was
seeing interrupts that the wdc interrupt routine was declining to
handle.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B