Defect list handling
------ ---- --------

To help with the handling of defect lists, we must have a method for
dealing with old discs in a backwards-compatible manner, and properly
handling new defect lists in such a way that old software will not
break.  This will be done by having a second defect list after the
original defect list, which contains defects from 512M onwards, in
sector address form.  The second defect list will have its own
checksum separate from that for the first defect list.  The end
marker for the second defect list is &40000000 so as not to confuse
software which only knows about the first defect list.  Thus, the
defect list will look like this

  defect
    .
    .
  &200000xx (end marker), xx is a check byte for the list
  defect (sector addr)
    .
    .
  &400000xx (end marker), xx is a check byte for the list
  
A few ground rules for handling defect lists in this manner:

* If a defect is <512M into the disc it is always put into the
  first list.  Otherwise it is always in the second list.

* On a <=512M disc, the defect list remains as before.  On a >512M
  disc, the defect list must contain both lists otherwise is is
  invalid.  Any list may be empty, of course, and just consist of
  the end marker and a zero byte.
  
* The test for presence of the second list will be the disc size
  field being >512M.  No other test is needed.

Changes required to add support for this:
------- -------- -- --- ------- --- -----

Disc identification code.
Disc formatting code.
   MapOutADefect
*Defect handling
   DoDefect
   DoDefectMapOut
   

ADFS defect handling code.

!Hform writing of defect list.
