Subject: Re: Oooooh... IDE to Q-bus/Unibus adapters.
To: None <port-vax@netbsd.org>
From: None <CaptnZilog@aol.com>
List: port-vax
Date: 07/08/1999 15:59:34
Wow... what a long thread of msgs to read....

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 than 
the Q-bus with any modern drive, you would need some form of FIFO buffering 
(some RAM for the micro at any rate)...

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 486 
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 boot 
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.  

On the PC side, you could even run a PC version of NetBSD...  Imagine a 
NetBSD/i386 system running as a disk server to your NetBSD/Vax system!  You'd 
need a NetBSD driver for the parallel board, but that should be fairly 
straightforward.  You could use an uninitialized partition, or whole drive, 
to be the Vax "disk"...  or you could even write the software to use a *file* 
on a NetBSD/i386 filesystem to be the Vax "disk".  

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 some 
differential driver chips on the boards and you could run the interface quite 
a distance...  

For a couple of hundred bucks you can buy some nice rack-mount PC CPU boxes 
too...  with drive mounting bays and standard power connections.

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 attempts 
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 I 
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).  

Hmm...  thinking about it, when my company bought one of our competitors we 
moved them into a new building...  in "cleaning house" before we moved them, 
I picked up a rack w/ two MVII's (haven't gotten around to getting NetBSD up 
on them yet)...  but I *also* grabbed a couple of Q-BUS prototyping 
(wire-wrap) boards that were getting tossed.  And lots of Docs, including 
Q-BUS info...  

...  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...  :-)

Pete