******************************************************************************************
      0x0000 - 0x0FFF: Diagnostic Infrastructure Errors
     ******************************************************************************************
      0x0000: No Error
      0x0001: Unsupported Diagnostic Feature
      0x0002: Online Extrinsic Requests are disabled
      0x0003: Diagnostic Mode Extrinsic Requests are disabled
      0x0004: Diagnostic External Test Service Busy
      0x0005: Invalid Diagnostic External Test Service Request
      0x0006: Extrinsic Diagnostic Aborted
      0x0007: File Creation Error
      0x0008: Memory Allocation Error
      0x0009: Unsupported Diagnostic Parameter Revision
      0x000A: Invalid Diagnostic Parameter
      0x000B: Singular Matrix Error
      0x000C: Congen Read Error (Drive Has Probably Never Been "Congened")
      0x000D: Congen Write Error: Error Occurred Saving Mode Packet Header
      0x000E: File Copy Error
      0x000F: Unable to load Diagnostic Overlay
      0x0010: Congen Write Error: Mode Page Length Does Not Match Specified Length
      0x0011: Congen Write Error: Mode Page Check Member Function Returned Failure
      0x0012: Congen Write Error: Attempt To Change Unchangeable Parameter
      0x0013: Incoming SDBP is too small for DSB
      0x0014: Congen Write Error: Writing Mode Data To Disc Failed
      0x0015: Congen Write Error: Writing Partial Mode Data To Disc Failed
      0x0016: Congen Write Error: Writing Complete Mode Data To Disc Failed
      0x0017: Congen Write Error: Unknown Congen Write Error
      0x0018: Congen Reset Error: Reset Congen Failed
      0x0019: Drive must be power cycled
      0x001A: Divide by zero detected, filter time constant must be non-zero
      0x0020: Invalid ASCII Diag Command
      0x0021: Unable to Load Diag Command Processor Overlay
      0x0022: Data Received from Unsupported Test Service
      0x0023: Unsupported Diag Data Type
      0x0024: File Search Error: Specified file does not exist
      0x0025: Specified File Volume number is Unknown
      
     ******************************************************************************************
      0x1000 - 0x1FFF: Memory Errors
     ******************************************************************************************
      0x1000: Invalid Memory Address
      0x1001: Bad Servo RAM Read
      0x1002: Memory Miscompare Error
      0x1003: Buffer Miscompare Error
     
     ******************************************************************************************
      0x2000 - 0x2FFF: Hardware Errors
     ******************************************************************************************
      0x2000: Unsupported Hardware Feature
      0x2001: Unable to Lock Read Channel
      0x2002: Unable to Unlock Read Channel
      0x2003: Invalid Read Channel Register Address
      0x2004: Read Channel Register Access Error
      0x2005: Unable to Lock Preamp
      0x2006: Unable to Unlock Preamp
      0x2007: Invalid Preamp Register Address
      0x2008: Invalid Read or Write Power ASIC Register Request
      0x2009: Invalid Controller Register Address
      0x200A: Unable to set Preamp Mode
      0x200B: Unable to get Preamp Head Resistance
      0x200C: Controller Register Target Value Out Of Range
      0x200D: Unsupported Controller Register Group
      0x200E: Read Channel Null Reg Mask Error
      0x200F: Channel Pattern Generator T Spacing Out of Range
      
     ******************************************************************************************
      0x3000 - 0x3FFF: Drive Geometry Errors
     ******************************************************************************************
      0x3000: Invalid Target Address
      0x3001: Invalid Read/Write Address
      0x3002: Invalid User LBA
      0x3003: Invalid User Logical Cylinder, Logical Head and Logical Sector
      0x3004: Invalid User Logical Cylinder, Logical Head and Physical Wedge
      0x3005: Invalid User Logical Cylinder
      0x3006: Invalid System LBA
      0x3007: Invalid System Logical Cylinder, Logical Head and Logical Sector
      0x3008: Invalid System Logical Cylinder, Logical Head and Physical Wedge
      0x3009: Invalid System Logical Cylinder
      0x300A: Invalid Physical Cylinder, Logical Head and Physical Sector
      0x300B: Invalid Physical Cylinder, Logical Head and Physical Wedge
      0x300C: Invalid Drive Geometry Information
      0x300D: Invalid NRZ Symbol Extent Address
      0x300E: Invalid PBA
      0x300F: Unsupported Media Partition
      0x3010: No Valid Sectors on Target Track (all sectors are slipped or alted from this track)
      0x3011: Invalid Head
      0x3012: Invalid Logical Mode Access
      0x3013: Invalid Logical Cylinder entered for Particle Sweep
     
      0x3014: Diagnostic Drive Geometry File Creation Error
      0x3015: Invalid R/W Track Attributes
      0x3016: Invalid Physical Track LBA Range
      0x3017: Invalid First LBA on Physical Track
      0x3018: Invalid Last Physical Sector on Physical Track
      0x3019: Invalid Physical Track Partition ID
      0x301A: Invalid Physical Track Single Head Zone
      0x301B: Invalid Physical Track Wedge Size in NRZ Symbols
      0x301C: Invalid Logical Track LBA Range
      0x301D: Invalid First LBA on Logical Track
      0x301E: Invalid Last Logical Sector on Logical Track
     
     ******************************************************************************************
      0x4000 - 0x40FF: Native Interface Errors
     ******************************************************************************************
      0x4000: Unsupported Native Interface Feature
      0x4001: Invalid Read Cache Segment Information
      0x4002: Invalid Read Cache Search Engine Information
      0x4003: Invalid Read Cache Most/Least Valuable Indices/Linked List Information
      0x4004: Invalid Read Cache Free Segments Information
      0x4005: Invalid Read Cache Miscellaneous Information
     
     ******************************************************************************************
      0x4100 - 0x41FF: Serial Transmission Errors
     ******************************************************************************************
      0x4100: Transmission Time-out Error
      0x4101: Transmission Abort Error
      0x4102: Transmission Unrecoverd Retry Error
      0x4103: Transmission Invalid Packet Size Error
      0x4104: Transmission Invalid Packet Number Error
      0x4105: Transmission Bad CRC Error
     
     ******************************************************************************************
      0x5000 - 0x5FFF: Read/Write Errors
     ******************************************************************************************
      0x5000: Unsupported Read/Write Feature
      0x5001: Invalid Read/Write Sequence
      0x5002: Read/Write Request Failed
      0x5003: Read Failed
      0x5004: Write Failed
      0x5005: Wedge Read Failed
      0x5006: Wedge Write Failed
      0x5007: Track Erase Failed
      0x5008: Read Miscompare
      0x5009: Pending Block Error
      0x500A: Erase Failed
      0x500B: Diagnostic R/W Buffer too small
      0x500C: Invalid Error Recovery Mode
      0x500D: Format Failed
      0x500E: Process Defect Lists Error
      0x500F: I/F User Table Save Error
      0x5010: R/W Subsysten not Ready to Accept Commands
      0x5011: No Valid Error Recovery Configuration Given Commanded Mode
      0x5012: Drive Free Fall Protection Failed
      0x5013: Particle Sweep Request Failed
      0x5014: R/W is not ready to accept requests
      0x5015: Channel hardware doesn't support pattern generator
      0X5016: DOS 'Enhanced Write Count' feature not supported
     
     ******************************************************************************************
      0x6000 - 0x6FFF: Servo Errors
     ******************************************************************************************
      0x6000: Unsupported Servo Feature
      0x6001: Servo Failure
      0x6002: Servo Command Error
      0x6003: Read past the end of the Servo Symbol Table
      0x6004: Invalid Servo Symbol Table Entry
      0x6005: Missed Fast I/O Sample
      0x6006: No Fast I/O Response
      0x6007: Spin Up request received when spun up
      0x6008: Spin Up Failed
      0x6009: Spin Down request received when spun down
      0x600A: Spin Down Failed
      0x600B: Seek Failed
      0x600D: Micro Jog Table error
      0x600E: Invalid Head requested for Servo Sector Error Count
      0x600F: Servo Command File Creation Error
      0x6010: Servo Response File Creation Error
      0x6011: Invalid seek mode requested.
      0x6012: Undefined servo command
      0x6013: Specified Servo Disc Slip operation is invalid
      0x6014: Servo Disc Slip R/W request failed.
     
     ******************************************************************************************
      0x7000 - 0x7FFF: Adaptive Parameter Errors
     ******************************************************************************************
      0x7000: Unsupported Adaptive Feature
      0x7001: Unable to open RAP file (this error code has been replaced by 0xE000)
     
      0x7002: CAP Invalid
      0x7003: Invalid CAP Parameter ID
      0x7004: Invalid CAP Parameter Byte Offset
     
      0x7010: Unable to find left side of VGAR vs Track Follow Offset bathtub curve
      0x7011: Unable to find right side of VGAR vs Track Follow Offset bathtub curve
     
     ******************************************************************************************
      0x8000 - 0x8FFF: Logging Errors
     ******************************************************************************************
      0x8000: Invalid Log File
      0x8001: Log Full
      0x8002: Log File Read or Write Failed
      0x8003: Log File Not Empty
      0x8004: Log File Initialization Failed
     
     ******************************************************************************************
      0x9000 - 0x9FFF: Defect Management Errors
     ******************************************************************************************
      0x9000: Primary Defect List System Disc File Write Error
      0x9001: TA PSFT Defect List System Disc File Write Error
      0x9002: Could not open Format Client Defect List
      0x9003: Error accessing the Data Scrub List (See R/W error for more details)
      0x9004: Error accessing the Data Scrub List (R/W subsystem not ready to accept requests)
      0x9005: Error updating the Data Scrub List (See R/W error for more details)
      0x9006: Error creating Diagnostic Buffer File to contain TA List
      0x9007: R/W firmware is not ready for the request to retrieve the TA List
      0x9008: Error allocating memory for TA List
      0x9009: Error accessing the Defective Tracks List (R/W subsystem not ready to accept requests)
      0x900A: Error accessing the Reassigned Sectors List (R/W subsystem not ready to accept requests)
      0x900B: Error allocating memory while accessing the Reassigned Sectors List.
     
     ******************************************************************************************
      0xA000 - 0xAFFF: Shared Test API Errors
     ******************************************************************************************
      0xA000: Fast IO Initialization Error
      0xA001: Baseline PES Collection Error
      0xA002: Delta PES Collection Error
      0xA100: Harmonic Sensor Circuit Measurement Opti Error
      0xA101: Harmonic Sensor Circuit Measurement Error
      0xA102: Linear Regression Error
      0xA102: Undefined
      0xA103: Invalid Clearance Error
      0xA104: Halt Channel Calibration Processor Error
      0xA105: Insufficient Regression Data Error
      0xA106: Disable Shock Sensor Failure
      0xA107: LUP (Lower and Upper triangular with partial Pivot) Matrix Decomposition Error.
      0xA108: Error In HIRP (Heat Induced Reader Protrusion) / HIWP (Heat Induced Writer Protrusion) Calculation
      0xA109: Failed To Restore Original System State Upon Diag Completion.
      0xA10A: HIRP (Heat Induced Reader Protrusion) / HIWP (Heat Induced Writer Protrusion)
              X-Axis Regression Data Memory Allocation Error.
      0xA10B: HIRP (Heat Induced Reader Protrusion) / HIWP (Heat Induced Writer Protrusion)
              Y-Axis Regression Data Memory Allocation Error.
      0xA10C: HIRP (Heat Induced Reader Protrusion) Channel Sample Data Memory Allocation Error.
      0xA10D: MD Contract Detect Channel Sample Data Memory Allocation Error.
      0xA10E: MD Contract Detect Processed Data Memory Allocation Error.
      0xA10F: High Frequency Harmonic Sensor Circuit Measurement Opti Error
     
     ******************************************************************************************
      0xB000 - 0xBFFF: Nand Flash Errors
     ******************************************************************************************
      0xB000: Nand Flash Data Compare Error
     
     ******************************************************************************************
      0xC000 - 0xCFFF: Address Translation Errors
     ******************************************************************************************
      0xC000: Unable to translate Partition Logical Cylinder to Physical
      0xC001: Unable to translate Physical Cylinder tp Partition Logical
      0xC002: R/W Calculate Track Position Request Failed
     
     ******************************************************************************************
      0xD000 - 0xDFFF: Flash Errors
     ******************************************************************************************
      0xD000: Unload flash segment feature not supported
      0xD001: Unknown flash type
     
     ******************************************************************************************
      0xE000 - 0xEFFF: RAP Errors
     ******************************************************************************************
      0xE000: Unable to open RAP file
      0xE001: Get RAP Zone M Div value not supported by RAP revision
      0xE002: Get RAP Zone N Div value not supported by RAP revision
      0xE003: Get RAP Zone F Div value not supported by RAP revision
      0xE004: Search RAP Zone Tuned Channel Parameters for Register Address not supported by RAP revision
      0xE005: Get RAP Zone Tuned Channel Parameter Register Address not supported by RAP revision
      0xE006: Get RAP Zone Tuned Channel Parameter Register Data not supported by RAP revision
      0xE007: Invalid RAP Zone Tuned Channel Parameter Media Partition
      0xE008: Initialize Diagnostic RAP File Descriptor not supported by RAP revision
      0xE009: Get Volatile RAP Error
      0xE00A: Set Volatile RAP Error
     
     ******************************************************************************************
      0xF000 - 0xFFFF: Track Follow Offset Errors
     ******************************************************************************************
      0xF000: R/W firmware is not ready to accept a request to enable write with offset mode
      0xF001: R/W firmware is not ready to accept a request to disable write with offset mode
     
     ******************************************************************************************
      0x10000 - 0x10FFF: Symbol Error Map Errors
     ******************************************************************************************
      0x10000: Write pattern has not been saved off for compare
     
     ******************************************************************************************
      0x11000 - 0x11FFF: Get Servo Flaws Errors
     ******************************************************************************************
      0x11000: Error occurred converting physical cylinder of defect returned by R/W to
               logical cylinder number.
     
     ******************************************************************************************
      0x12000 - 0x12FFF: SMART Errors
     ******************************************************************************************
      0x12000: An invalid test number was specified.
      0x12001: Initialize SMART failed.
      0x12002: No SMART attribute sector was found.
      0x12003: Code does not support SMART attributes.
      0x12004: SMART Serial Number Sector write error (number of bytes written is incorrect).
      0x12005: SMART Serial Number Sector memory allocation error (returned memory pointer is null).
     
     ******************************************************************************************
      0x13000 - 0x13FFF: Bonanza Buffer Access Errors
     ******************************************************************************************
      0x13000: An invalid Bonanza buffer number was requested.
      0x13001: An invalid Bonanza buffer address was requested.
      0x13002: An invalid Bonanza memory type was requested.
      0x13003: Too many elements of the specified Bonanza memory were requested.
      0x13004: Unknown memory type received by formatter
     
     ******************************************************************************************
      0x14000 - 0x14FFF: Parameter Errors
     ******************************************************************************************
      0x14000: Invalid LDPC local iterations control specified.
      0x14001: Invalid LDPC global iterations control specfied.
      0x14002: Display counters summary not supported.
     
     ******************************************************************************************
      0x15000 - 0x15FFF: SFT Interface Errors
     ******************************************************************************************
      0x15000: Specified SFT Test is not supported as a diagnostic.
      0x15001: Unable to malloc space for the SFT Test parameters.
      0x15003: Get default SFT Test parameter, no test selected.
      0x15004: Get default SFT Test parameter, invalid Parameter ID.
      0x15005: Get default SFT Test parameter, invalid Array Entry.
      0x15006: Initialize default SFT Test parameters, no test active.
      0x15007: Set SFT Test parameter, no test selected.
      0x15008: Set SFT Test parameter, invalid Parameter ID.
      0x15009: Set SFT Test parameter, invalid Array Entry.
      0x1500A: Get SFT Test parameter, no test selected.
      0x1500B: Get SFT Test parameter, invalid Parameter ID.
      0x1500C: Get SFT Test parameter, invalid Array Entry.
      0x1500D: Run SFT Test, parameters not initialized.
      0x1500E: Get Active SFT Test Number, no test selected.
      0x1500F: Get Number of SFT Test Parameter IDs, no test selected.
      0x15010: Get Number of SFT Test Parameter Array Entries, no test selected.
      0x15011: Get Number of SFT Test Parameter Array Entries, invalid Parameter ID.
      0x15012: Get SFT Test Parameter Name, no test selected.
      0x15013: Get SFT Test Parameter Name, invalid Parameter ID.
      0x15014: Get SFT Test Parameter Type, no test selected.
      0x15015: Get SFT Test Parameter Type, invalid Parameter ID.
      0x15016: Get Number of SFT Test Parameter Bytes, no test selected.
      0x15017: Get Number of SFT Test Parameter Bytes, invalid Parameter ID.
      0x15018: Unable to initialize SFT Test Parameters.
      0x15019: Unable to load SF3 Overlay.
     
     ******************************************************************************************
      0x16000 - 0x15FFF: Security Errors
     ******************************************************************************************
      0x16000: DPS(Drive Pairing Security) - Erasing DPS information failed.
      0x16001: DPS(Drive Pairing Security) - Invalid DPS sub-command.
      0x16002: DPS(Drive Pairing Security) - Invalid validation key.
     
     ******************************************************************************************
      0x17000 - 0x17FFF: Block Channel Reload Errors
     ******************************************************************************************
      0x17000: Range number invalid in block channel reload setup command.
      
     ******************************************************************************************
      0x18000 - 0x18FFF: Analog Flaw Scan
     ******************************************************************************************
      0x18000: Invalid Analog Flaw Scan Parm ID specified.
      0x18001: Analog Flaw Scan Read Channel Parms not supported for this channel type.
      0x18002: Enable Read Channel Analog Flaw Scan not supported for this channel type.
      0x18003: Disable Read Channel Analog Flaw Scan not supported for this channel type.
      0x18004: Unable to create buffer file for Cert Read Defect List.
      0x18005: Cert Wedge Read failed.
      0x18006: Too many defects for Cert Read Defect List.
      0x18007: Too many defects for Analog Flaw Scan List.
      0x18008: Invalid Target Address Mode selected for Analog Flaw Scan.
      0x18009: The Diagnostic Write Buffer is too small for an Unformatted Wedge Write operation.
      0x1800A: The specified Maximum Defect Count has been exceeded.
      0x1800B: Unable to create buffer file for cert write data.
      0x1800C: The specified Maximum Defect Count is too big.
     
     ******************************************************************************************
      0x19000 - 19XXX: Sector Bit Error Rate
     ******************************************************************************************
      0x19000: Too many sectors per track