On Tuesday (12/07/2010 at 02:32PM -0800), Chuck Guzis wrote:
On 7 Dec 2010 at 19:50, Tony Duell wrote:
I wonder if you could do somethjing akin to the
DiskFerret and simply
record the transistions (sampled suitable fast) of the write data
signal and replay those samples when readoing. OK, it would be
wasteful of the flash memory space, but as many ST412 hard drives were
around 20MBytes, but modern flash memory cards are a few Gbytes, I
don't think that would be a major problem
Speaking as one who has studied the problem a bit and who has no
intention of implementing anything, I think that a sampled stream is
overkill.
While it's true that the result is something that's controller- and
format-independent, it's more straightforward and requires less
horsepower to simply generate the formatting information, inserting
the data as required. There's a floppy emulator that does this with
comparatively little RAM and runs on an 8-bit 8MHz AVR. One also
doesn't need to worry about aliasing effects.
I suspect that a 60-70MHz ARM MCU might prove to be useful in this
respect.
Yes... I have been brainstorming this exact approach for some time.
I think you could use one of the (very) highspeed SPI interfaces on such
a microcontroller and either do the oversampling thing with a fixed clock
or the ESDI thing, using the interface clock to clock the SPI interface.
I would read a track from the SD/CF/other modern media and hold that in
RAM while I "play" it back to the MFM controller. When the controller
says step, I'd go fetch another track from the SD card, load that to RAM,
signal ready, and start playing it (and the index marks too, btw) back.
This put the transfer to/from the SD or other media in the step time,
which is forever+1 day in modern terms.
In the write direction, you commit the track buffer in RAM to the SD card
whenever you step to a different track... and again, you have the step
time to do that commit.
It would seem that you wouldn't really need a lot of external hardware
around that microcontroller to pull this off... and the use of the SPI
gives you 8x reduction in the byte rate to/from RAM.
Why do you think that the sampling method is overkill? It would seem
that cracking all the various header formats and sector sizes/counts
would be a more involved effort than what would otherwise be just a
fast bit stream recorder/player.
I'd like to emulate RL01, RL02, various ST-506/-412 types and lots of
different floppy types and it seems like this approach could do all of
those with very minor hardware differences for each.
It sounds like DiscFerret is pretty close but I'm not sure how fast it
can go??
Chris
--
Chris Elmquist