Subject: Re: proposal for MI floppy formatting
To: None <tech-kern@NetBSD.ORG>
From: Matthias Pfaller <firstname.lastname@example.org>
Date: 11/22/1996 12:06:14
Gordon W. Ross (email@example.com) wrote:
> > From: "Matthias Pfaller" <firstname.lastname@example.org>
> > Date: Tue, 19 Nov 1996 16:27:53 +0100 (MEZ)
> > It would be nice if one could pass an array containing the
> > sectornumbers. That way it would be possible to do interleave,
> > cylinder/head skew and to do some wierd formats like old OS9 (where
> > sector numbers start with 0 and not with 1) or Amstrad CPC floppies (where
> > sector numbers start at 0x01, 0x41 or 0xC1 depending on the filesystem
> > type). Flags to select between FM/MFM and between ISO/IBM-34 format
> > would be nice as well.
> > Matthias
> That sort of flexibility is nice, however, I hope to see a fairly
> general-purpose interface for floppy disk parameter control; i.e.
> one that does not presume much knowledge about the capabilities
> of the particular hardware. Asking this interface to allow those
> strange sector numbering schemes looks pretty low-level to me.
But why? The kernel driver has to do a complete track layout in memory
anyway. Instead of initializing the sector headers with numbers from 1
to n, the driver can just use this as an index into the (optional) table
provided by the user. You should be able to do this with any
FD-controller I know. On SCSI-Floppies you can't do this, but to use
these new IOCTLs you would have to teach the sd driver about them and
that's not worth the trouble. When I want to format a floppy on my
machine, I just send a FORMAT UNIT to the drive and that's it. IMHO a
special driver for scsi floppies is wasted time. My drive works
perfectly well with the sd driver.
Selecting between FM/MFM and ISO/IBM-34 (is this possible on 765 clones?)
isn't more lowlevel then selecting the number of tracks IMHO. If the
hardware doesn't allow it, the driver reports an error.
email@example.com in real life: Matthias Pfaller
marco GmbH, 85221 Dachau, Germany tel: +49 8131 516142