Availability:
     Level F    , 'E'

  Quick Help:
     Symbol Error Map, E[trk],[hd],[srt sctr],[sctr cnt],[action],[mx err]

  Description:
    This command determines what symbols on a track are in error.

  Related Commands:
    level L i   L> iFFFB will zero out the symbol error map log
    level L D   L> DFFFB will display the symbol error map log
    level L I   L> IFFFB will display information about the symbol
                         error log, including the maximum entry count.

  Input Parameters:

    
    0 - Logical Cylinder
    
        If Log Control ( parameter 4 ) is not 3, this parameter is the logical cylinder
        where symbol errors will be mapped.
       
        If Log Control ( parameter 4 ) is 3, this parameter is a threshold.  Error counts
        greater than or equal to this value are considered defects, with each location counting
        as one defect regardless of count.  Error counts less than or equal to the threshold are
        considered random errors, and each count is considered a separate error.
    
          Type:    unsigned 32 bit hexadecimal value.
    
          Range:   0 - maximum track
    
          Default: current track for logical cylinder
                    0xFFFF FFFF for threshold
    
    1 - Head
    
        Head number of track to be operated on.
    
          Type:    unsigned 16 bit hexadecimal value.
    
          Range:   0 - MAX HEAD
    
          Default: current head
    
    2 - Logical Start Sector
    
        First sector in range to be operated on.  If the high bit is set,
        the command will run in physical mode.  See Example #9.
    
          Type:    unsigned 16 bit hexadecimal value.
    
          Range:   0 - maximum sector
    
          Default: 0
    
    3 - Sector Count
    
        Number of sectors to be operated on.
    
          Type:    unsigned 16 bit hexadecimal value.
    
          Range:   0 - maximum sector
    
          Default: 0xFFFF ( to end of track )
    
    4 - Log Control
    
          0: Gather symbol error map data
          1: Display log ( no new data gathered )
          2: Clear Log ( no new data gathered )
             This command turns defect merging ON.
          3: Show error and defect count
          4: Turn on defect merging
          5: Turn off defect merging
          6: Display error length histogram
          7: Copy write buffer data for compare
          8: Gather symbol error map data and display
             symbol error count per sector histogram.
    
          Type:    unsigned 32 bit hexadecimal value.
    
          Range:   0 - 8
    
          Default: 0 ( no log actions )
    
    5 - Max Sectors In Error
    
          This is the maximum number of sectors that detect an error before the command
          aborts.
    
          Type:    unsigned 32 bit hexadecimal value.
    
          Range:   0 - 0xFFFF FFFF
    
          Default: 0xFFFF FFFF ( read all requested sectors )
    
  Output Data:
 
    Note that if defect merging is ON, errors within 4 symbols of each
    other will be logged as a single error.  For example, if symbols 1
    and 5 are in error, a single error will be logged starting on symbol 1,
    5 symbols long, with a hit count of 2.  If symbol 7 also is in error,
    the log entry will show start symbol 1, 7 symbols long, hit count 3.

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

    
    If no error occurred and the log control parameter is 0, then the output of this command
    will be as follows:
    
     Sectors m  Symbols p
    
       Where:
          m is the number of sectors that had errors.
    
          p is the number of incorrect symbols detected.
    

    
    If no error occurred and the log control parameter is 1, then the output of this command
    will be as follows:
    
     Cyl  aaaa Hd b
     Sctr  ccc sym  ddd len   e cnt    ff
     Sctr  ccc sym  ddd len   e cnt    ff
     ...
     Sctr  ccc sym  ddd len   e cnt    ff
       gg valid entries
       hh overflow   Merging JJJ
    
       Where:
          aaaa is the cylinder number where the errors were detected.
    
          b is the head number where the errors were detected.
    
          ccc is the sector number where the errors were deteced.
    
          ddd is the first symbol of the range of symbols within the sector where
              the errors were detected.
         
          e is the length in symbols of the range of symbols where the errors were detected.
    
          ff is the number of errors that were found within the range of symbols.
    
          gg is the number of entries ( not errors ) in the symbol error map list.
    
          hh is the number of errors that could not be added to list because this list
             was full.
    
          JJJ will be ON or OFF to indicate whether merging of nearby symbol errors is
             enabled.
    

    
    If no error occurred and the log control parameter is 3, then the output of this command
    will be as follows:
    
     Threshold =  rr   Cyl sssss Hd t
     Random Errors: uuu    Defects: wwww   Overflow: xxx
    
       Where:
          rr is the minimum number of hits to be considered a defect.  Each defect location
             is counted as one defect regardless of the number of hits.
    
          ssss is the cylinder number tested.
    
          t is the head number tested.
    
          uuu is the number of errors found below the specified threshold.  Multiple hits
              on a single location will add to the random error count as long as the hit
              count at that location is below the specified threshold.
    
          wwww is the number of defects found at or above the specified threshold.  Each
               defect location is counted as one defect regardless of the number of hits.
    
          xxx is the overflow count.  This value does not contribute to either the random
              error count or the defect count.
    

    
    If no error occurred and the log control parameter is 6, then the output of this command
    will be as follows:
    
      Cyl ccccc Hd d
     Length: lll     Hits: hhh
     ...
     Length: lll     Hits: hhh
    
       Where:
          ccccc is the cylinder number tested
    
          d is the head number tested
    
          lll is the length is symbols of the defect
    
          hhh is the number of times a defect with the list length appears in the symbol
              error map log.
    

    
    If no error occurred and the log control parameter is 8, then the output of this command
    will be as follows:
    
     Sctrs Sym
      aaa  bbb
      ...
      aaa  bbb
     Sectors m  Symbols p
    
       Where:
          aaa is the number of sectors that have exactly bbb symbols in error.
    
          m is the number of sectors that had errors.
    
          p is the number of incorrect symbols detected.
    
  Examples:

    Example #1:
    To scan all sectors on track 8017h head 0:
       F> E8017,0

    Example #2:
    To scan sectors 0 through 36h on track 100h head 1:
       F> E100,1,0,37

    Example #3:
    To clear the symbol error map log ( necessary if moving
    to a new track ):
       F> E,,,,2    ( four commas )

    Example #4:
    To view to the symbol error map log:
       F> E,,,,1    ( four commas )

    Example #5:
    To scan all sectors on track 2000h head 0 and stop after 48h sectors
    are found to have errors:
       F> E2000,0,,,,48
 
    Example #6:
    To scan all sectors on a track without allowing merging
       F> E,,,,2   ( clear out log )
       F> E,,,,5   ( turn off symbol error merging )
       F> E        ( run test )
       F> E,,,,1   ( see results )
 
    Example #7:
    To view all locations with 7 or more hits as errors:
       F> E7,,,,3
 
    Example #8:
    To view a histogram of symbol error lengths:
       F> E,,,,6
       7> K2       ( go to single sector per track mode )
       7> /FE,,8000 ( run in physical mode )
 
    Example #9:
    To run the command in physical mode:
       2> S200
       2> A0          ( go to a track and stay there )
       2> /7K2        ( switch to single sector per wedge mode )
       7> /2W,,,1     ( write the track in new mode )
       2> /FE,,8000

    Example #10:
    To generate a histogram of symbols in error per sector:
       F> E,,,,8
 
  Potential Error Conditions:

    DiagErr 00010000 Symbol Compare Buffer Not Allocated
       The drive encountered a sector with so many errors that it needed to compare
       to a write buffer copy, but the write buffer copy does not exist.  Set the
       write pattern and run F> E,,,,7.

    DiagErr 0000000A Invalid Diagnostic Parameter
       Try running 7> K2 to put the drive in 'single sector per wedge' mode before
       running F> E

    DiagErr 00003000 Invalid Target Address
       Symbol Error Map Log has data in it from a different track.  Run F> E,,,,2 to
       clear log.

    DiagErr 00008003 Log Not Empty
       The merge setting cannot be changed if the log has entries in it.  Run F> E,,,,2
       to clear log before running E,,,,4 or E,,,,5.
 
  Revision History:

    0001.0000   Initial revision.