> On Apr 13, 2022, at 1:35 AM, shadoooo via cctalk <cctalk@classiccmp.org> 
> wrote:
> 
> Hello,
> I'm a decent collector of big iron, aka mini computers, mainly DEC and DG.
> I'm often facing common problems with storage devices, magnetic discs and 
> tapes are a little prone to give headaches after years, and replacement 
> drives/media in case of a severe failure are unobtainable.
> In some cases, the ability to make a dump of the media, also without a 
> running computer is very important.
> 
> Whence the idea: realize an universal device, with several input/output 
> interfaces, which could be used both as storage emulator, to run a computer 
> without real storage, and as controller emulator, to read/write a media 
> without a running computer.
> To reduce costs as much as possible, and to allow the better compatibility, 
> the main board shall host enough electrical interfaces to support a large 
> number of disc standard interfaces, ideally by exchanging only a personality 
> adapter for each specific interface, i.e. connectors and few components.
> 
> There are several orders of problems:
> - electrical signals, number and type (most disk employ 5V TTL or 3.3V TTL, 
> some interfaces use differential mode for some faster signals?)
> - logical implementation: several electrical signals are used for a specific 
> interface. These must be handled with correct timings
> - software implementation: the universal device shall be able to switch 
> between interface modes and be controlled by a remote PC
> 
> I suppose the only way to obtain this is to employ an FPGA for logic 
> implementation of the interface, and a microprocessor running Linux to handle 
> software management, data interchange to external (via Ethernet). This means 
> a Xilinx Zynq module for instance.
> I know there are several ready devices based on cheaper microcontrollers, but 
> I'm sure these can't support fast and tight timing required by hard disk 
> interfaces (SMD-E runs at 24MHz).

Interesting idea.  I wonder if it's cost-effective given the wide variety 
involved.

It's surprising how tight timing you can manage with some modern programmable 
PIO blocks in devices like the Raspberry Pico or the BeagleBone Black.  David 
Gesswein used the latter for his MFM emulator.  That's not quite as fast as the 
SDM interface you mentioned.  And I've used the Pico for some comms work, and 
realized at some point that it's fast enough to do Ethernet in software.  
Again, not quite as fast but close, and with care and under certain constraints 
that device (a $4 item) can indeed generate and receive 24 MHz waveforms.

The thing that makes me wonder is the interfacing part.  Disks might have 
anywhere from a few wires (SI port on DEC RA series disks) to dozens of wires 
(older disks like RP04 or RK05).  Signal levels might be TTL at various 
voltages, differential, or even analog signals.  Would you want to emulate the 
disk to formatter interface, or the formatter to controller interface?

Another difficulty may be the low level format details.  As I recall, there is 
a massive amount of research and code that went into David Gesswein's emulator 
to understand and reproduce the great variety of bit level layouts.  If you're 
at a low enough level that might not matter, but if you want to manage data in 
terms of what the host thinks of as blocks, it does.

Things might get very strange with more exotic stuff than you find at DEC -- 
for example, emulating IBM 360 disk drives with their variable length blocks 
and key/data capability would be interesting.  Or CDC 6000 disks with sectors 
containing 322 12-bit words.

So, it seems that building a device to emulate one class of disks with one 
class of interface, as David has done, is hard enough.  Making something much 
more general is appealing, but I wonder if it's so hard, and requires so many 
parts, that it becomes infeasible and/or too expensive.

        paul


Reply via email to