Date : Tue, 23 Nov 2010 11:08:29 +0000
From : philb@... (Phil Blundell)
Subject: Harddisc fakery using a microcontroller
On Tue, 2010-11-23 at 10:49 +0000, Rob wrote:
> On 23 November 2010 10:39, Phil Blundell <philb@...> wrote:
> > If you wanted to emulate an actual ST506 hard disk, i.e. something that
> > you could plug directly into an MFM/RLL controller card, then this
> > becomes a slightly lower level problem and it's possible you would need
> > something a bit faster. But I think there's a fair chance that an AVR
> > would be OK even for that, actually.
>
> ISTR this one being discussed on the cctech list some time back. It's
> harder because it's an /analogue/ interface! Not sure if anything
> came of that discussion.
It isn't exactly analogue, it's (iirc) just a digital signal transmitted
over an RS422-style differential pair. You'd need to provide a suitable
line driver and receiver but there isn't anything particularly
complicated about that.
The bits on the ST506 data interface correspond directly to flux
reversals on the disk surface, though, so it is about as low-level a
digital interface as it's possible to get. If you wanted to just do a
direct emulation of a hard disk (i.e. a black box which you can write
data to and then later retrieve it) then, conceptually, it's quite a
straightforward problem although I think getting all the timings right
would be fairly hard in practice. The data rate is fairly low, though,
something like 5Mbps, so you wouldn't need a massively powerful
processor to keep up with it.
If you wanted to do something a bit smarter, so that the emulator
actually understood the data it was reading and writing as more than
just a sequence of raw flux transitions, then obviously that would be
rather harder.
p.