[comp.sys.atari.st] HDX Bad sector list

ONM07@DMSWWU1A.BITNET (Operator Julian) (09/18/89)

Is there any documentation about the bad sector list format used by
HDX? What is the meaning of the first 6 bytes? Any help appreciated!

tomas@m2cs.uu.no (Tomas Felner) (09/21/89)

ONM07@DMSWWU1A.BITNET (Operator Julian) writes:
>Is there any documentation about the bad sector list format used by
>HDX? What is the meaning of the first 6 bytes? Any help appreciated!

I tried to figure out this myself some time ago, and even posted to the
net, but no reply so far. However, I was able to decipher some of it
myself. Here is my original posting from last march:

_________________________
I just added a new harddisk to my selfbuilt harddisk-kit. The disk has
some hard errors on the media as indicated on the cover of the disk. To
map them out, I formatted it with the HDX 2.0 from Atari, which has a
Markbad facility that generates a bad sector list (BSL). However, it
didn't find all hard errors, and after running 'Markbad' a few times, I
got several different BSLs. Two entries at the end of the bootblock
indicate the first sector and the number of contiguous sectors holding
the BSL. The BSL looks like this (3 real examples):

  000002  550000  002DC8  002D2C  ( 2 bad sectors )

  000003  AB0000  002DC8  002D2C  0003A6  ( a 3rd bad sector )

  000003  030000  00123F  002DC8  002D2C  ( different ordering and
                                            another bad sector)
 
It seems that the first entry indicates the number of bad sectors, and
the third, forth, ... hold the number of the bad sectors. But what does
the second entry mean ? Is it a checksum ? How to calculate it ???
Since this is the format used by Atari, I guess it will be 'official'.

If I know what the second entry means, I can build the BSL by hand,
adding the bad sectors not found by the formatter (you never know !).

But how about handling that BSL. Does the TOS or any driver support it
or even look at it ? Any comments ? Atari ?

Or even better: the format-command of the Adaptec 4000 controller supports
adding a BSL, so that the bad sectors are mapped out at format-time.
Doing so, you don't have to worry about them any more, because they are
not accessible. Is there any formatter around that accepts such a BSL as
parameter ? 

BTW, how did you, netlanders, map out bad sectors before (or now) ? I
was lucky not to have any bad sectors on my other harddisk so far.
--------------------------

How about HDX 3.01 and the BSL ??

Tomas
-- 
                          Tomas Felner
     Modula-2 CASE Systems AS  |  Internet: tomas@m2cs.uu.no
            Maridalsveien 139  |  Phone: +47 2 379784
        N-0461 Oslo 4, Norway  |  FAX: +47 2 356448

hcj@lzaz.ATT.COM (HC Johnson) (09/21/89)

In article <1989Sep20.174011.20782@m2cs.uu.no>, tomas@m2cs.uu.no (Tomas Felner) writes:
> ONM07@DMSWWU1A.BITNET (Operator Julian) writes:
> >Is there any documentation about the bad sector list format used by
> >HDX? What is the meaning of the first 6 bytes? Any help appreciated!
> 
> I tried to figure out this myself some time ago, and even posted to the
> net, but no reply so far. However, I was able to decipher some of it
> myself. Here is my original posting from last march:
> 

The BSL is a place for bad sectors to be logged.  TOS doesn't use it.

----Warning! This is my opinion:-----

1. most disk interfaces use the Adaptec 4000a or 4070 controllers to
   connect mfm or rll drives.
2. These adapters will accept a list of BAD BITS as part of the low level
   format command.  This list is (i believe) standard, as my drives have
   such lists glued on them by the manufacturer.
3. After an Adaptec  controller has formatted the drive using this list
   all of the sectors IMPLIED by the bits disappear.  They do not appear
   in the BSL!.  The user only finds that the drive contains a few fewer 
   sectors that the full size.
   -- There is a SCSI command to adaptec to get this number.  Only the 
	BMS200 adapter can issue it however.
   -- Generally each bad bit area cost 1 sector.

4. HDX doesn't accept a bad bit list.  (I modified my version to use the
   info).
5. HDX and (Supra/ICD, I believe) do a function called loosely, finding
   bad blocks.
6. What they really do is first partition the disk into GEM partitions
   and then test the data area for bad blocks, marking them bad in the 
   FAT tables.
7. What happened to me was that the bad blocks were in the FAT and Root
   directory on one drive and this was a disaster.  This is why I changed
   HDX.

Howard C. Johnson
ATT Bell Labs
att!lzaz!hcj
hcj@lzaz.att.com

BILL_FOSTER@bdt.UUCP (10/08/89)

I have written a Hard Disc Scan program called scan.arc and uploaded it
to gEnie.  If you run this just after formatting the drive you shouldn't
have any more problems with read or write errors...

tomas@m2cs.uu.no (Tomas Felner) (10/09/89)

BILL_FOSTER@bdt.UUCP writes:
>I have written a Hard Disc Scan program called scan.arc and uploaded it
>to gEnie.  If you run this just after formatting the drive you shouldn't
>have any more problems with read or write errors...

That's exactly what I need. But I don't have access to GENIE. Can you
post it here (or rather to the binaries group) ?

-- 
                          Tomas Felner
     Modula-2 CASE Systems AS  |  Internet: tomas@m2cs.uu.no
            Maridalsveien 139  |  Phone: +47 2 379784
        N-0461 Oslo 4, Norway  |  FAX: +47 2 356448