Re: floppy programming

Helge Hafting (helgehaf@idb.hist.no)
Mon, 19 Mar 2001 10:23:47 +0100


Leandro Bernsmuller wrote:
>
> Hi,
>
> some body know if exist or is possible to do one
> driver
> to makes floppy drive use some type of "balanced" bits
> distribution?
> The idea is simple: format a disk doing inner tracks
> with less bits than
> in external tracks.
> Maybe is better think in sectors and not bits
> banlancing?
>
> I want opinions about the idea, pleace.

Go ahead. Note that ordinary floppies store
the number of sectors per cylinder in the boot sector,
and this is used for easy conversion from
block number (from the fs) to head, cylinder
& sector (for the hardware driver)

You'll break this simple scheme, as you'll need
a table in the driver for how many sectors in track 0,
how many sectors in track 1, and so on up to
the maximum track which usually is 80 although
some floppy drives goes out to 83 or 89 or something.

>I want opinions about the idea, pleace.
>
>Where can I find information about floppy drivers
>programming, DMA setup,...?

Look at the existing floppy driver. Note that
you don't need info on DMA etc., as the driver
already will do all sorts of weird sector layouts.
(look at the manpages for superformat)
The only limitation is that the current driver
likes to use the same number of sectors per track
for all cylinders, but you can change that
using a lookup table.

I am not sure this will help you though, as
pc floppies have constant rotational speed
and I bleieve a constant write rate too.
So you cannot really squeeze more onto the
outer tracks without some kind of hardware
modification.

Well, maybe your drive
can gain a little extra on some cylinders if you
take variable head drag into consideration,
but you'll surely end up with a floppy that
fits one drive only if you go too close
to the rotational tolerances.

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/