Availability:
     Level 7    , 'h'

  Quick Help:
     Mark Media Flaw, h[PhyCyl],[Hd],[PhySec],[UndisturbedRadius],[EraseBandTrks],[PtrLen],[WgSpec],[Od/Id]

  Description:
    This command marks tracks around an target area so that the target area may be found
    after the disk is developed.

    Note this command may take 10's of seconds.


    Diagram below shows erased areas as 'E'.
    OD
                             *    E
             pointer length *     E
                             *    E
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE  *
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE   *  erase band width
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE  *
                           *
       undisturbed radius *
                           *
                              target flaw
                           *
       undisturbed radius *
                           *
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE  *
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE   *  erase band width
    EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE  *
                             *    E
             pointer length *     E
                             *    E
      ID

  Input Parameters:

    0 - Cylinder
    
        This input specifies the physical cylinder to be marked.  This cylinder will
        not be written.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: none
    
    1 - Head.
    
        This input specifies the head number of the track to be marked.
    
          Type:    Unsigned 16-bit value
    
          Range:   0 to 0xFFFF
    
          Default: none
    
    2 - Sector or SFI or Wedge
    
        This input specifies which wedge is marked.
    
        If parameter 6 is 0 (default), this value is a physical sector number in the wedge
        to be marked.
        If parameter 6 is 1, this value is servo wedge number of the wedge to be marked.
        If parameter 6 is 2, this value is symbols from index in the wedge to be marked.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: none
    
    3 - Undisturbed Radius
    
        This input specifies how many tracks on each side of the defect are left undisturbed
        before the erase tracks begin.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: 0xF
    
    4 - Erase Band Width
    
        This input specifies how many tracks wide the full track erase mark will be.  This
        value must be at least three because the erase operation affects a minimum of three
        tracks.
    
          Type:    Unsigned 32-bit value
    
          Range:   3 to 0xFFFFFFFF
    
          Default: 0x1E
    
    5 - Pointer Length
    
        This input specifies how many tracks wide the single wedge erase pointer
        will be.   This pointer appears both inside the inner erase bands and outside the
        outer erase bands.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: 0x3C
    
    6 - Wedge Specifier Type
    
        This input specifies the units of parameter 2 ( sector or SFI or wedge )
        will be.
    
        If this value is 0 (default), parameter 2 is physical sector number.
        If this value is 1, parameter 2 is servo wedge number.
        If this value is 2, parameter 2 is symbols from index.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: 0 ( physical sector )
    
    7 - OD / ID Specifier
    
        This input indicates whether to mark the OD, the ID, or both.
    
        If this value is 1, mark only the OD.
        If this value is 2, mark only the ID.
        If this value is neither 1 nor 2, mark both the OD and the ID.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: 0 ( mark both OD and ID )
    
  Output Data:

    If an error occurred, the following information will be displayed.
    
          "DiagError aaaaaaaa"
    
       where
    
          aaaaaaaa is the Diagnostic Error Code
    
  Examples:

    Example #1:
    To mark the wedge holding sector 17h of physical track 90, head 0:
          
       F3 7>h90,0,17
          
    or

       F3 7>h90,0,17,,,,0

    Example #2:
    To mark the wedge containing 7300h symbols from index of physical track 90, head 0:
          
       F3 7>h90,0,7300,,,,1

    Example #3:
    To mark wedge 8 of physical track 90, head 0:

       F3 7>h90,0,8,,,,2

    Example #4:
    To mark wedge 5 of physical track 90, head 0, leaving 0xC tracks undisturbed on either
    side of the defect, erasing 0x20 tracks on each side, and making pointers 0x55
    tracks long:

       F3 7>h90,0,5,C,20,55,2

    Example #5:
    To mark the wedge holding sector 5 of physical track 20h, head 1, using only tracks
    toward the ID from the defect:

       F3 7>h20,1,5,,,,,2

  Revision History:

    0001.0000   Initial revision.
    0001.0001   Add support for inputting wedge or SFI as well as physical sector.
    0001.0002   Fix bug that prevented operation at extreme OD.
                Add ability to mark only one side of a defect.
    0011.0000   Combined the PSG Diagnostic Error Codes (PSGDEC) and the Diagnostic External
                Test Service Error Codes (DETSEC) into a single set of Diagnostic Error Codes
                (DiagError).
    0011.0001   Improve accuracy of tracks erased