Software-based floppy disc data separator

Philip Pemberton classiccmp at philpem.me.uk
Wed Jun 16 19:32:46 CDT 2010


On 17/06/10 00:23, Keith wrote:
> I've done this math about a million times. :)
>
> Absolute minimum read time: 200ms * 160 = 32 seconds.
> Practical minimum w/o circular buffer support: 220ms * 160 = 35.2 seconds.
>
> (you've got to read 12 amiga sectors(instead of 11) because you start
> reading in the middle of a sector)

Hm, so that's another acq mode you could use -- start immediately, then 
stop on the 13th MFM_SYNC_DETECT.

Personally I'd go with a double back-to-back read, which produces about 
180K of data. You start on the first index pulse, then keep reading 
through the second one, and stop reading on the first index pulse. This 
would give you a seamless block, *and* tell you what the time delta from 
the index pulse to the start of the track is.

On most mastered discs this may well be close to zero, but on copy 
protected discs (for any platform), this kind of info may be important...

> So we're talking like 37 seconds best case. I'm doing it in around 50s,
> the time that's left is
>
> 1> pc processing time (which can still be optimized) around 10ms.
> 2> after track finishes being read, the fifo has to finish sending to
> the PC.

If the DiscFerret wasn't in pieces, I'd run a read test and post a scan 
time. At the moment I'm borrowing its power supply to power a Planar EL 
display panel that I'm playing with -- a surplus item that apparently 
came out of a Sun StorEdge A5100. Totally off-topic, but it was made by 
a Tek spinoff, looks frickin' cool compared to an LCD, and... well, what 
more reason do you need? ;)

And reverse engineering is fun. ;)

-- 
Phil.
classiccmp at philpem.me.uk
http://www.philpem.me.uk/



More information about the cctalk mailing list