Subject: errors and bad144
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: John Vinopal <banshee@resort.com>
List: current-users
Date: 03/03/1994 17:43:42
Subject: Translating controllers; errors; and bad144


       During the boot-up phase,
       some of the newer boot blocks will refer to the BIOS for some
       services.  Specifically, the disk is checked for a bad sector map
       on the last track.  Since the BIOS cannot deal with cylinders
       higher than 1024, your bad sector map will be incorrectly
       identified as 1023 if the number of cylinders is larger than that.
       This problem is being worked on, and I hope to change this section
       with better news later.

       NOTE:  The only people that this problem will effect are those
       MFM and ESDI users that have drives with more than 1023 tracks.
       While drives of this type are not the overwhelming majority,
       neither are they an anomoly.  People are working on it.

Is this quote (exerpted from the faq) true?  The term "bad sector map"
is referring to the bad144 code?  I was under the impression that drives
when low level formatted, wrote bad sector information in the sector
headers and that bad144 (or DOS fats, etc) were only needed for those 
sectors which had errors in the sector header area.  

The boot code does indeed (in both net and free) make a call to "biosread"
which tries to grab the bad144 list; as noted above, with more than 1024
cylinders the read silently fails and reads trash.

Is there any need to do this read in the boot?  Can the bad144 table be 
initialized later (once the machine is in protected mode and able to hit 
anything on the drive)?  And what of sectors marked bad in the sector header?
Is this dealt with in wd.c for single and multiple transfers?  Does marking
sectors bad on the fly ruin filesystem consistancy or is it just not
possible to do this?

What are the chances of upping bad144 sector size of 126?  I know its hard
coded all over but 126 is pretty small and silly.


I'm willing to do work on this problem, but I need to know more about whats
going on at the read/write level of wd.c and of course the simple answers
I'm not thinking of.

-john
:x
The Wailer at the Gates of Dawn              | banshee@resort.com          |
Just who ARE you calling a FROOFROO Head?    |                             |
DoD#0667  "Just a friend of the beast."      | banshee@cats.UCSC.EDU       |
2,3,5,7,13,17,19,31,61,89,107,127,521,607....|                             |


The Wailer at the Gates of Dawn              | banshee@resort.com          |
Just who ARE you calling a FROOFROO Head?    |                             |
DoD#0667  "Just a friend of the beast."      | banshee@cats.UCSC.EDU       |
2,3,5,7,13,17,19,31,61,89,107,127,521,607....|                             |


------------------------------------------------------------------------------