Subject: Re: Oooooh... IDE to Q-bus/Unibus adapters.
To: None <port-vax@netBSD.org>
From: Allison J Parent <allisonp@world.std.com>
List: port-vax
Date: 07/08/1999 17:57:48
<Its been tossed around that a "decent" DMA-capable controller would need a
<microprocessor (microcontroller) to deal with the device...  In addition, 
<with either SCSI or IDE, since the I/O speed of the disk would be faster th
<the Q-bus with any modern drive, you would need some form of FIFO buffering
<(some RAM for the micro at any rate)...

Simple controlers like z80 DMA or 8237 would do well but their are even
more complex than needed.  The IDE drives are fully buffered and most 
have a onboard cache as well so they dont push/pull data faaster that the 
system around them.  the limit is what the IDE max is and that generally 
higher than ISA or Qbus.  Fifos and the like are not needed... Also the 
Qbus has a burst limits if you want to be able to do other things on the 
bus or DMA can hog it!

<The logical conclusion to me, rather than designing your own SCSI or IDE 
<controller out of SSI/MSI/LSI chips, is to use what exists.  A old 386 or 4
<motherboard could support *several* IDE and SCSI controllers, even a Mix of
<both...  and a 16-bit parallel interface (as someone mentioned) card is 
<fairly cheap.  You could run DOS on the PC side, off of an old 40Mb IDE boo
<drive (my "junk" bin has plenty of them in it)... write a "disk server" 
<application program to handle the data transfer, and the Q-BUS side of the
<interface would be much simpler to design... and could probably be made to
<handle DMA transfers.  Or use the a DRV11 type board, as Steve mentioned. 

That would work too.  though the collected processing throughput will ahve 
the bottleneck of the slowest point.

<On the PC side, you could even run a PC version of NetBSD...  Imagine a 

or linux, Minix, or a dedicated program cooked into the bios roms.

<With a little ingeneuity (sp?) on the Vax/PC interface front (might need a
<custom PC side board for this one) you could probably even make the PC-side
<application look like an MSCP controller.  Even at this, the hardware on 
<either side would be a fairly straightforward parallel interface...  put so
<differential driver chips on the boards and you could run the interface qui
<a distance...  

Yep, someone did it with really fast serial (eithernet). ;)

<I don't know that either the hardware-only solution or the Parallel-I/O->PC
<solution is simpler than the other...  I *will* say that anyone who attempt
<the hardware-only solution better have access to a good logic-analyzer, and
<be willing to pull their hair out debugging the hardware.  Been there, and 
<don't recommend it.  The software solution wouldn't be *easy* to write, but
<would probably be a heck of a lot easier to debug (put a few printf's in). 

The solution is not that complex in hardware, the software solution depends 
on hardware too, just different and more of it.
<...  and I have a *pile* of old 386 motherboards....  hmmm....
<
<I'll have to look into what it takes to do DMA on the Q-BUS...  
<And maybe its time to dust off the logic analyzer...  :-)

Find a copy of the PDP-11 _Microcomputer handbook_ from the early 80s
or the prints that come with a DRV11 foundation board (WWcard wit IO)
and 90% of your work is done for you.

Allison