Skip site navigation (1)Skip section navigation (2)
Date:      10 Jan 2002 16:32:43 -0500
From:      Randell Jesup <rjesup@wgate.com>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        olli@secnetix.de
Subject:   Re: FreeBSD Floppy driver needs enhancement...
Message-ID:  <8303d2c304636007d2@[192.168.1.4]>
In-Reply-To: <7e04eadc031ed907d2@[192.168.1.4]>
References:  <7e04eadc031ed907d2@[192.168.1.4]>

next in thread | previous in thread | raw e-mail | index | archive | help
Oliver Fromme <olli@secnetix.de> writes:
>Randell Jesup <rjesup@wgate.com> wrote:
> >         Yes (if anyone still cares about floppies).  The old Amiga
> > trackdisk (floppy driver) could do that, since all the decoding was in
> > software (and via the graphics bitblitter(!)).  Do the integrated disk
> > controllers in PC's (still) allow direct raw bit access, or only after MFM
> > decoding?
>
>No, it can't.  The FDC in a PC (a NEC µPD765 or a clone of
>it, nowadays usually embeded within a multi-I/O-controller
>or the mainboard chipset) is severely limited in what it
>can do.  Basically, it can only read MFM-encoded sectors of
>several fixed sizes, with a fixed header.

        Sounds like what I remember; you tell it to find a sector
(sectors?) with this header, and it returns it to you.  No control over
the inter-sector gap, mark, or header directly.  It's amazing how codified
the OLD PC hardware spec has become, including all the quirks and
stupidities.

>In contrast, the FDC of the Amiga was like heaven.  You can
>read the floppies at bitlevel with that beast.  The actual
>data encoding (MFM or GCR) was done by a coprozessor.
>That's why you can read PC-formatted floppies with the
>Amiga, but not vice versa.  I think that the native Amiga
>floppies use MFM2 encoding.

        Amiga native uses MFM, but because there are no inter-sector gaps
(just marks), it packs more onto a track (880K/disk to 720K with normal PC
formatting) - 11 sectors instead of 9.  You could also use them for GCR or
RLL but then decoding had to be entirely in software.  MFM could be done by
a few passes of the graphics bit-blitter.  (I did a major rewrite of the
Amiga trackdisk at Commodore to improve bad-sector recovery and speed.)  If
you could guarantee that drives were close to spec (not the 5%(?)
tolerance we assumed), you could pack in 12 sectors I think.  I forget, all
my math was in comments in the include files (assembler).

        The next generation chipset from Amiga (AAA) had an improved disk
controller on Mary that could handle 2.88MB (3.4MB in Amiga format)
floppies, not that they ever took off, as well as do direct CDROM bitstream
decode.  Never got past a few sample boards in the lab, though.


        Back to the original question: do people care about floppies and
bad-sector recovery anymore?   Aren't floppies on the very verge of
disappearing for good, replaced by CDRW's?

-- 
Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team
rjesup@wgate.com
"They that can give up essential liberty to obtain a little temporary safety
 deserve neither liberty nor safety." 
              -Benjamin Franklin, Historical Review of Pennsylvania, 1759.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8303d2c304636007d2>