Subject: Re: Compiling Kernel (long!)
To: Waldi Ravens <waldi@moacs.indiv.nl.net>
From: Howard Chu <hyc@locus.com>
List: port-atari
Date: 02/13/1996 01:24:26
  > > fd?a =3D> single sided floppy (80 tracks, 9 sectors/track)
  > > fd?b =3D> double sided floppy (2*80 tracks, 9 sectors/track)
  > > fd?c =3D> double sided, high density (2*80 tracks, 18 sectors/track)
  > 
  > why not fd?.360, fd?.720 fd?.1440? Yes, I know I may link them ...

  This looks even worse than the current kludge. The correct solution
  is an auto-detecting fd-driver.

I agree. I wrote just such a driver for Minix 1.4 at least 8 years ago.
I'm apalled to see the world still using this approach. My driver would
also dynamically determine the number of sectors per track, thus supporting
the oddball ST formats like 10 or 11 sector tracks on double-density,
or 20-22 sector tracks on high density.

All that's required is to read track 0 on any floppy open(), specifying a
large number of sectors, and checking the residue after the sector-not-found
interrupt. The same operation will determine single or double-sided. For
formatting purposes, you can provide an alternate minor device that skips
the read check on open, although that's not strictly necessary. 

It's amazing what kind of braindead kludges people will put up with. But
then again, I guess that's why Bill Gates is a billionaire.

Howard Chu				Principal Member of Technical Staff
hyc@locus.com				PLATINUM technology, Locus Laboratory