Availability:
     Level 2    , 'S'
     Level 3    , 'S'
     Level 4    , 'S'
     Level 7    , 'S'
     Level 8    , 'S'
     Level H    , 'S'

  Quick Help:
     Seek to Logical Cylinder and Head, S[Cyl],[Hd],[Offset],[OffsetUnitsOpt],[SkType],[Options]

  Description:
    This commmand performs a seek operation to the specified User or System Area logical
    cylinder and logical head address.  If no address is specified, this command will
    seek to the next logical track in the Test Space.

  Input Parameters:

    0 - Logical Cylinder Address.
    
        If Parameter 4 is not entered, this parameter is the address of the User Area
        logical cylinder to which the seek is to be performed.  If Parameter 4 is
        entered, this parameter is the address of the System Area logical cylinder to
        which the seek is to be performed.  If both Parameter 0 and 1 are not entered,
        a seek will be performed to the next logical track in the Test Space.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xFFFFFFFF
    
          Default: None
    
    1 - Logical Head Address.
    
        If entered, this parameter contains the address of the logical head to which the
        seek is to be performed.  If both Parameter 0 and 1 are not entered, a seek will
        be performed to the next logical track in the Test Space.
    
          Type:    Unsigned 8-bit value
    
          Range:   0 to 0xFF
    
          Default: None
    
    2 - Track Follow Offset value.
    
        This parameter is a signed 16-bit number representing the amount of tracking
        offset to apply in the servo system.  If Parameter 3 is equal to 0, the specified
        offset will be in units of 1/256th of the servo track width.  If Parameter 3 is
        equal to 1, the specified offset will be in units of 0.1% of the data track width.
    
          Type:    Signed 16-bit value
    
          Range:   0x8000 to 0x7FFF
    
          Default: 0
    
    3 - Track Follow Offset Units option.
      
        This parameter specifies the units of the Track Follow Offset value.  If this
        parameter is equal to 0, the specified offset will be in units of 1/256th of the
        servo track width.  If this parameter is equal to 1, the specified offset will
        be in units of 0.1% of the data track width.
    
          Type:    Unsigned 8-bit value
    
          Range:   0 or 1
    
          Default: 0 (Offset is in units of 1/256th of the servo track width)
    
    4 - Seek Type.
    
        This parameter specifies whether the seek should be performed to the read, write
        or write header track follow position.
    
            0 = Seek to the read track follow position
            1 = Seek to the write track follow position
            2 = Seek to the write header track follow position
    
          Type:    Unsigned 8-bit value
    
          Range:   0 to 0xFF
    
          Default: Seek to the read track follow position
    
    5 - Options.
    
        This parameter is a bit-significant value that allows the user to select the
        following options.
    
          Bits 15-3:  not used.
    
          Bit 2:      Display the Data Track Width.
    
                      If this bit is set, the width of the destination track will be displayed
                      in Q14 servo counts.
    
          Bit 1:      Disable Reload Channel Parameters With Seek Flag.
    
                      If this bit is set, the channel parameters will not be reloaded into the
                      channel registers with the seek, else the channel parameters will be
                      reloaded into the channel registers.
    
          Bit 0:      System Area Flag.
    
                      If this bit is set, Parameter 0 specifies a System Area logical
                      cylinder, else Parameter 0 specifies a User Area logical cylinder.
    
          Type:    Unsigned 16-bit value
    
          Range:   0 to 0xFFFF
    
          Default: 0    (Reload the channel paramters,
                         Seek to user area)
   
  Output Data:

     If an error occurred, the following information will be displayed.
    
           "DiagError aaaaaaaa R/W Status c R/W Error dddddddd"
    
        and
    
           "Target User LBA eeeeeeee LLL CHS ffffff.g.hhhh PLP CHS iiiiii.j.kkkk"
    
        or
    
           "Target System LBA eeeeeeee LLL CHS ffffff.g.hhhh PLP CHS iiiiii.j.kkkk"
    
        where
    
           aaaaaaaa is the Diagnostic Error Code
    
           c is the status returned by the R/W subsystem
    
           dddddddd is the error code returned by the R/W subsystem
    
           eeeeeeee is a Disk Logical Block Address on the track to which the seek was
           performed
    
           ffffff is the Logical Cylinder Address of the track to which the seek was
           performed
    
           g is the Logical Head Address of the track to which the seek was performed
    
           hhhh is a Logical Sector Address on the track to which the seek was performed
    
           iiiiii is the Physical Cylinder Address of the track to which the seek was
           performed
    
           j is the Logical Head Address of the track to which the seek was performed
    
           kkkk is a Physical Sector Address on the track to which the seek was performed
    
     If the Verbose Formatted ASCII Data Output Mode is selected, the Verbose Mode option
     bits will enable the following data to be output when set.
    
        Bit 0:      Enables the R/W Status and R/W Error to be displayed
        Bit 1:      NA
        Bit 2:      Enables the Track Position and Track Follow Offset to be displayed
        Bit 3:      Enables the Target Address to be displayed
        Bit 4:      NA
        Bit 5:      NA
        Bit 6:      Enables the Elapsed Time to be displayed
        Bits 31-7:  NA
    
     If Bit 0 is set, the R/W Status and R/W Error will be displayed even if no error
     occurred.  The data displayed will be formatted as shown above.
    
     If Bit 2 is set, the Track Position and Track Follow Offset will be displayed as
     follows.
    
           "Read Position, Persistent Offset m.m% Total Offset n.n%"          or
           "Write Position, Persistent Offset m.m% Total Offset n.n%"         or
           "Write Header Position, Persistent Offset m.m% Total Offset n.n%"
    
        where
    
           m.m is the Persistent Track Follow Offset in units of percentage of track width
    
           n.n is the Total Track Follow Offset in units of percentage of track width
    
     If Bit 3 is set, the Target Address will be displayed even if no error occurred.
     The data displayed will be formatted as shown above.
    
     If Bit 6 is set, the Elapsed Time for the seek operation will be displayed.

    
       "Elapsed Time a mins b secs"  or
       "Elapsed Time b.c secs"       or
       "Elapsed Time c.d msecs"
    
    where
    
       a is minutes
       b is seconds
       c is milliseconds
       d is microseconds
    

    Regardless of verbose mode status, the following output may occur:
    
    If a seek mode was specified, the Elapsed Time for the seek operation will be displayed.
    The data displayed will be formatted as shown above, under Bit 6 of verbose mode.
    
    Some commands use an output control bit flag (specified in the input parameters above).
    
    If "Output Control Flag- Data Track Width" is set, the following information will be displayed:
    
          "Data Track Width wwww"
    
       where
    
          wwww  is the width of a data track in hex and in units of servo position. Q14 scaling,
                so 0x4000 is the width of a data track at nominal TPI (before VTPI and warping).
    
  Examples:
    Example #1:
       To seek to a logical cylinder and head at the read track follow position
       (in this case logical cylinder 45 head 1)

          F3 2>S45,1

    Example #2:
       To seek to a logical cylinder and head at the write track follow position
       (in this case logical cylinder 45 head 1)

          F3 2>S45,1,,,1

    Example #3:
       To seek to a logical cylinder and head at the write header track follow position
       (in this case logical cylinder 45 head 1)

          F3 2>S45,1,,,2

    Example #4:
       To seek to a logical cylinder and head at the read track follow position with
       an additional offset specified in servo counts
       (in this case logical cylinder 45 head 1 at an offset of plus 100/256ths of
       the servo track width)

          F3 2>S45,1,64

    Example #5:
       To seek to a logical cylinder and head at the read track follow position with
       an additional offset specified in percent of data track width
       (in this case logical cylinder 45 head 1 at an offset of -10% of the data track
       width)

          F3 2>S45,1,FFF6,1

    Example #6:
       To seek to a logical cylinder and head at the read track follow position and
       display the data track width in Q14 servo counts
       (in this case logical cylinder 45 head 1)

          F3 2>S45,1,,,,4

    Example #7:
       To seek to a logical cylinder and head at the read track follow position and
       disable reloading of the channel parameters by the seek
       (in this case logical cylinder 45 head 1)

          F3 2>S45,1,,,,2

    Example #8:
       To seek to a system logical cylinder and head at the read track follow position
       (in this case logical system cylinder 54 head 0)

          F3 2>S54,0,,,,1

  Revision History:

    0001.0000   Initial revision.
    0001.0001   Changed the parameters to allow some fine output control. Added a new
                parameter to allow the output of the data track width of the destination
                track, in Q14 servo counts.
    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).