using System; namespace DiscImageChef.Devices { public static class Enums { /// /// SASI commands /// Commands 0x00 to 0x1F are 6-byte /// Commands 0x20 to 0x3F are 10-byte /// Commands 0x40 to 0x5F are 8-byte /// #region SASI Commands public enum SasiCommands : byte { #region SASI Class 0 commands /// /// Returns zero status if requested unit is on and ready. /// SASI 0a /// TestUnitReady = 0x00, /// /// Sets the unit to a specific known state. /// SASI 0a /// RezeroUnit = 0x01, /// /// Unknown /// SASI 0a /// RequestSyndrome = 0x02, /// /// Returns unit sense. /// SASI 0a /// RequestSense = 0x03, /// /// Formats the entire media. /// SASI 0a /// FormatUnit = 0x04, /// /// Unknown /// SASI 0a /// CheckTrackFormat = 0x05, /// /// Unknown /// SASI 0a /// FormatTrack = 0x06, /// /// Unknown /// SASI 0a /// FormatBadTrack = 0x06, /// /// Reads a block from the device. /// SASI 0a /// Read = 0x08, /// /// SASI 0a /// Unknown /// WriteProtectSector = 0x09, /// /// Writes a block to the device. /// SASI 0a /// Write = 0x0A, /// /// Moves the device reading mechanism to the specified block. /// SASI 0a /// Seek = 0x0B, /// /// Unknown /// SASI 0a /// VerifyRestore = 0x0D, /// /// Unknown /// SASI 0a /// AssignAlternateDiskTrack = 0x0E, /// /// Writes a File Mark on the device. /// SASI 0c /// WriteFileMark = 0x0F, /// /// Reserves the device for use by the iniator. /// SASI 0a /// ReserveUnit = 0x12, /// /// Release the device from the reservation. /// SASI 0a /// ReleaseUnit= 0x13, /// /// Unknown /// SASI 0a /// WriteProtectDrive = 0x14, /// /// Writes and verifies blocks to the device. /// SASI 0c /// WriteVerify = 0x14, /// /// Unknown /// SASI 0a /// ReleaseWriteProtect = 0x15, /// /// Verifies blocks. /// SASI 0c /// Verify = 0x15, /// /// Unknown /// SASI 0a /// ReadNoSeek = 0x16, /// /// Gets the number of blocks in device. /// SASI 0c /// ReadCapacity = 0x16, /// /// Searches data on blocks /// SASI 0a /// SearchDataEqual = 0x17, /// /// Searches data on blocks using major than or equal comparison /// SASI 0a /// SearchDataHigh = 0x18, /// /// Searches data on blocks using minor than or equal comparison /// SASI 0a /// SearchDataLow = 0x19, /// /// Reads analysis data from a device /// SASI 0a /// ReadDiagnostic = 0x1A, /// /// Unknown /// SASI 0a /// VerifyData = 0x1B, /// /// Requests a device to run a diagnostic /// SASI 0c /// WriteDiagnostic = 0x1B, /// /// Gets information about a device /// SASI 0c /// Inquiry = 0x1F, #endregion SASI Class 0 commands #region SASI Class 1 commands /// /// SASI 0a /// Unknown /// Copy = 0x20, /// /// SASI 0a /// Unknown /// Restore = 0x21, /// /// SASI 0a /// Unknown /// Backup = 0x22, /// /// SASI 0a /// Unknown /// SetBlockLimitsOld = 0x26, /// /// Sets write or read limits from a specified block /// SASI 0c /// SetBlockLimits = 0x28, #endregion SASI Class 1 commands #region SASI Class 2 commands /// /// Unknown /// SASI 0a /// Load = 0x40, /// /// Unknown /// SASI 0a /// Unload = 0x41, /// /// Unknown /// SASI 0a /// Rewind = 0x42, /// /// Unknown /// SASI 0a /// SpaceForward = 0x43, /// /// Unknown /// SASI 0a /// SpaceForwardFileMark = 0x44, /// /// Unknown /// SASI 0a /// SpaceReserve = 0x45, /// /// Unknown /// SASI 0a /// SpaceReserveFileMark = 0x46, /// /// Unknown /// SASI 0a /// TrackSelect = 0x47, /// /// Reads blocks from device /// SASI 0a /// Read10 = 0x48, /// /// Unknown /// SASI 0a /// ReadVerify = 0x49, /// /// Unknown /// SASI 0a /// ReadDiagnosticClass2 = 0x4A, /// /// Writes blocks to device /// SASI 0a /// Write10 = 0x4B, /// /// Unknown /// SASI 0a /// WriteFileMarkClass2 = 0x4C, /// /// Unknown /// SASI 0a /// WriteExtended = 0x4D, /// /// Unknown /// SASI 0a /// WriteExtendedFileMark = 0x4E, /// /// Unknown /// SASI 0a /// WriteErase = 0x4F, #endregion SASI Class 2 commands #region SASI Class 3 commands /// /// SASI 0a /// Skip = 0x60, /// /// SASI 0a /// Space = 0x61, /// /// SASI 0a /// Return = 0x62, /// /// SASI 0a /// Tab = 0x63, /// /// SASI 0a /// ReadControl = 0x64, /// /// SASI 0a /// Write3 = 0x65, /// /// SASI 0a /// WriteControl = 0x66, #endregion SASI Class 3 commands #region SASI Class 6 commands /// /// SASI 0a /// DefineFloppyDiskTracFormat = 0xC0, /// /// SASI 0a /// FormatDriveErrorMap = 0xC4, /// /// SASI 0a /// ReadErrorMap = 0xC5, /// /// SASI 0a /// ReadDriveType = 0xC6, #endregion SASI Class 6 commands #region SASI Class 7 commands /// /// SASI 0a /// RamDiagnostic = 0xE0, /// /// SASI 0a /// WriteECC = 0xE1, /// /// SASI 0a /// ReadID = 0xE2, /// /// SASI 0a /// DriveDiagnostic = 0xE3 #endregion SASI Class 7 commands } #endregion SASI Commands } }