amiga floppy disk reading experience

Chuck Guzis cclist at sydex.com
Fri Jun 11 12:51:36 CDT 2010


On 11 Jun 2010 at 13:12, Keith M wrote:

> Thanks for the response.  I know you've advanced this position before.
> My relatively simple "time between pulses" method works probably 95%
> of the time.  It's getting this last 5% to read correctly where it
> looks like I'll need some more sophisticated algorithms.

Keith,

You should set your sights higher--you should be able to read 100% of 
the floppies that are readable by the Commodore drive and a few that 
the Commodore drive can't.

If you think about it a bit, you can do a substantially better job 
with "problem disks'.  For example (I'll use standard IBM 3740-type 
format as a basis), if a legacy floppy controller mis-reads an ID 
header, it will return a "Sector not found" type of error.   However, 
as a programmer you know what the disk layout is and what the sector 
ordering should be--and approximately where any given sector should 
be.  So, to read the sector, you assume the contents of the ID header 
and switch to looking for the closest DAM.  There's your sector.

Take a look at some of the old Western Digitial FDC app notes, 
particularly those for the 179x controllers for ideas on how data 
separators can be implemented.

--Chuck





More information about the cctech mailing list