On 11/24/15 5:04 PM, shadoooo wrote:
Hello,
I have some unibus machines that always need some way to interface to
modern disks.
I always dream to make an universal board that could act as disk and/or
tape interface to a modern medium (scsi or cf/sd card), but also ram,
network, I/O, whatever...
I did this. It was a while back, and well, lots of things have happened
since then (to me), but it can certainly be done.
http://www.heeltoe.com/index.php?n=Retro.Udisk
I made a unibus board with a smallish xilinx CPLD and an atmel SAM-7 arm
cpu. It has a CF disk and IDE disk interface as well as USB. The CPLD
does "just enough" to babysit the unibus and everything else is done
with the ARM cpu in C code.
It can emulate anything, ram, MSCP, RL02, what ever in theory. I only
made software drivers for the RL02 and RK11. Both work and will boot
RSTS, UNIX, RT-11... You can write boot loader code into ram and then
run it. It has full unibus access as a master or slave. I included the
extra two bits so it can work with a KS-10.
(anyone want to loan me a KS-10 :-) I'll make it work!)
My design is really simple but does require "proper" unibus driver
chips. I'll skip over that argument since they can be found and do
exist, just not in large qualities. Please - don't devolve into a
unibus driver debate. Do that elsewhere or in private. It's been
rehashed here way too many times.
I made two boards and years went by. I did finally go back and get it
all working. Turns out booting RSTS was the hardest thing. RT-11 was
simple but RSTS does some really odd things with interrupts and code.
Unix is also really easy as it's very tolerant.
I should (and will) publish it all. Most of it's on the web but not
all. I'll fix that. I've only tried it on a 11/34 and an 11/44, but it
should work on any unibus machine. It's compliant with the protocol.
If I had to do it again I'd use a real FPGA and run all the protocol
(including DMA) in the FPGA. But I was in a minimalist mood when I did
the first version. I don't think this requires anything as powerful
as a beaglebone, but that could certainly work. Given how unibus works,
I personally think a state machine in an FPGA is the best bet. The
11/44 is pretty strict about bus timeouts. The 11/34 is more gracious.
I always liked that machine :-)
What I have works and can be reproduced. I'm happy to any or all of it
with anyone who asks.
-brad