Availability:
     Level A    , 'F'

  Quick Help:
     Translate LBA, F[LbaHi],[LbaLo],[SysAreaOpt],[NumLbas]

  Description:
    This command translates the specified Logical Block Address (LBA) to the following:

       - PBA (Physical Block Address)
       - LLL CHS (Logical Cylinder, Logical Head and Logical Sector)
       - PLP CHS (Physical Cylinder, Logical Head and Physical Sector)
       - Wedge Address
       - Symbols From Index
       - Zone Number

  Input Parameters:

    0 - LBA or LBA High.
    
        If Parameter 1 is not entered, then this parameter contains the 32-bit Logical
        Block Address to be translated.  If Parameter 1 is entered, then this parameter
        contains the upper 16-bits of the Logical Block Address to be translated.
    
        If Parameter 2 is entered, then the specified LBA is located in the System
        Area, else it is located in the User Area.
    
          Type:    Unsigned 32-bit value, if Parameter 1 is not entered
                   Unsigned 16-bit value, if Parameter 1 is entered
    
          Range:   0 to 0xffffffff, if Parameter 1 is not entered
                   0 to 0xffff, if Parameter 1 is entered
    
          Default: 0
    
    1 - LBA Low.
    
        This parameter contains the lower 16-bits of the Logical Block Address to be
        translated.
    
        If Parameter 2 is entered, then the specified LBA is located in the System
        Area, else it is located in the User Area.
    
          Type:    Unsigned 16-bit value
    
          Range:   0 to 0xffff
    
          Default: None.  If this parameter is not entered, then Parameter 0 is assumed
                   to specify the entire 32-bit Logical Block Address to be translated.
    
    2 - System Area Flag.
    
        If any value is entered for this parameter, then the Logical Block Address
        specified by Parameters 0 and 1 is located in the System Area, else it is located
        in the User Area.
    
          Type:    Unsigned 16-bit value
    
          Range:   0 to 0xffff
    
          Default: None
    
    3 - LBA Count.
    
        This value will specify the number of consecutive LBAs to be translated.
    
          Type:    Unsigned 32-bit value
    
          Range:   0 to 0xffffffff
    
          Default: 1
    
  Output Data:


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

    The track information will be displayed as follows.
    
          "Track Info:"
          "Partition PhyCyl   LogCyl   NomCyl   Radius_mils LogHd Zn 
FirstLba FirstPba LogSecs PhySecs WdgSkw SecPerFrm WdgPerFrm"
          "bbbbbb    cccccccc dddddddd nnnnnnnn o.ooooooEoo ee    ff 
gggggggg hhhhhhhh iiii    jjjj    kkkk   llll      mmmm"
    
       where
    
          bbbbbb            is either "User" or "System" to indicate 
which partition.
    
          cccccccc          is the Logical Cylinder address where 
Logical Cylinders do not
                            include the cylinders in other partitions.
    
          dddddddd          is the Physical Cylinder address where 
Physical Cylinders
                            include User Area Cylinders, System Area 
Cylinders and Spare
                            Cylinders.
    
          ee                is the Logical Head address where Logical 
Heads do not
                            include heads that have been depopulated.
    
          ff                is the number of the zone that contains the 
track.
    
          gggggggg          is the first Logical Block Address (LBA) on 
the track.
    
          hhhhhhhh          is the first Physical Block Address (PBA) on
 the track.
    
          iiii              is the number of logical sectors on the 
track.
    
          jjjj              is the number of physical sectors on the 
track.
    
          kkkk              is the skew in wedges from index to the 
wedge that contains
                            physical sector 0.
    
          llll              is the number of physical sectors per frame.
    
          mmmm              is the number of wedges per frame.
    
          nnnnnnnn          is the Nominal Cylinder address where 
Nominal Cylinders
                            remove the VBAR scaling factor.
    
          o.ooooooEoo       is the Radius in milliinches as measured 
from the hub.
    

    The sector information will be displayed as follows.
    
          "Sector Info:"
          "LBA      PBA      LogSec PhySec Wdg  SFI     "
          "cccccccc dddddddd eeee   ffff   gggg hhhhhhhh"
    
       where
    
          cccccccc          is the Logical Block Address (LBA) of the sector within the
                            User or System Area.  All non-defective, non-spare User Area
                            sectors are numbered consecutively starting with zero.
                            Defective sectors do not have a valid LBA and will be skipped
                            when accessing consecutive LBAs.  System Area sectors are
                            number similarly starting with 0.
    
          dddddddd          is the Physical Block Address (PBA) of the sector within the
                            User or System Area.  All User Area sectors (including spare
                            and defective sectors) are numbered consecutively starting
                            with zero.  System Area sectors are number similarly starting
                            with 0.
    
          eeee              is the Logical Sector address where Logical Sectors do not
                            include defective sectors that have been slipped or unused
                            spares.
    
          ffff              is the Physical Sector address where Physical Sectors include
                            all of the sectors on the track (including those marked as
                            defective).  It should be noted that the Physical Sector address
                            is skewed from index.  This means that the first sector following
                            index is not guaranteed to be Physical Sector 0 and may be the
                            second half of split sector.
    
          gggg              is the number of the Servo Burst preceding the data wedge
                            that contains the sector.
    
          hhhhhhhh          is the offset in NRZ Symbols from Index.
    

    If the sector is split, the following additional information will be displayed.
    
          " Split ppp:qqq bytes at Burst rrrrrr"
    
       where
    
          ppp               is the number of bytes before the split.
    
          qqq               is the number of bytes after the split.
    
          rrrrrr            is the number of the servo burst that splits the sector.

  Revision History:

    0001.0000   Initial revision.
    0002.0000   Added Nominal Cylinder and Radius to the Track Info output.
    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).