On Oct 20, 2016, at 4:27 PM, Noel Chiappa <jnc at
mercury.lcs.mit.edu> wrote:
From: Paul Koning
I'd suggest the Massbus series, they are just
about as simple as
anything and that's where you find the largest capacities short of MSCP
devices.
If you want to exactly emulate only DEC controllers, yes. (Of course, such a
project should do that, for binary compatability.)
However, as I think I have mentioned before, I'm actually enamoured of taking
a very simple controller like an RP11, which has lots of spare disk address
bits, and defining an 'RP11-E' which maxes out the virtual drive size without
changing _anything_ about the register format other than using unused bits in
the cyclinder address register. That will produce disks with 2^28 blocks, or
2^36 bytes, or 64GB. That's most of a large SD card... :)
That's fine if your target is an OS for which you can write drivers. It wouldn't
help RSTS users.
Not too useful to those without the ability to tweak drivers, but... there's
another issue with the older controllers, which is that they only support
18-bit addressing, and for use on QBUS machines, where one would really like
to be able to do DMA to anywhere in the 22-bit space (for Unix, this would be
for swapping, and raw I/O - buffered I/O would be fine with 18 bits). So maybe
an updated version of those old, simple controllers would actually have some
use. (I'd certainly want them for my Unix boxes.)
Q22 disks existed on MSCP, of course. And RL02 also, if I remember right.
Apart from MSCP, avoid RL emulation also.
Why avoid RL's? Not the greatest controller, I agree, but it is a 'lowest
common denominator' drive for a certain era of gear.
Significantly uglier program interface, so more complex emulation compared to RK05 or
RP06. Not nearly as hard as MSCP, of course.
A possible answer for a lot of this is to do the actual emulation algorithms in software,
in an embedded CPU inside the FPGA. For MSCP that's obvious, but it would work for
the others as well I suspect. The main trick is to have the register side effects done
right. That can get complicated, as the DMC-11 example illustrates.
paul