using System; // TODO: Figure out the best way to put these back in their libraries namespace SabreTools.Core { #region DatFiles /// /// DAT output formats /// [Flags] public enum DatFormat { #region XML Formats /// /// Logiqx XML (using machine) /// Logiqx = 1 << 0, /// /// Logiqx XML (using game) /// LogiqxDeprecated = 1 << 1, /// /// MAME Softare List XML /// SoftwareList = 1 << 2, /// /// MAME Listxml output /// Listxml = 1 << 3, /// /// OfflineList XML /// OfflineList = 1 << 4, /// /// SabreDAT XML /// SabreXML = 1 << 5, /// /// openMSX Software List XML /// OpenMSX = 1 << 6, #endregion #region Propietary Formats /// /// ClrMamePro custom /// ClrMamePro = 1 << 7, /// /// RomCenter INI-based /// RomCenter = 1 << 8, /// /// DOSCenter custom /// DOSCenter = 1 << 9, /// /// AttractMode custom /// AttractMode = 1 << 10, #endregion #region Standardized Text Formats /// /// ClrMamePro missfile /// MissFile = 1 << 11, /// /// Comma-Separated Values (standardized) /// CSV = 1 << 12, /// /// Semicolon-Separated Values (standardized) /// SSV = 1 << 13, /// /// Tab-Separated Values (standardized) /// TSV = 1 << 14, /// /// MAME Listrom output /// Listrom = 1 << 15, /// /// Everdrive Packs SMDB /// EverdriveSMDB = 1 << 16, /// /// SabreJSON /// SabreJSON = 1 << 17, #endregion #region SFV-similar Formats /// /// CRC32 hash list /// RedumpSFV = 1 << 18, /// /// MD5 hash list /// RedumpMD5 = 1 << 19, #if NET_FRAMEWORK /// /// RIPEMD160 hash list /// RedumpRIPEMD160 = 1 << 20, #endif /// /// SHA-1 hash list /// RedumpSHA1 = 1 << 21, /// /// SHA-256 hash list /// RedumpSHA256 = 1 << 22, /// /// SHA-384 hash list /// RedumpSHA384 = 1 << 23, /// /// SHA-512 hash list /// RedumpSHA512 = 1 << 24, /// /// SpamSum hash list /// RedumpSpamSum = 1 << 25, #endregion // Specialty combinations ALL = Int32.MaxValue, } /// /// Determines the DAT deduplication type /// public enum DedupeType { None = 0, Full, // Force only deduping with certain types Game, CRC, MD5, #if NET_FRAMEWORK RIPEMD160, #endif SHA1, SHA256, SHA384, SHA512, } /// /// List of valid field types within a DatItem/Machine /// public enum Field : int { NULL = 0, #region DatHeader #region Common DatHeader_FileName, DatHeader_Name, DatHeader_Description, DatHeader_RootDir, DatHeader_Category, DatHeader_Version, DatHeader_Date, DatHeader_Author, DatHeader_Email, DatHeader_Homepage, DatHeader_Url, DatHeader_Comment, DatHeader_HeaderSkipper, DatHeader_Type, DatHeader_ForceMerging, DatHeader_ForceNodump, DatHeader_ForcePacking, #endregion #region ListXML DatHeader_Debug, DatHeader_MameConfig, #endregion #region Logiqx DatHeader_Build, DatHeader_RomMode, DatHeader_BiosMode, DatHeader_SampleMode, DatHeader_LockRomMode, DatHeader_LockBiosMode, DatHeader_LockSampleMode, #endregion #region OfflineList DatHeader_System, DatHeader_ScreenshotsWidth, DatHeader_ScreenshotsHeight, DatHeader_CanOpen, DatHeader_RomTitle, // Infos DatHeader_Info_Name, DatHeader_Info_Visible, DatHeader_Info_IsNamingOption, DatHeader_Info_Default, #endregion #region RomCenter DatHeader_RomCenterVersion, #endregion #endregion // DatHeader #region Machine #region Common Machine_Name, Machine_Comment, Machine_Description, Machine_Year, Machine_Manufacturer, Machine_Publisher, Machine_Category, Machine_RomOf, Machine_CloneOf, Machine_SampleOf, Machine_Type, #endregion #region AttractMode Machine_Players, Machine_Rotation, Machine_Control, Machine_Status, Machine_DisplayCount, Machine_DisplayType, Machine_Buttons, #endregion #region ListXML Machine_SourceFile, Machine_Runnable, #endregion #region Logiqx Machine_Board, Machine_RebuildTo, #endregion #region Logiqx EmuArc Machine_TitleID, Machine_Developer, Machine_Genre, Machine_Subgenre, Machine_Ratings, Machine_Score, Machine_Enabled, Machine_CRC, Machine_RelatedTo, #endregion #region OpenMSX Machine_GenMSXID, Machine_System, Machine_Country, #endregion #region SoftwareList Machine_Supported, #endregion #endregion // Machine #region DatItem #region Common DatItem_Type, #endregion #region Item-Specific #region Actionable // Rom DatItem_Name, DatItem_Bios, DatItem_Size, DatItem_CRC, DatItem_MD5, #if NET_FRAMEWORK DatItem_RIPEMD160, #endif DatItem_SHA1, DatItem_SHA256, DatItem_SHA384, DatItem_SHA512, DatItem_SpamSum, DatItem_Merge, DatItem_Region, DatItem_Offset, DatItem_Date, DatItem_Status, DatItem_Optional, DatItem_Inverted, // Rom (AttractMode) DatItem_AltName, DatItem_AltTitle, // Rom (OpenMSX) DatItem_Original, DatItem_OpenMSXSubType, DatItem_OpenMSXType, DatItem_Remark, DatItem_Boot, // Rom (SoftwareList) DatItem_LoadFlag, DatItem_Value, // Disk DatItem_Index, DatItem_Writable, #endregion #region Auxiliary // Adjuster DatItem_Default, // Analog DatItem_Analog_Mask, // BiosSet DatItem_Description, // Chip DatItem_Tag, DatItem_ChipType, DatItem_Clock, // Condition DatItem_Mask, DatItem_Relation, DatItem_Condition_Tag, DatItem_Condition_Mask, DatItem_Condition_Relation, DatItem_Condition_Value, // Control DatItem_Control_Type, DatItem_Control_Player, DatItem_Control_Buttons, DatItem_Control_RequiredButtons, DatItem_Control_Minimum, DatItem_Control_Maximum, DatItem_Control_Sensitivity, DatItem_Control_KeyDelta, DatItem_Control_Reverse, DatItem_Control_Ways, DatItem_Control_Ways2, DatItem_Control_Ways3, // DataArea DatItem_AreaName, DatItem_AreaSize, DatItem_AreaWidth, DatItem_AreaEndianness, // Device DatItem_DeviceType, DatItem_FixedImage, DatItem_Mandatory, DatItem_Interface, // Display DatItem_DisplayType, DatItem_Rotate, DatItem_FlipX, DatItem_Width, DatItem_Height, DatItem_Refresh, DatItem_PixClock, DatItem_HTotal, DatItem_HBEnd, DatItem_HBStart, DatItem_VTotal, DatItem_VBEnd, DatItem_VBStart, // Driver DatItem_SupportStatus, DatItem_EmulationStatus, DatItem_CocktailStatus, DatItem_SaveStateStatus, // Extension DatItem_Extension_Name, // Feature DatItem_FeatureType, DatItem_FeatureStatus, DatItem_FeatureOverall, // Input DatItem_Service, DatItem_Tilt, DatItem_Players, DatItem_Coins, // Instance DatItem_Instance_Name, DatItem_Instance_BriefName, // Location DatItem_Location_Name, DatItem_Location_Number, DatItem_Location_Inverted, // Part DatItem_Part_Name, DatItem_Part_Interface, // PartFeature DatItem_Part_Feature_Name, DatItem_Part_Feature_Value, // RamOption DatItem_Content, // Release DatItem_Language, // Setting DatItem_Setting_Name, DatItem_Setting_Value, DatItem_Setting_Default, // SlotOption DatItem_SlotOption_Name, DatItem_SlotOption_DeviceName, DatItem_SlotOption_Default, // SoftwareList DatItem_SoftwareListStatus, DatItem_Filter, // Sound DatItem_Channels, #endregion #endregion // Item-Specific #endregion // DatItem } /// /// Available hashing types /// [Flags] public enum Hash { CRC = 1 << 0, MD5 = 1 << 1, #if NET_FRAMEWORK RIPEMD160 = 1 << 2, #endif SHA1 = 1 << 3, SHA256 = 1 << 4, SHA384 = 1 << 5, SHA512 = 1 << 6, SpamSum = 1 << 7, // Special combinations Standard = CRC | MD5 | SHA1, #if NET_FRAMEWORK DeepHashes = RIPEMD160 | SHA256 | SHA384 | SHA512 | SpamSum, SecureHashes = MD5 | RIPEMD160 | SHA1 | SHA256 | SHA384 | SHA512 | SpamSum, #else DeepHashes = SHA256 | SHA384 | SHA512 | SpamSum, SecureHashes = MD5 | SHA1 | SHA256 | SHA384 | SHA512 | SpamSum, #endif } /// /// Determines merging tag handling for DAT output /// public enum MergingFlag { None = 0, Split, Merged, NonMerged, Full, /// This is not usually defined for Merging flags Device, } /// /// Determines nodump tag handling for DAT output /// public enum NodumpFlag { None = 0, Obsolete, Required, Ignore, } /// /// Determines packing tag handling for DAT output /// public enum PackingFlag { None = 0, /// /// Force all sets to be in archives, except disk and media /// Zip, /// /// Force all sets to be extracted into subfolders /// Unzip, /// /// Force sets with single items to be extracted to the parent folder /// Partial, /// /// Force all sets to be extracted to the parent folder /// Flat, } /// /// Determines which files should be skipped in DFD /// public enum SkipFileType { None = 0, Archive, File, } /// /// Determines what sort of files get externally hashed /// /// TODO: Can FileType be used instead? [Flags] public enum TreatAsFile { CHD = 1 << 0, Archive = 1 << 1, AaruFormat = 1 << 2, NonArchive = CHD | AaruFormat, All = CHD | Archive | AaruFormat, } #endregion #region DatItems /// /// Determine the chip type /// [Flags] public enum ChipType { /// /// This is a fake flag that is used for filter only /// NULL = 0, CPU = 1 << 0, Audio = 1 << 1, } /// /// Determine the control type /// [Flags] public enum ControlType { /// /// This is a fake flag that is used for filter only /// NULL = 0, Joy = 1 << 0, Stick = 1 << 1, Paddle = 1 << 2, Pedal = 1 << 3, Lightgun = 1 << 4, Positional = 1 << 5, Dial = 1 << 6, Trackball = 1 << 7, Mouse = 1 << 8, OnlyButtons = 1 << 9, Keypad = 1 << 10, Keyboard = 1 << 11, Mahjong = 1 << 12, Hanafuda = 1 << 13, Gambling = 1 << 14, } /// /// Determine the device type /// [Flags] public enum DeviceType { /// /// This is a fake flag that is used for filter only /// NULL = 0, Unknown = 1 << 0, Cartridge = 1 << 1, FloppyDisk = 1 << 2, HardDisk = 1 << 3, Cylinder = 1 << 4, Cassette = 1 << 5, PunchCard = 1 << 6, PunchTape = 1 << 7, Printout = 1 << 8, Serial = 1 << 9, Parallel = 1 << 10, Snapshot = 1 << 11, QuickLoad = 1 << 12, MemCard = 1 << 13, CDROM = 1 << 14, MagTape = 1 << 15, ROMImage = 1 << 16, MIDIIn = 1 << 17, MIDIOut = 1 << 18, Picture = 1 << 19, VidFile = 1 << 20, } /// /// Determine the display type /// [Flags] public enum DisplayType { /// /// This is a fake flag that is used for filter only /// NULL = 0, Raster = 1 << 0, Vector = 1 << 1, LCD = 1 << 2, SVG = 1 << 3, Unknown = 1 << 4, } /// /// Determines which type of duplicate a file is /// [Flags] public enum DupeType { // Type of match Hash = 1 << 0, All = 1 << 1, // Location of match Internal = 1 << 2, External = 1 << 3, } /// /// Determine the endianness /// [Flags] public enum Endianness { /// /// This is a fake flag that is used for filter only /// NULL = 0, Big = 1 << 0, Little = 1 << 1, } /// /// Determine the emulation status /// [Flags] public enum FeatureStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, Unemulated = 1 << 0, Imperfect = 1 << 1, } /// /// Determine the feature type /// [Flags] public enum FeatureType { /// /// This is a fake flag that is used for filter only /// NULL = 0, Protection = 1 << 0, Palette = 1 << 1, Graphics = 1 << 2, Sound = 1 << 3, Controls = 1 << 4, Keyboard = 1 << 5, Mouse = 1 << 6, Microphone = 1 << 7, Camera = 1 << 8, Disk = 1 << 9, Printer = 1 << 10, Lan = 1 << 11, Wan = 1 << 12, Timing = 1 << 13, } /// /// Determine the status of the item /// [Flags] public enum ItemStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, None = 1 << 0, Good = 1 << 1, BadDump = 1 << 2, Nodump = 1 << 3, Verified = 1 << 4, } /// /// Determine what type of file an item is /// public enum ItemType { // "Actionable" item types Rom, Disk, Media, // "Auxiliary" item types Adjuster, Analog, Archive, BiosSet, Chip, Condition, Configuration, Control, DataArea, Device, DeviceReference, DipSwitch, DiskArea, Display, Driver, Extension, Feature, Info, Input, Instance, Location, Part, PartFeature, Port, RamOption, Release, Sample, Setting, SharedFeature, Slot, SlotOption, SoftwareList, Sound, Blank = 99, // This is not a real type, only used internally } /// /// Determine the loadflag value /// [Flags] public enum LoadFlag { /// /// This is a fake flag that is used for filter only /// NULL = 0, Load16Byte = 1 << 0, Load16Word = 1 << 1, Load16WordSwap = 1 << 2, Load32Byte = 1 << 3, Load32Word = 1 << 4, Load32WordSwap = 1 << 5, Load32DWord = 1 << 6, Load64Word = 1 << 7, Load64WordSwap = 1 << 8, Reload = 1 << 9, Fill = 1 << 10, Continue = 1 << 11, ReloadPlain = 1 << 12, Ignore = 1 << 13, } /// /// Determine what type of machine it is /// [Flags] public enum MachineType { /// /// This is a fake flag that is used for filter only /// NULL = 1 << 0, Bios = 1 << 1, Device = 1 << 2, Mechanical = 1 << 3, } /// /// Determine which OpenMSX subtype an item is /// [Flags] public enum OpenMSXSubType { /// /// This is a fake flag that is used for filter only /// NULL = 0, Rom = 1 << 0, MegaRom = 1 << 1, SCCPlusCart = 1 << 2, } /// /// Determine relation of value to condition /// [Flags] public enum Relation { /// /// This is a fake flag that is used for filter only /// NULL = 0, Equal = 1 << 0, NotEqual = 1 << 1, GreaterThan = 1 << 2, LessThanOrEqual = 1 << 3, LessThan = 1 << 4, GreaterThanOrEqual = 1 << 5, } /// /// Determine machine runnable status /// [Flags] public enum Runnable { /// /// This is a fake flag that is used for filter only /// NULL = 0, No = 1 << 0, Partial = 1 << 1, Yes = 1 << 2, } /// /// Determine software list status /// [Flags] public enum SoftwareListStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, Original = 1 << 0, Compatible = 1 << 1, } /// /// Determine machine support status /// [Flags] public enum Supported { /// /// This is a fake flag that is used for filter only /// NULL = 0, No = 1 << 0, Partial = 1 << 1, Yes = 1 << 2, } /// /// Determine driver support statuses /// [Flags] public enum SupportStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, Good = 1 << 0, Imperfect = 1 << 1, Preliminary = 1 << 2, } #endregion #region FileTypes /// /// List of known blocks types /// /// public enum AaruBlockType : uint { /// Block containing data DataBlock = 0x4B4C4244, /// Block containing a deduplication table DeDuplicationTable = 0x2A544444, /// Block containing the index Index = 0x58444E49, /// Block containing the index Index2 = 0x32584449, /// Block containing logical geometry GeometryBlock = 0x4D4F4547, /// Block containing metadata MetadataBlock = 0x4154454D, /// Block containing optical disc tracks TracksBlock = 0x534B5254, /// Block containing CICM XML metadata CicmBlock = 0x4D434943, /// Block containing contents checksums ChecksumBlock = 0x4D534B43, /// TODO: Block containing data position measurements DataPositionMeasurementBlock = 0x2A4D5044, /// TODO: Block containing a snapshot index SnapshotBlock = 0x50414E53, /// TODO: Block containing how to locate the parent image ParentBlock = 0x50524E54, /// Block containing an array of hardware used to create the image DumpHardwareBlock = 0x2A504D44, /// Block containing list of files for a tape image TapeFileBlock = 0x454C4654, /// Block containing list of partitions for a tape image TapePartitionBlock = 0x54425054, /// Block containing list of indexes for Compact Disc tracks CompactDiscIndexesBlock = 0x58494443 } /// public enum AaruChecksumAlgorithm : byte { Invalid = 0, Md5 = 1, Sha1 = 2, Sha256 = 3, SpamSum = 4 } /// /// List of known data types /// /// public enum AaruDataType : ushort { /// No data NoData = 0, /// User data UserData = 1, /// CompactDisc partial Table of Contents CompactDiscPartialToc = 2, /// CompactDisc session information CompactDiscSessionInfo = 3, /// CompactDisc Table of Contents CompactDiscToc = 4, /// CompactDisc Power Management Area CompactDiscPma = 5, /// CompactDisc Absolute Time In Pregroove CompactDiscAtip = 6, /// CompactDisc Lead-in's CD-Text CompactDiscLeadInCdText = 7, /// DVD Physical Format Information DvdPfi = 8, /// DVD Lead-in's Copyright Management Information DvdLeadInCmi = 9, /// DVD Disc Key DvdDiscKey = 10, /// DVD Burst Cutting Area DvdBca = 11, /// DVD DMI DvdDmi = 12, /// DVD Media Identifier DvdMediaIdentifier = 13, /// DVD Media Key Block DvdMediaKeyBlock = 14, /// DVD-RAM Disc Definition Structure DvdRamDds = 15, /// DVD-RAM Medium Status DvdRamMediumStatus = 16, /// DVD-RAM Spare Area Information DvdRamSpareArea = 17, /// DVD-R RMD DvdRRmd = 18, /// DVD-R Pre-recorded Information DvdRPrerecordedInfo = 19, /// DVD-R Media Identifier DvdRMediaIdentifier = 20, /// DVD-R Physical Format Information DvdRPfi = 21, /// DVD ADress In Pregroove DvdAdip = 22, /// HD DVD Copy Protection Information HdDvdCpi = 23, /// HD DVD Medium Status HdDvdMediumStatus = 24, /// DVD DL Layer Capacity DvdDlLayerCapacity = 25, /// DVD DL Middle Zone Address DvdDlMiddleZoneAddress = 26, /// DVD DL Jump Interval Size DvdDlJumpIntervalSize = 27, /// DVD DL Manual Layer Jump LBA DvdDlManualLayerJumpLba = 28, /// Bluray Disc Information BlurayDi = 29, /// Bluray Burst Cutting Area BlurayBca = 30, /// Bluray Disc Definition Structure BlurayDds = 31, /// Bluray Cartridge Status BlurayCartridgeStatus = 32, /// Bluray Spare Area Information BluraySpareArea = 33, /// AACS Volume Identifier AacsVolumeIdentifier = 34, /// AACS Serial Number AacsSerialNumber = 35, /// AACS Media Identifier AacsMediaIdentifier = 36, /// AACS Media Key Block AacsMediaKeyBlock = 37, /// AACS Data Keys AacsDataKeys = 38, /// AACS LBA Extents AacsLbaExtents = 39, /// CPRM Media Key Block CprmMediaKeyBlock = 40, /// Recognized Layers HybridRecognizedLayers = 41, /// MMC Write Protection ScsiMmcWriteProtection = 42, /// MMC Disc Information ScsiMmcDiscInformation = 43, /// MMC Track Resources Information ScsiMmcTrackResourcesInformation = 44, /// MMC POW Resources Information ScsiMmcPowResourcesInformation = 45, /// SCSI INQUIRY RESPONSE ScsiInquiry = 46, /// SCSI MODE PAGE 2Ah ScsiModePage2A = 47, /// ATA IDENTIFY response AtaIdentify = 48, /// ATAPI IDENTIFY response AtapiIdentify = 49, /// PCMCIA CIS PcmciaCis = 50, /// SecureDigital CID SecureDigitalCid = 51, /// SecureDigital CSD SecureDigitalCsd = 52, /// SecureDigital SCR SecureDigitalScr = 53, /// SecureDigital OCR SecureDigitalOcr = 54, /// MultiMediaCard CID MultiMediaCardCid = 55, /// MultiMediaCard CSD MultiMediaCardCsd = 56, /// MultiMediaCard OCR MultiMediaCardOcr = 57, /// MultiMediaCard Extended CSD MultiMediaCardExtendedCsd = 58, /// Xbox Security Sector XboxSecuritySector = 59, /// Floppy Lead-out FloppyLeadOut = 60, /// Dvd Disc Control Block DvdDiscControlBlock = 61, /// CompactDisc First track pregap CompactDiscFirstTrackPregap = 62, /// CompactDisc Lead-out CompactDiscLeadOut = 63, /// SCSI MODE SENSE (6) response ScsiModeSense6 = 64, /// SCSI MODE SENSE (10) response ScsiModeSense10 = 65, /// USB descriptors UsbDescriptors = 66, /// Xbox DMI XboxDmi = 67, /// Xbox Physical Format Information XboxPfi = 68, /// CompactDisc sector prefix (sync, header CdSectorPrefix = 69, /// CompactDisc sector suffix (edc, ecc p, ecc q) CdSectorSuffix = 70, /// CompactDisc subchannel CdSectorSubchannel = 71, /// Apple Profile (20 byte) tag AppleProfileTag = 72, /// Apple Sony (12 byte) tag AppleSonyTag = 73, /// Priam Data Tower (24 byte) tag PriamDataTowerTag = 74, /// CompactDisc Media Catalogue Number (as in Lead-in), 13 bytes, ASCII CompactDiscMediaCatalogueNumber = 75, /// CompactDisc sector prefix (sync, header), only incorrect stored CdSectorPrefixCorrected = 76, /// CompactDisc sector suffix (edc, ecc p, ecc q), only incorrect stored CdSectorSuffixCorrected = 77, /// CompactDisc MODE 2 subheader CompactDiscMode2Subheader = 78, /// CompactDisc Lead-in CompactDiscLeadIn = 79 } /// /// Internal media format for AaruFormat /// /// public enum AaruMediaType : uint { #region Generics, types 0 to 9 /// Unknown disk type Unknown = 0, /// Unknown magneto-optical UnknownMO = 1, /// Generic hard disk GENERIC_HDD = 2, /// Microdrive type hard disk Microdrive = 3, /// Zoned hard disk Zone_HDD = 4, /// USB flash drives FlashDrive = 5, /// USB flash drives UnknownTape = 4, #endregion Generics, types 0 to 9 #region Somewhat standard Compact Disc formats, types 10 to 39 /// Any unknown or standard violating CD CD = 10, /// CD Digital Audio (Red Book) CDDA = 11, /// CD+G (Red Book) CDG = 12, /// CD+EG (Red Book) CDEG = 13, /// CD-i (Green Book) CDI = 14, /// CD-ROM (Yellow Book) CDROM = 15, /// CD-ROM XA (Yellow Book) CDROMXA = 16, /// CD+ (Blue Book) CDPLUS = 17, /// CD-MO (Orange Book) CDMO = 18, /// CD-Recordable (Orange Book) CDR = 19, /// CD-ReWritable (Orange Book) CDRW = 20, /// Mount-Rainier CD-RW CDMRW = 21, /// Video CD (White Book) VCD = 22, /// Super Video CD (White Book) SVCD = 23, /// Photo CD (Beige Book) PCD = 24, /// Super Audio CD (Scarlet Book) SACD = 25, /// Double-Density CD-ROM (Purple Book) DDCD = 26, /// DD CD-R (Purple Book) DDCDR = 27, /// DD CD-RW (Purple Book) DDCDRW = 28, /// DTS audio CD (non-standard) DTSCD = 29, /// CD-MIDI (Red Book) CDMIDI = 30, /// CD-Video (ISO/IEC 61104) CDV = 31, /// 120mm, Phase-Change, 1298496 sectors, 512 bytes/sector, PD650, ECMA-240, ISO 15485 PD650 = 32, /// 120mm, Write-Once, 1281856 sectors, 512 bytes/sector, PD650, ECMA-240, ISO 15485 PD650_WORM = 33, /// /// CD-i Ready, contains a track before the first TOC track, in mode 2, and all TOC tracks are Audio. Subchannel /// marks track as audio pause. /// CDIREADY = 34, FMTOWNS = 35, #endregion Somewhat standard Compact Disc formats, types 10 to 39 #region Standard DVD formats, types 40 to 50 /// DVD-ROM (applies to DVD Video and DVD Audio) DVDROM = 40, /// DVD-R DVDR = 41, /// DVD-RW DVDRW = 42, /// DVD+R DVDPR = 43, /// DVD+RW DVDPRW = 44, /// DVD+RW DL DVDPRWDL = 45, /// DVD-R DL DVDRDL = 46, /// DVD+R DL DVDPRDL = 47, /// DVD-RAM DVDRAM = 48, /// DVD-RW DL DVDRWDL = 49, /// DVD-Download DVDDownload = 50, #endregion Standard DVD formats, types 40 to 50 #region Standard HD-DVD formats, types 51 to 59 /// HD DVD-ROM (applies to HD DVD Video) HDDVDROM = 51, /// HD DVD-RAM HDDVDRAM = 52, /// HD DVD-R HDDVDR = 53, /// HD DVD-RW HDDVDRW = 54, /// HD DVD-R DL HDDVDRDL = 55, /// HD DVD-RW DL HDDVDRWDL = 56, #endregion Standard HD-DVD formats, types 51 to 59 #region Standard Blu-ray formats, types 60 to 69 /// BD-ROM (and BD Video) BDROM = 60, /// BD-R BDR = 61, /// BD-RE BDRE = 62, /// BD-R XL BDRXL = 63, /// BD-RE XL BDREXL = 64, #endregion Standard Blu-ray formats, types 60 to 69 #region Rare or uncommon optical standards, types 70 to 79 /// Enhanced Versatile Disc EVD = 70, /// Forward Versatile Disc FVD = 71, /// Holographic Versatile Disc HVD = 72, /// China Blue High Definition CBHD = 73, /// High Definition Versatile Multilayer Disc HDVMD = 74, /// Versatile Compact Disc High Density VCDHD = 75, /// Stacked Volumetric Optical Disc SVOD = 76, /// Five Dimensional disc FDDVD = 77, /// China Video Disc CVD = 78, #endregion Rare or uncommon optical standards, types 70 to 79 #region LaserDisc based, types 80 to 89 /// Pioneer LaserDisc LD = 80, /// Pioneer LaserDisc data LDROM = 81, LDROM2 = 82, LVROM = 83, MegaLD = 84, #endregion LaserDisc based, types 80 to 89 #region MiniDisc based, types 90 to 99 /// Sony Hi-MD HiMD = 90, /// Sony MiniDisc MD = 91, /// Sony MD-Data MDData = 92, /// Sony MD-Data2 MDData2 = 93, /// Sony MiniDisc, 60 minutes, formatted with Hi-MD format MD60 = 94, /// Sony MiniDisc, 74 minutes, formatted with Hi-MD format MD74 = 95, /// Sony MiniDisc, 80 minutes, formatted with Hi-MD format MD80 = 96, #endregion MiniDisc based, types 90 to 99 #region Plasmon UDO, types 100 to 109 /// 5.25", Phase-Change, 1834348 sectors, 8192 bytes/sector, Ultra Density Optical, ECMA-350, ISO 17345 UDO = 100, /// 5.25", Phase-Change, 3669724 sectors, 8192 bytes/sector, Ultra Density Optical 2, ECMA-380, ISO 11976 UDO2 = 101, /// 5.25", Write-Once, 3668759 sectors, 8192 bytes/sector, Ultra Density Optical 2, ECMA-380, ISO 11976 UDO2_WORM = 102, #endregion Plasmon UDO, types 100 to 109 #region Sony game media, types 110 to 129 PlayStationMemoryCard = 110, PlayStationMemoryCard2 = 111, /// Sony PlayStation game CD PS1CD = 112, /// Sony PlayStation 2 game CD PS2CD = 113, /// Sony PlayStation 2 game DVD PS2DVD = 114, /// Sony PlayStation 3 game DVD PS3DVD = 115, /// Sony PlayStation 3 game Blu-ray PS3BD = 116, /// Sony PlayStation 4 game Blu-ray PS4BD = 117, /// Sony PlayStation Portable Universal Media Disc (ECMA-365) UMD = 118, PlayStationVitaGameCard = 119, #endregion Sony game media, types 110 to 129 #region Microsoft game media, types 130 to 149 /// Microsoft X-box Game Disc XGD = 130, /// Microsoft X-box 360 Game Disc XGD2 = 131, /// Microsoft X-box 360 Game Disc XGD3 = 132, /// Microsoft X-box One Game Disc XGD4 = 133, #endregion Microsoft game media, types 130 to 149 #region Sega game media, types 150 to 169 /// Sega MegaCD MEGACD = 150, /// Sega Saturn disc SATURNCD = 151, /// Sega/Yamaha Gigabyte Disc GDROM = 152, /// Sega/Yamaha recordable Gigabyte Disc GDR = 153, SegaCard = 154, MilCD = 155, #endregion Sega game media, types 150 to 169 #region Other game media, types 170 to 179 /// PC-Engine / TurboGrafx cartridge HuCard = 170, /// PC-Engine / TurboGrafx CD SuperCDROM2 = 171, /// Atari Jaguar CD JaguarCD = 172, /// 3DO CD ThreeDO = 173, /// NEC PC-FX PCFX = 174, /// NEO-GEO CD NeoGeoCD = 175, /// Commodore CDTV CDTV = 176, /// Amiga CD32 CD32 = 177, /// Nuon (DVD based videogame console) Nuon = 178, /// Bandai Playdia Playdia = 179, #endregion Other game media, types 170 to 179 #region Apple standard floppy format, types 180 to 189 /// 5.25", SS, DD, 35 tracks, 13 spt, 256 bytes/sector, GCR Apple32SS = 180, /// 5.25", DS, DD, 35 tracks, 13 spt, 256 bytes/sector, GCR Apple32DS = 181, /// 5.25", SS, DD, 35 tracks, 16 spt, 256 bytes/sector, GCR Apple33SS = 182, /// 5.25", DS, DD, 35 tracks, 16 spt, 256 bytes/sector, GCR Apple33DS = 183, /// 3.5", SS, DD, 80 tracks, 8 to 12 spt, 512 bytes/sector, GCR AppleSonySS = 184, /// 3.5", DS, DD, 80 tracks, 8 to 12 spt, 512 bytes/sector, GCR AppleSonyDS = 185, /// 5.25", DS, ?D, ?? tracks, ?? spt, 512 bytes/sector, GCR, opposite side heads, aka Twiggy AppleFileWare = 186, #endregion Apple standard floppy format #region IBM/Microsoft PC floppy formats, types 190 to 209 /// 5.25", SS, DD, 40 tracks, 8 spt, 512 bytes/sector, MFM DOS_525_SS_DD_8 = 190, /// 5.25", SS, DD, 40 tracks, 9 spt, 512 bytes/sector, MFM DOS_525_SS_DD_9 = 191, /// 5.25", DS, DD, 40 tracks, 8 spt, 512 bytes/sector, MFM DOS_525_DS_DD_8 = 192, /// 5.25", DS, DD, 40 tracks, 9 spt, 512 bytes/sector, MFM DOS_525_DS_DD_9 = 193, /// 5.25", DS, HD, 80 tracks, 15 spt, 512 bytes/sector, MFM DOS_525_HD = 194, /// 3.5", SS, DD, 80 tracks, 8 spt, 512 bytes/sector, MFM DOS_35_SS_DD_8 = 195, /// 3.5", SS, DD, 80 tracks, 9 spt, 512 bytes/sector, MFM DOS_35_SS_DD_9 = 196, /// 3.5", DS, DD, 80 tracks, 8 spt, 512 bytes/sector, MFM DOS_35_DS_DD_8 = 197, /// 3.5", DS, DD, 80 tracks, 9 spt, 512 bytes/sector, MFM DOS_35_DS_DD_9 = 198, /// 3.5", DS, HD, 80 tracks, 18 spt, 512 bytes/sector, MFM DOS_35_HD = 199, /// 3.5", DS, ED, 80 tracks, 36 spt, 512 bytes/sector, MFM DOS_35_ED = 200, /// 3.5", DS, HD, 80 tracks, 21 spt, 512 bytes/sector, MFM DMF = 201, /// 3.5", DS, HD, 82 tracks, 21 spt, 512 bytes/sector, MFM DMF_82 = 202, /// /// 5.25", DS, HD, 80 tracks, ? spt, ??? + ??? + ??? bytes/sector, MFM track 0 = ??15 sectors, 512 bytes/sector, /// falsified to DOS as 19 spt, 512 bps /// XDF_525 = 203, /// /// 3.5", DS, HD, 80 tracks, 4 spt, 8192 + 2048 + 1024 + 512 bytes/sector, MFM track 0 = 19 sectors, 512 /// bytes/sector, falsified to DOS as 23 spt, 512 bps /// XDF_35 = 204, #endregion IBM/Microsoft PC standard floppy formats, types 190 to 209 #region IBM standard floppy formats, types 210 to 219 /// 8", SS, SD, 32 tracks, 8 spt, 319 bytes/sector, FM IBM23FD = 210, /// 8", SS, SD, 73 tracks, 26 spt, 128 bytes/sector, FM IBM33FD_128 = 211, /// 8", SS, SD, 74 tracks, 15 spt, 256 bytes/sector, FM, track 0 = 26 sectors, 128 bytes/sector IBM33FD_256 = 212, /// 8", SS, SD, 74 tracks, 8 spt, 512 bytes/sector, FM, track 0 = 26 sectors, 128 bytes/sector IBM33FD_512 = 213, /// 8", DS, SD, 74 tracks, 26 spt, 128 bytes/sector, FM, track 0 = 26 sectors, 128 bytes/sector IBM43FD_128 = 214, /// 8", DS, SD, 74 tracks, 26 spt, 256 bytes/sector, FM, track 0 = 26 sectors, 128 bytes/sector IBM43FD_256 = 215, /// /// 8", DS, DD, 74 tracks, 26 spt, 256 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// IBM53FD_256 = 216, /// /// 8", DS, DD, 74 tracks, 15 spt, 512 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// IBM53FD_512 = 217, /// /// 8", DS, DD, 74 tracks, 8 spt, 1024 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// IBM53FD_1024 = 218, #endregion IBM standard floppy formats, types 210 to 219 #region DEC standard floppy formats, types 220 to 229 /// 8", SS, DD, 77 tracks, 26 spt, 128 bytes/sector, FM RX01 = 220, /// 8", SS, DD, 77 tracks, 26 spt, 256 bytes/sector, FM/MFM RX02 = 221, /// 8", DS, DD, 77 tracks, 26 spt, 256 bytes/sector, FM/MFM RX03 = 222, /// 5.25", SS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM RX50 = 223, #endregion DEC standard floppy formats, types 220 to 229 #region Acorn standard floppy formats, types 230 to 239 /// 5,25", SS, SD, 40 tracks, 10 spt, 256 bytes/sector, FM ACORN_525_SS_SD_40 = 230, /// 5,25", SS, SD, 80 tracks, 10 spt, 256 bytes/sector, FM ACORN_525_SS_SD_80 = 231, /// 5,25", SS, DD, 40 tracks, 16 spt, 256 bytes/sector, MFM ACORN_525_SS_DD_40 = 232, /// 5,25", SS, DD, 80 tracks, 16 spt, 256 bytes/sector, MFM ACORN_525_SS_DD_80 = 233, /// 5,25", DS, DD, 80 tracks, 16 spt, 256 bytes/sector, MFM ACORN_525_DS_DD = 234, /// 3,5", DS, DD, 80 tracks, 5 spt, 1024 bytes/sector, MFM ACORN_35_DS_DD = 235, /// 3,5", DS, HD, 80 tracks, 10 spt, 1024 bytes/sector, MFM ACORN_35_DS_HD = 236, #endregion Acorn standard floppy formats, types 230 to 239 #region Atari standard floppy formats, types 240 to 249 /// 5,25", SS, SD, 40 tracks, 18 spt, 128 bytes/sector, FM ATARI_525_SD = 240, /// 5,25", SS, ED, 40 tracks, 26 spt, 128 bytes/sector, MFM ATARI_525_ED = 241, /// 5,25", SS, DD, 40 tracks, 18 spt, 256 bytes/sector, MFM ATARI_525_DD = 242, /// 3,5", SS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM ATARI_35_SS_DD = 243, /// 3,5", DS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM ATARI_35_DS_DD = 244, /// 3,5", SS, DD, 80 tracks, 11 spt, 512 bytes/sector, MFM ATARI_35_SS_DD_11 = 245, /// 3,5", DS, DD, 80 tracks, 11 spt, 512 bytes/sector, MFM ATARI_35_DS_DD_11 = 246, #endregion Atari standard floppy formats, types 240 to 249 #region Commodore standard floppy formats, types 250 to 259 /// 3,5", DS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM (1581) CBM_35_DD = 250, /// 3,5", DS, DD, 80 tracks, 11 spt, 512 bytes/sector, MFM (Amiga) CBM_AMIGA_35_DD = 251, /// 3,5", DS, HD, 80 tracks, 22 spt, 512 bytes/sector, MFM (Amiga) CBM_AMIGA_35_HD = 252, /// 5,25", SS, DD, 35 tracks, GCR CBM_1540 = 253, /// 5,25", SS, DD, 40 tracks, GCR CBM_1540_Ext = 254, /// 5,25", DS, DD, 35 tracks, GCR CBM_1571 = 255, #endregion Commodore standard floppy formats, types 250 to 259 #region NEC/SHARP standard floppy formats, types 260 to 269 /// 8", DS, SD, 77 tracks, 26 spt, 128 bytes/sector, FM NEC_8_SD = 260, /// 8", DS, DD, 77 tracks, 26 spt, 256 bytes/sector, MFM NEC_8_DD = 261, /// 5.25", SS, SD, 80 tracks, 16 spt, 256 bytes/sector, FM NEC_525_SS = 262, /// 5.25", DS, SD, 80 tracks, 16 spt, 256 bytes/sector, MFM NEC_525_DS = 263, /// 5,25", DS, HD, 77 tracks, 8 spt, 1024 bytes/sector, MFM NEC_525_HD = 264, /// 3,5", DS, HD, 77 tracks, 8 spt, 1024 bytes/sector, MFM, aka mode 3 NEC_35_HD_8 = 265, /// 3,5", DS, HD, 80 tracks, 15 spt, 512 bytes/sector, MFM NEC_35_HD_15 = 266, /// 3,5", DS, TD, 240 tracks, 38 spt, 512 bytes/sector, MFM NEC_35_TD = 267, /// 5,25", DS, HD, 77 tracks, 8 spt, 1024 bytes/sector, MFM SHARP_525 = NEC_525_HD, /// 3,5", DS, HD, 80 tracks, 9 spt, 1024 bytes/sector, MFM SHARP_525_9 = 268, /// 3,5", DS, HD, 77 tracks, 8 spt, 1024 bytes/sector, MFM SHARP_35 = NEC_35_HD_8, /// 3,5", DS, HD, 80 tracks, 9 spt, 1024 bytes/sector, MFM SHARP_35_9 = 269, #endregion NEC/SHARP standard floppy formats, types 260 to 269 #region ECMA floppy standards, types 270 to 289 /// /// 5,25", DS, DD, 80 tracks, 8 spt, 1024 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track /// 0 side 1 = 26 sectors, 256 bytes/sector /// ECMA_99_8 = 270, /// /// 5,25", DS, DD, 77 tracks, 15 spt, 512 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track /// 0 side 1 = 26 sectors, 256 bytes/sector /// ECMA_99_15 = 271, /// /// 5,25", DS, DD, 77 tracks, 26 spt, 256 bytes/sector, MFM, track 0 side 0 = 26 sectors, 128 bytes/sector, track /// 0 side 1 = 26 sectors, 256 bytes/sector /// ECMA_99_26 = 272, /// 3,5", DS, DD, 80 tracks, 9 spt, 512 bytes/sector, MFM ECMA_100 = DOS_35_DS_DD_9, /// 3,5", DS, HD, 80 tracks, 18 spt, 512 bytes/sector, MFM ECMA_125 = DOS_35_HD, /// 3,5", DS, ED, 80 tracks, 36 spt, 512 bytes/sector, MFM ECMA_147 = DOS_35_ED, /// 8", SS, SD, 77 tracks, 26 spt, 128 bytes/sector, FM ECMA_54 = 273, /// 8", DS, SD, 77 tracks, 26 spt, 128 bytes/sector, FM ECMA_59 = 274, /// 5,25", SS, DD, 35 tracks, 9 spt, 256 bytes/sector, FM, track 0 side 0 = 16 sectors, 128 bytes/sector ECMA_66 = 275, /// /// 8", DS, DD, 77 tracks, 8 spt, 1024 bytes/sector, FM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// ECMA_69_8 = 276, /// /// 8", DS, DD, 77 tracks, 15 spt, 512 bytes/sector, FM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// ECMA_69_15 = 277, /// /// 8", DS, DD, 77 tracks, 26 spt, 256 bytes/sector, FM, track 0 side 0 = 26 sectors, 128 bytes/sector, track 0 /// side 1 = 26 sectors, 256 bytes/sector /// ECMA_69_26 = 278, /// /// 5,25", DS, DD, 40 tracks, 16 spt, 256 bytes/sector, FM, track 0 side 0 = 16 sectors, 128 bytes/sector, track 0 /// side 1 = 16 sectors, 256 bytes/sector /// ECMA_70 = 279, /// /// 5,25", DS, DD, 80 tracks, 16 spt, 256 bytes/sector, FM, track 0 side 0 = 16 sectors, 128 bytes/sector, track 0 /// side 1 = 16 sectors, 256 bytes/sector /// ECMA_78 = 280, /// 5,25", DS, DD, 80 tracks, 9 spt, 512 bytes/sector, FM ECMA_78_2 = 281, #endregion ECMA floppy standards, types 270 to 289 #region Non-standard PC formats (FDFORMAT, 2M, etc), types 290 to 308 /// 5,25", DS, DD, 82 tracks, 10 spt, 512 bytes/sector, MFM FDFORMAT_525_DD = 290, /// 5,25", DS, HD, 82 tracks, 17 spt, 512 bytes/sector, MFM FDFORMAT_525_HD = 291, /// 3,5", DS, DD, 82 tracks, 10 spt, 512 bytes/sector, MFM FDFORMAT_35_DD = 292, /// 3,5", DS, HD, 82 tracks, 21 spt, 512 bytes/sector, MFM FDFORMAT_35_HD = 293, #endregion Non-standard PC formats (FDFORMAT, 2M, etc), types 290 to 308 #region Apricot ACT standard floppy formats, type 309 /// 3.5", DS, DD, 70 tracks, 9 spt, 512 bytes/sector, MFM Apricot_35 = 309, #endregion Apricot ACT standard floppy formats, type 309 #region OnStream ADR, types 310 to 319 ADR2120 = 310, ADR260 = 311, ADR30 = 312, ADR50 = 313, #endregion OnStream ADR, types 310 to 319 #region Advanced Intelligent Tape, types 320 to 339 AIT1 = 320, AIT1Turbo = 321, AIT2 = 322, AIT2Turbo = 323, AIT3 = 324, AIT3Ex = 325, AIT3Turbo = 326, AIT4 = 327, AIT5 = 328, AITETurbo = 329, SAIT1 = 330, SAIT2 = 331, #endregion Advanced Intelligent Tape, types 320 to 339 #region Iomega, types 340 to 359 /// Obsolete type for 8"x11" Bernoulli Box disk [Obsolete] Bernoulli = 340, /// Obsolete type for 5⅓" Bernoulli Box II disks [Obsolete] Bernoulli2 = 341, Ditto = 342, DittoMax = 343, Jaz = 344, Jaz2 = 345, PocketZip = 346, REV120 = 347, REV35 = 348, REV70 = 349, ZIP100 = 350, ZIP250 = 351, ZIP750 = 352, /// 5⅓" Bernoulli Box II disk with 35Mb capacity Bernoulli35 = 353, /// 5⅓" Bernoulli Box II disk with 44Mb capacity Bernoulli44 = 354, /// 5⅓" Bernoulli Box II disk with 65Mb capacity Bernoulli65 = 355, /// 5⅓" Bernoulli Box II disk with 90Mb capacity Bernoulli90 = 356, /// 5⅓" Bernoulli Box II disk with 105Mb capacity Bernoulli105 = 357, /// 5⅓" Bernoulli Box II disk with 150Mb capacity Bernoulli150 = 358, /// 5⅓" Bernoulli Box II disk with 230Mb capacity Bernoulli230 = 359, #endregion Iomega, types 340 to 359 #region Audio or video media, types 360 to 369 CompactCassette = 360, Data8 = 361, MiniDV = 362, /// D/CAS-25: Digital data on Compact Cassette form factor, special magnetic media, 9-track Dcas25 = 363, /// D/CAS-85: Digital data on Compact Cassette form factor, special magnetic media, 17-track Dcas85 = 364, /// D/CAS-103: Digital data on Compact Cassette form factor, special magnetic media, 21-track Dcas103 = 365, #endregion Audio media, types 360 to 369 #region CompactFlash Association, types 370 to 379 CFast = 370, CompactFlash = 371, CompactFlashType2 = 372, #endregion CompactFlash Association, types 370 to 379 #region Digital Audio Tape / Digital Data Storage, types 380 to 389 DigitalAudioTape = 380, DAT160 = 381, DAT320 = 382, DAT72 = 383, DDS1 = 384, DDS2 = 385, DDS3 = 386, DDS4 = 387, #endregion Digital Audio Tape / Digital Data Storage, types 380 to 389 #region DEC, types 390 to 399 CompactTapeI = 390, CompactTapeII = 391, DECtapeII = 392, DLTtapeIII = 393, DLTtapeIIIxt = 394, DLTtapeIV = 395, DLTtapeS4 = 396, SDLT1 = 397, SDLT2 = 398, VStapeI = 399, #endregion DEC, types 390 to 399 #region Exatape, types 400 to 419 Exatape15m = 400, Exatape22m = 401, Exatape22mAME = 402, Exatape28m = 403, Exatape40m = 404, Exatape45m = 405, Exatape54m = 406, Exatape75m = 407, Exatape76m = 408, Exatape80m = 409, Exatape106m = 410, Exatape160mXL = 411, Exatape112m = 412, Exatape125m = 413, Exatape150m = 414, Exatape170m = 415, Exatape225m = 416, #endregion Exatape, types 400 to 419 #region PCMCIA / ExpressCard, types 420 to 429 ExpressCard34 = 420, ExpressCard54 = 421, PCCardTypeI = 422, PCCardTypeII = 423, PCCardTypeIII = 424, PCCardTypeIV = 425, #endregion PCMCIA / ExpressCard, types 420 to 429 #region SyQuest, types 430 to 449 /// SyQuest 135Mb cartridge for use in EZ135 and EZFlyer drives EZ135 = 430, /// SyQuest EZFlyer 230Mb cartridge for use in EZFlyer drive EZ230 = 431, /// SyQuest 4.7Gb for use in Quest drive Quest = 432, /// SyQuest SparQ 1Gb cartridge SparQ = 433, /// SyQuest 5Mb cartridge for SQ306RD drive SQ100 = 434, /// SyQuest 10Mb cartridge for SQ312RD drive SQ200 = 435, /// SyQuest 15Mb cartridge for SQ319RD drive SQ300 = 436, /// SyQuest 105Mb cartridge for SQ3105 and SQ3270 drives SQ310 = 437, /// SyQuest 270Mb cartridge for SQ3270 drive SQ327 = 438, /// SyQuest 44Mb cartridge for SQ555, SQ5110 and SQ5200C/SQ200 drives SQ400 = 439, /// SyQuest 88Mb cartridge for SQ5110 and SQ5200C/SQ200 drives SQ800 = 440, /// SyQuest 1.5Gb cartridge for SyJet drive [Obsolete] SQ1500 = 441, /// SyQuest 200Mb cartridge for use in SQ5200C drive SQ2000 = 442, /// SyQuest 1.5Gb cartridge for SyJet drive SyJet = 443, #endregion SyQuest, types 430 to 449 #region Nintendo, types 450 to 469 FamicomGamePak = 450, GameBoyAdvanceGamePak = 451, GameBoyGamePak = 452, /// Nintendo GameCube Optical Disc GOD = 453, N64DD = 454, N64GamePak = 455, NESGamePak = 456, Nintendo3DSGameCard = 457, NintendoDiskCard = 458, NintendoDSGameCard = 459, NintendoDSiGameCard = 460, SNESGamePak = 461, SNESGamePakUS = 462, /// Nintendo Wii Optical Disc WOD = 463, /// Nintendo Wii U Optical Disc WUOD = 464, SwitchGameCard = 465, #endregion Nintendo, types 450 to 469 #region IBM Tapes, types 470 to 479 IBM3470 = 470, IBM3480 = 471, IBM3490 = 472, IBM3490E = 473, IBM3592 = 474, #endregion IBM Tapes, types 470 to 479 #region LTO Ultrium, types 480 to 509 LTO = 480, LTO2 = 481, LTO3 = 482, LTO3WORM = 483, LTO4 = 484, LTO4WORM = 485, LTO5 = 486, LTO5WORM = 487, LTO6 = 488, LTO6WORM = 489, LTO7 = 490, LTO7WORM = 491, #endregion LTO Ultrium, types 480 to 509 #region MemoryStick, types 510 to 519 MemoryStick = 510, MemoryStickDuo = 511, MemoryStickMicro = 512, MemoryStickPro = 513, MemoryStickProDuo = 514, #endregion MemoryStick, types 510 to 519 #region SecureDigital, types 520 to 529 microSD = 520, miniSD = 521, SecureDigital = 522, #endregion SecureDigital, types 520 to 529 #region MultiMediaCard, types 530 to 539 MMC = 530, MMCmicro = 531, RSMMC = 532, MMCplus = 533, MMCmobile = 534, #endregion MultiMediaCard, types 530 to 539 #region SLR, types 540 to 569 MLR1 = 540, MLR1SL = 541, MLR3 = 542, SLR1 = 543, SLR2 = 544, SLR3 = 545, SLR32 = 546, SLR32SL = 547, SLR4 = 548, SLR5 = 549, SLR5SL = 550, SLR6 = 551, SLRtape7 = 552, SLRtape7SL = 553, SLRtape24 = 554, SLRtape24SL = 555, SLRtape40 = 556, SLRtape50 = 557, SLRtape60 = 558, SLRtape75 = 559, SLRtape100 = 560, SLRtape140 = 561, #endregion SLR, types 540 to 569 #region QIC, types 570 to 589 QIC11 = 570, QIC120 = 571, QIC1350 = 572, QIC150 = 573, QIC24 = 574, QIC3010 = 575, QIC3020 = 576, QIC3080 = 577, QIC3095 = 578, QIC320 = 579, QIC40 = 580, QIC525 = 581, QIC80 = 582, #endregion QIC, types 570 to 589 #region StorageTek tapes, types 590 to 609 STK4480 = 590, STK4490 = 591, STK9490 = 592, T9840A = 593, T9840B = 594, T9840C = 595, T9840D = 596, T9940A = 597, T9940B = 598, T10000A = 599, T10000B = 600, T10000C = 601, T10000D = 602, #endregion StorageTek tapes, types 590 to 609 #region Travan, types 610 to 619 Travan = 610, Travan1Ex = 611, Travan3 = 612, Travan3Ex = 613, Travan4 = 614, Travan5 = 615, Travan7 = 616, #endregion Travan, types 610 to 619 #region VXA, types 620 to 629 VXA1 = 620, VXA2 = 621, VXA3 = 622, #endregion VXA, types 620 to 629 #region Magneto-optical, types 630 to 659 /// 5,25", M.O., WORM, 650Mb, 318750 sectors, 1024 bytes/sector, ECMA-153, ISO 11560 ECMA_153 = 630, /// 5,25", M.O., WORM, 600Mb, 581250 sectors, 512 bytes/sector, ECMA-153, ISO 11560 ECMA_153_512 = 631, /// 3,5", M.O., RW, 128Mb, 248826 sectors, 512 bytes/sector, ECMA-154, ISO 10090 ECMA_154 = 632, /// 5,25", M.O., RW/WORM, 1Gb, 904995 sectors, 512 bytes/sector, ECMA-183, ISO 13481 ECMA_183_512 = 633, /// 5,25", M.O., RW/WORM, 1Gb, 498526 sectors, 1024 bytes/sector, ECMA-183, ISO 13481 ECMA_183 = 634, /// 5,25", M.O., RW/WORM, 1.2Gb, 1165600 sectors, 512 bytes/sector, ECMA-184, ISO 13549 ECMA_184_512 = 635, /// 5,25", M.O., RW/WORM, 1.3Gb, 639200 sectors, 1024 bytes/sector, ECMA-184, ISO 13549 ECMA_184 = 636, /// 300mm, M.O., WORM, ??? sectors, 1024 bytes/sector, ECMA-189, ISO 13614 ECMA_189 = 637, /// 300mm, M.O., WORM, ??? sectors, 1024 bytes/sector, ECMA-190, ISO 13403 ECMA_190 = 638, /// 5,25", M.O., RW/WORM, 936921 or 948770 sectors, 1024 bytes/sector, ECMA-195, ISO 13842 ECMA_195 = 639, /// 5,25", M.O., RW/WORM, 1644581 or 1647371 sectors, 512 bytes/sector, ECMA-195, ISO 13842 ECMA_195_512 = 640, /// 3,5", M.O., 446325 sectors, 512 bytes/sector, ECMA-201, ISO 13963 ECMA_201 = 641, /// 3,5", M.O., 429975 sectors, 512 bytes/sector, embossed, ISO 13963 ECMA_201_ROM = 642, /// 3,5", M.O., 371371 sectors, 1024 bytes/sector, ECMA-223 ECMA_223 = 643, /// 3,5", M.O., 694929 sectors, 512 bytes/sector, ECMA-223 ECMA_223_512 = 644, /// 5,25", M.O., 1244621 sectors, 1024 bytes/sector, ECMA-238, ISO 15486 ECMA_238 = 645, /// 3,5", M.O., 310352, 320332 or 321100 sectors, 2048 bytes/sector, ECMA-239, ISO 15498 ECMA_239 = 646, /// 356mm, M.O., 14476734 sectors, 1024 bytes/sector, ECMA-260, ISO 15898 ECMA_260 = 647, /// 356mm, M.O., 24445990 sectors, 1024 bytes/sector, ECMA-260, ISO 15898 ECMA_260_Double = 648, /// 5,25", M.O., 1128134 sectors, 2048 bytes/sector, ECMA-280, ISO 18093 ECMA_280 = 649, /// 300mm, M.O., 7355716 sectors, 2048 bytes/sector, ECMA-317, ISO 20162 ECMA_317 = 650, /// 5,25", M.O., 1095840 sectors, 4096 bytes/sector, ECMA-322, ISO 22092 ECMA_322 = 651, /// 5,25", M.O., 2043664 sectors, 2048 bytes/sector, ECMA-322, ISO 22092 ECMA_322_2k = 652, /// 3,5", M.O., 605846 sectors, 2048 bytes/sector, Cherry Book, GigaMo, ECMA-351, ISO 17346 GigaMo = 653, /// 3,5", M.O., 1063146 sectors, 2048 bytes/sector, Cherry Book 2, GigaMo 2, ECMA-353, ISO 22533 GigaMo2 = 654, #endregion Magneto-optical, types 630 to 659 #region Other floppy standards, types 660 to 689 CompactFloppy = 660, DemiDiskette = 661, /// 3.5", 652 tracks, 2 sides, 512 bytes/sector, Floptical, ECMA-207, ISO 14169 Floptical = 662, HiFD = 663, QuickDisk = 664, UHD144 = 665, VideoFloppy = 666, Wafer = 667, ZXMicrodrive = 668, #endregion Other floppy standards, types 660 to 669 #region Miscellaneous, types 670 to 689 BeeCard = 670, Borsu = 671, DataStore = 672, DIR = 673, DST = 674, DTF = 675, DTF2 = 676, Flextra3020 = 677, Flextra3225 = 678, HiTC1 = 679, HiTC2 = 680, LT1 = 681, MiniCard = 872, Orb = 683, Orb5 = 684, SmartMedia = 685, xD = 686, XQD = 687, DataPlay = 688, #endregion Miscellaneous, types 670 to 689 #region Apple specific media, types 690 to 699 AppleProfile = 690, AppleWidget = 691, AppleHD20 = 692, PriamDataTower = 693, Pippin = 694, #endregion Apple specific media, types 690 to 699 #region DEC hard disks, types 700 to 729 /// /// 2382 cylinders, 4 tracks/cylinder, 42 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 204890112 bytes /// RA60 = 700, /// /// 546 cylinders, 14 tracks/cylinder, 31 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 121325568 bytes /// RA80 = 701, /// /// 1248 cylinders, 14 tracks/cylinder, 51 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 456228864 bytes /// RA81 = 702, /// /// 302 cylinders, 4 tracks/cylinder, 42 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 25976832 /// bytes /// RC25 = 703, /// /// 615 cylinders, 4 tracks/cylinder, 17 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 21411840 /// bytes /// RD31 = 704, /// /// 820 cylinders, 6 tracks/cylinder, 17 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 42823680 /// bytes /// RD32 = 705, /// /// 306 cylinders, 4 tracks/cylinder, 17 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 10653696 /// bytes /// RD51 = 706, /// /// 480 cylinders, 7 tracks/cylinder, 18 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 30965760 /// bytes /// RD52 = 707, /// /// 1024 cylinders, 7 tracks/cylinder, 18 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 75497472 bytes /// RD53 = 708, /// /// 1225 cylinders, 8 tracks/cylinder, 18 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 159936000 bytes /// RD54 = 709, /// /// 411 cylinders, 3 tracks/cylinder, 22 sectors/track, 256 words/sector, 16 bits/word, 512 bytes/sector, 13888512 /// bytes /// RK06 = 710, /// /// 411 cylinders, 3 tracks/cylinder, 20 sectors/track, 256 words/sector, 18 bits/word, 576 bytes/sector, 14204160 /// bytes /// RK06_18 = 711, /// /// 815 cylinders, 3 tracks/cylinder, 22 sectors/track, 256 words/sector, 16 bits/word, 512 bytes/sector, 27540480 /// bytes /// RK07 = 712, /// /// 815 cylinders, 3 tracks/cylinder, 20 sectors/track, 256 words/sector, 18 bits/word, 576 bytes/sector, 28166400 /// bytes /// RK07_18 = 713, /// /// 823 cylinders, 5 tracks/cylinder, 32 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 67420160 /// bytes /// RM02 = 714, /// /// 823 cylinders, 5 tracks/cylinder, 32 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, 67420160 /// bytes /// RM03 = 715, /// /// 823 cylinders, 19 tracks/cylinder, 32 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 256196608 bytes /// RM05 = 716, /// /// 203 cylinders, 10 tracks/cylinder, 22 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 22865920 bytes /// RP02 = 717, /// /// 203 cylinders, 10 tracks/cylinder, 20 sectors/track, 128 words/sector, 36 bits/word, 576 bytes/sector, /// 23385600 bytes /// RP02_18 = 718, /// /// 400 cylinders, 10 tracks/cylinder, 22 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 45056000 bytes /// RP03 = 719, /// /// 400 cylinders, 10 tracks/cylinder, 20 sectors/track, 128 words/sector, 36 bits/word, 576 bytes/sector, /// 46080000 bytes /// RP03_18 = 720, /// /// 411 cylinders, 19 tracks/cylinder, 22 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 87960576 bytes /// RP04 = 721, /// /// 411 cylinders, 19 tracks/cylinder, 20 sectors/track, 128 words/sector, 36 bits/word, 576 bytes/sector, /// 89959680 bytes /// RP04_18 = 722, /// /// 411 cylinders, 19 tracks/cylinder, 22 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 87960576 bytes /// RP05 = 723, /// /// 411 cylinders, 19 tracks/cylinder, 20 sectors/track, 128 words/sector, 36 bits/word, 576 bytes/sector, /// 89959680 bytes /// RP05_18 = 724, /// /// 815 cylinders, 19 tracks/cylinder, 22 sectors/track, 128 words/sector, 32 bits/word, 512 bytes/sector, /// 174423040 bytes /// RP06 = 725, /// /// 815 cylinders, 19 tracks/cylinder, 20 sectors/track, 128 words/sector, 36 bits/word, 576 bytes/sector, /// 178387200 bytes /// RP06_18 = 726, #endregion DEC hard disks, types 700 to 729 #region Imation, types 730 to 739 LS120 = 730, LS240 = 731, FD32MB = 732, RDX = 733, /// Imation 320Gb RDX RDX320 = 734, #endregion Imation, types 730 to 739 #region VideoNow, types 740 to 749 VideoNow = 740, VideoNowColor = 741, VideoNowXp = 742, #endregion #region Iomega, types 750 to 759 /// 8"x11" Bernoulli Box disk with 10Mb capacity Bernoulli10 = 750, /// 8"x11" Bernoulli Box disk with 20Mb capacity Bernoulli20 = 751, /// 5⅓" Bernoulli Box II disk with 20Mb capacity BernoulliBox2_20 = 752, #endregion Iomega, types 750 to 759 #region Kodak, types 760 to 769 KodakVerbatim3 = 760, KodakVerbatim6 = 761, KodakVerbatim12 = 762, #endregion Kodak, types 760 to 769 #region Sony and Panasonic Blu-ray derived, types 770 to 799 /// Professional Disc for video, single layer, rewritable, 23Gb ProfessionalDisc = 770, /// Professional Disc for video, dual layer, rewritable, 50Gb ProfessionalDiscDual = 771, /// Professional Disc for video, triple layer, rewritable, 100Gb ProfessionalDiscTriple = 772, /// Professional Disc for video, quad layer, write once, 128Gb ProfessionalDiscQuad = 773, /// Professional Disc for DATA, single layer, rewritable, 23Gb PDD = 774, /// Professional Disc for DATA, single layer, write once, 23Gb PDD_WORM = 775, /// Archival Disc, 1st gen., 300Gb ArchivalDisc = 776, /// Archival Disc, 2nd gen., 500Gb ArchivalDisc2 = 777, /// Archival Disc, 3rd gen., 1Tb ArchivalDisc3 = 778, /// Optical Disc archive, 1st gen., write once, 300Gb ODC300R = 779, /// Optical Disc archive, 1st gen., rewritable, 300Gb ODC300RE = 780, /// Optical Disc archive, 2nd gen., write once, 600Gb ODC600R = 781, /// Optical Disc archive, 2nd gen., rewritable, 600Gb ODC600RE = 782, /// Optical Disc archive, 3rd gen., rewritable, 1200Gb ODC1200RE = 783, /// Optical Disc archive, 3rd gen., write once, 1500Gb ODC1500R = 784, /// Optical Disc archive, 4th gen., write once, 3300Gb ODC3300R = 785, /// Optical Disc archive, 5th gen., write once, 5500Gb ODC5500R = 786 #endregion Sony and Panasonic Blu-ray derived, types 770 to 799 } /// /// Compression being used in CHD /// public enum CHDCompression : uint { CHDCOMPRESSION_NONE = 0, CHDCOMPRESSION_ZLIB = 1, CHDCOMPRESSION_ZLIB_PLUS = 2, CHDCOMPRESSION_AV = 3, } /// /// Availible CHD codec formats /// public enum CHD_CODEC : uint { NONE = 0, #region General Codecs ZLIB = 0x7a6c6962, // zlib LZMA = 0x6c7a6d61, // lzma HUFFMAN = 0x68756666, // huff FLAC = 0x666c6163, // flac #endregion #region General Codecs with CD Frontend CD_ZLIB = 0x63647a6c, // cdzl CD_LZMA = 0x63646c7a, // cdlz CD_FLAC = 0x6364666c, // cdfl #endregion #region A/V Codecs AVHUFF = 0x61766875, // avhu #endregion #region Pseudo-Codecs Returned by hunk_info SELF = 1, // copy of another hunk PARENT = 2, // copy of a parent's hunk MINI = 3, // legacy "mini" 8-byte repeat #endregion } /// /// Compression method based on flag /// public enum CompressionMethod : ushort { Stored = 0, Shrunk = 1, ReducedCompressionFactor1 = 2, ReducedCompressionFactor2 = 3, ReducedCompressionFactor3 = 4, ReducedCompressionFactor4 = 5, Imploded = 6, Tokenizing = 7, Deflated = 8, Delfate64 = 9, PKWAREDataCompressionLibrary = 10, Type11 = 11, // Reserved and unused (SHOULD NOT BE USED) BZIP2 = 12, Type13 = 13, // Reserved and unused (SHOULD NOT BE USED) LZMA = 14, Type15 = 15, // Reserved and unused (SHOULD NOT BE USED) Type16 = 16, // Reserved and unused (SHOULD NOT BE USED) Type17 = 17, // Reserved and unused (SHOULD NOT BE USED) IBMTERSE = 18, IBMLZ77 = 19, WavPak = 97, PPMdVersionIRev1 = 98, } /// /// Type of file that is being looked at /// public enum FileType { // Singleton None = 0, AaruFormat, CHD, // Can contain children Folder, SevenZipArchive, GZipArchive, LRZipArchive, LZ4Archive, RarArchive, TapeArchive, XZArchive, ZipArchive, ZPAQArchive, ZstdArchive, } /// /// Output format for rebuilt files /// public enum OutputFormat { // Currently implemented Folder, ParentFolder, TorrentZip, TorrentGzip, TorrentGzipRomba, TorrentXZ, TorrentXZRomba, TapeArchive, // Currently unimplemented fully Torrent7Zip, TorrentRar, TorrentLRZip, TorrentLZ4, TorrentZstd, TorrentZPAQ, } #endregion #region Reports /// /// Determine which format to output Stats to /// [Flags] public enum StatReportFormat { /// /// Only output to the console /// None = 0x00, /// /// Console-formatted /// Textfile = 1 << 0, /// /// ClrMamePro HTML /// HTML = 1 << 1, /// /// Comma-Separated Values (Standardized) /// CSV = 1 << 2, /// /// Semicolon-Separated Values (Standardized) /// SSV = 1 << 3, /// /// Tab-Separated Values (Standardized) /// TSV = 1 << 4, All = Int32.MaxValue, } #endregion }