From 75edb759e684374dcb9451da0beec359e988ccaa Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 17 Aug 2021 21:23:10 +0100 Subject: [PATCH] General code refactor. --- .github/CODE_OF_CONDUCT.md | 65 +- .github/PULL_REQUEST_TEMPLATE.md | 2 + Aaru.Compression/Aaru.Compression.csproj | 54 +- Aaru.Compression/AppleRle.cs | 12 +- Aaru.Compression/TeleDiskLzh.cs | 12 +- Aaru.Core/Aaru.Core.csproj | 261 +- Aaru.Core/Checksum.cs | 84 +- Aaru.Core/Devices/Dumping/Dump.cs | 8 +- Aaru.Core/Devices/Dumping/MMC.cs | 7 +- Aaru.Core/Devices/Dumping/NVMe.cs | 4 +- Aaru.Core/Devices/Dumping/SCSI.cs | 2 +- Aaru.Core/Devices/Dumping/XGD.cs | 4 +- Aaru.Core/Devices/Info/DeviceInfo.cs | 10 +- Aaru.Core/Devices/Info/Plextor.cs | 178 +- Aaru.Core/Devices/Info/Properties.cs | 274 +- Aaru.Core/Devices/Report/ATA.cs | 8 +- Aaru.Core/Devices/Report/DeviceReport.cs | 4 +- Aaru.Core/Devices/Report/GdRomSwapTrick.cs | 4 +- Aaru.Core/Devices/Report/MMC.cs | 8 +- Aaru.Core/Devices/Report/SSC.cs | 8 +- Aaru.Core/Devices/Report/Scsi.cs | 20 +- Aaru.Core/Devices/Scanning/MediaScan.cs | 14 +- Aaru.Core/Entropy.cs | 50 +- Aaru.Core/Error.cs | 8 +- Aaru.Core/Filesystems.cs | 4 +- Aaru.Core/GetPluginBase.cs | 12 +- Aaru.Core/ImageFormat.cs | 4 +- Aaru.Core/ImageInfo.cs | 8 +- Aaru.Core/Logging/ErrorLog.cs | 18 +- Aaru.Core/Logging/SubchannelLog.cs | 60 +- Aaru.Core/Media/CompactDisc.cs | 4 +- Aaru.Core/Media/Detection/MMC.cs | 4 +- Aaru.Core/Media/Info/CompactDisc.cs | 4 +- Aaru.Core/Media/Info/ScsiInfo.cs | 422 +- Aaru.Core/Media/Info/XgdInfo.cs | 28 +- Aaru.Core/Options.cs | 8 +- Aaru.Core/PrintScsiModePages.cs | 8 +- Aaru.Core/Remote.cs | 4 +- Aaru.Core/Sidecar/BlockTape.cs | 8 +- Aaru.Core/Sidecar/Events.cs | 12 +- Aaru.Core/Sidecar/Sidecar.cs | 8 +- Aaru.Core/Statistics.cs | 8 +- Aaru.Database/Aaru.Database.csproj | 234 +- Aaru.Database/Context.cs | 112 +- Aaru.Database/ContextFactory.cs | 8 +- Aaru.Database/Models/BaseModel.cs | 8 +- Aaru.Database/Models/BaseOperatingSystem.cs | 28 +- Aaru.Database/Models/CdOffset.cs | 32 +- Aaru.Database/Models/Command.cs | 4 +- Aaru.Database/Models/Device.cs | 24 +- Aaru.Database/Models/DeviceStat.cs | 32 +- Aaru.Database/Models/Filesystem.cs | 4 +- Aaru.Database/Models/Filter.cs | 4 +- Aaru.Database/Models/Media.cs | 28 +- Aaru.Database/Models/MediaFormat.cs | 4 +- Aaru.Database/Models/NameCountModel.cs | 22 +- Aaru.Database/Models/OperatingSystem.cs | 4 +- Aaru.Database/Models/Partition.cs | 4 +- Aaru.Database/Models/RemoteApplication.cs | 4 +- Aaru.Database/Models/RemoteArchitecture.cs | 4 +- Aaru.Database/Models/RemoteOperatingSystem.cs | 4 +- Aaru.Database/Models/Report.cs | 24 +- Aaru.Database/Models/UsbProduct.cs | 54 +- Aaru.Database/Models/UsbVendor.cs | 38 +- Aaru.Database/Models/Version.cs | 4 +- Aaru.Devices/Aaru.Devices.csproj | 174 +- Aaru.Devices/Device/AtaCommands/Ata28.cs | 43 +- Aaru.Devices/Device/AtaCommands/Ata48.cs | 27 +- Aaru.Devices/Device/AtaCommands/AtaCHS.cs | 51 +- Aaru.Devices/Device/AtaCommands/Cfa.cs | 12 +- Aaru.Devices/Device/AtaCommands/MCPT.cs | 12 +- Aaru.Devices/Device/AtaCommands/Smart.cs | 32 +- Aaru.Devices/Device/Commands.cs | 70 +- Aaru.Devices/Device/Constructor.cs | 4 +- Aaru.Devices/Device/Destructor.cs | 4 +- Aaru.Devices/Device/List.cs | 39 +- Aaru.Devices/Device/MmcCommands/MMC.cs | 44 +- .../Device/MmcCommands/SecureDigital.cs | 12 +- Aaru.Devices/Device/ScsiCommands/Fujitsu.cs | 4 +- Aaru.Devices/Device/ScsiCommands/MiniDisc.cs | 4 +- Aaru.Devices/Device/ScsiCommands/SPC.cs | 8 +- Aaru.Devices/Device/ScsiCommands/SSC.cs | 4 +- Aaru.Devices/Device/Variables.cs | 44 +- Aaru.Devices/Enums.cs | 3 +- Aaru.Devices/Remote/Consts.cs | 28 +- Aaru.Devices/Remote/Enums.cs | 50 +- Aaru.Devices/Remote/Remote.cs | 110 +- Aaru.Devices/Remote/Structs.cs | 690 +- Aaru.Filesystems/AODOS.cs | 12 +- Aaru.Filesystems/APFS.cs | 12 +- Aaru.Filesystems/Aaru.Filesystems.csproj | 409 +- Aaru.Filesystems/Acorn.cs | 12 +- Aaru.Filesystems/AmigaDOS.cs | 16 +- Aaru.Filesystems/AppleDOS/AppleDOS.cs | 12 +- Aaru.Filesystems/AppleHFS/AppleHFS.cs | 12 +- Aaru.Filesystems/AppleHFSPlus.cs | 12 +- Aaru.Filesystems/AppleMFS/AppleMFS.cs | 12 +- Aaru.Filesystems/AtheOS.cs | 12 +- Aaru.Filesystems/BFS.cs | 12 +- Aaru.Filesystems/BTRFS.cs | 12 +- Aaru.Filesystems/CBM.cs | 12 +- Aaru.Filesystems/CPM/CPM.cs | 12 +- Aaru.Filesystems/CPM/cpmdefs.xml | 43692 ++++++++-------- Aaru.Filesystems/Cram.cs | 12 +- Aaru.Filesystems/ECMA67.cs | 12 +- Aaru.Filesystems/EFS.cs | 12 +- Aaru.Filesystems/F2FS.cs | 13 +- Aaru.Filesystems/FAT/FAT.cs | 10 +- Aaru.Filesystems/FAT/Info.cs | 8 +- Aaru.Filesystems/FATX/Dir.cs | 5 +- Aaru.Filesystems/FATX/FATX.cs | 12 +- Aaru.Filesystems/FATX/Super.cs | 5 +- Aaru.Filesystems/FFS.cs | 12 +- Aaru.Filesystems/Fossil.cs | 12 +- Aaru.Filesystems/HAMMER.cs | 12 +- Aaru.Filesystems/HPFS.cs | 12 +- Aaru.Filesystems/HPOFS/HPOFS.cs | 12 +- Aaru.Filesystems/ISO9660/ISO9660.cs | 12 +- Aaru.Filesystems/ISO9660/Info.cs | 7 +- Aaru.Filesystems/JFS.cs | 15 +- Aaru.Filesystems/LIF.cs | 12 +- Aaru.Filesystems/LisaFS/LisaFS.cs | 12 +- Aaru.Filesystems/Locus.cs | 13 +- Aaru.Filesystems/MicroDOS.cs | 17 +- Aaru.Filesystems/MinixFS.cs | 12 +- Aaru.Filesystems/NILFS2.cs | 12 +- Aaru.Filesystems/NTFS.cs | 12 +- Aaru.Filesystems/Nintendo.cs | 12 +- Aaru.Filesystems/ODS.cs | 12 +- Aaru.Filesystems/Opera/Dir.cs | 4 +- Aaru.Filesystems/Opera/Opera.cs | 12 +- Aaru.Filesystems/PCEngine.cs | 12 +- Aaru.Filesystems/PCFX.cs | 14 +- Aaru.Filesystems/PFS.cs | 12 +- Aaru.Filesystems/ProDOS.cs | 12 +- Aaru.Filesystems/QNX4.cs | 12 +- Aaru.Filesystems/QNX6.cs | 12 +- Aaru.Filesystems/RBF.cs | 12 +- Aaru.Filesystems/RT11.cs | 12 +- Aaru.Filesystems/ReFS.cs | 12 +- Aaru.Filesystems/Register.cs | 8 +- Aaru.Filesystems/Reiser.cs | 12 +- Aaru.Filesystems/Reiser4.cs | 12 +- Aaru.Filesystems/SFS.cs | 12 +- Aaru.Filesystems/SolarFS.cs | 12 +- Aaru.Filesystems/Squash.cs | 12 +- Aaru.Filesystems/SysV.cs | 24 +- Aaru.Filesystems/UCSDPascal/UCSDPascal.cs | 12 +- Aaru.Filesystems/UDF.cs | 12 +- Aaru.Filesystems/UNICOS.cs | 12 +- Aaru.Filesystems/UNIXBFS.cs | 12 +- Aaru.Filesystems/VMfs.cs | 12 +- Aaru.Filesystems/VxFS.cs | 12 +- Aaru.Filesystems/XFS.cs | 12 +- Aaru.Filesystems/Xia.cs | 12 +- Aaru.Filesystems/ZFS.cs | 12 +- Aaru.Filesystems/dump.cs | 12 +- Aaru.Filesystems/exFAT.cs | 12 +- Aaru.Filesystems/ext2FS.cs | 12 +- Aaru.Filesystems/extFS.cs | 12 +- Aaru.Filters/Aaru.Filters.csproj | 82 +- Aaru.Filters/AppleDouble.cs | 4 +- Aaru.Filters/AppleSingle.cs | 4 +- Aaru.Filters/BZip2.cs | 4 +- Aaru.Filters/GZip.cs | 4 +- Aaru.Filters/LZip.cs | 4 +- Aaru.Filters/MacBinary.cs | 4 +- Aaru.Filters/OffsetStream.cs | 131 +- Aaru.Filters/PCExchange.cs | 4 +- Aaru.Filters/Register.cs | 2 +- Aaru.Filters/SplitJoinStream.cs | 168 +- Aaru.Filters/XZ.cs | 4 +- Aaru.Filters/ZZZNoFilter.cs | 4 +- Aaru.Gui/Aaru.Gui.csproj | 578 +- Aaru.Gui/Assets/Logos/Media/AIT1.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT1Turbo.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT2.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT2Turbo.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT3.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT3Ex.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT3Turbo.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT4.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AIT5.svg | 223 +- Aaru.Gui/Assets/Logos/Media/AITETurbo.svg | 223 +- Aaru.Gui/Assets/Logos/Media/BDR.svg | 138 +- Aaru.Gui/Assets/Logos/Media/BDRE.svg | 138 +- Aaru.Gui/Assets/Logos/Media/BDREXL.svg | 138 +- Aaru.Gui/Assets/Logos/Media/BDROM.svg | 138 +- Aaru.Gui/Assets/Logos/Media/BDRXL.svg | 138 +- Aaru.Gui/Assets/Logos/Media/CD.svg | 89 +- Aaru.Gui/Assets/Logos/Media/CD32.svg | 108 +- Aaru.Gui/Assets/Logos/Media/CDDA.svg | 198 +- Aaru.Gui/Assets/Logos/Media/CDEG.svg | 323 +- Aaru.Gui/Assets/Logos/Media/CDG.svg | 260 +- Aaru.Gui/Assets/Logos/Media/CDI.svg | 127 +- Aaru.Gui/Assets/Logos/Media/CDIREADY.svg | 127 +- Aaru.Gui/Assets/Logos/Media/CDMIDI.svg | 187 +- Aaru.Gui/Assets/Logos/Media/CDPLUS.svg | 190 +- Aaru.Gui/Assets/Logos/Media/CDR.svg | 138 +- Aaru.Gui/Assets/Logos/Media/CDROM.svg | 143 +- Aaru.Gui/Assets/Logos/Media/CDROM2.svg | 52 +- Aaru.Gui/Assets/Logos/Media/CDRW.svg | 206 +- Aaru.Gui/Assets/Logos/Media/CDTV.svg | 178 +- Aaru.Gui/Assets/Logos/Media/CDV.svg | 112 +- .../Assets/Logos/Media/CompactCassette.svg | 45 +- Aaru.Gui/Assets/Logos/Media/DAT160.svg | 502 +- Aaru.Gui/Assets/Logos/Media/DAT320.svg | 502 +- Aaru.Gui/Assets/Logos/Media/DAT72.svg | 502 +- Aaru.Gui/Assets/Logos/Media/DDS1.svg | 108 +- Aaru.Gui/Assets/Logos/Media/DDS2.svg | 108 +- Aaru.Gui/Assets/Logos/Media/DDS3.svg | 108 +- Aaru.Gui/Assets/Logos/Media/DDS4.svg | 108 +- Aaru.Gui/Assets/Logos/Media/DLTtapeIII.svg | 79 +- Aaru.Gui/Assets/Logos/Media/DLTtapeIIIxt.svg | 79 +- Aaru.Gui/Assets/Logos/Media/DLTtapeIV.svg | 79 +- Aaru.Gui/Assets/Logos/Media/DLTtapeS4.svg | 79 +- Aaru.Gui/Assets/Logos/Media/DVDDownload.svg | 63 +- Aaru.Gui/Assets/Logos/Media/DVDPR.svg | 47 +- Aaru.Gui/Assets/Logos/Media/DVDPRDL.svg | 22 +- Aaru.Gui/Assets/Logos/Media/DVDPRW.svg | 22 +- Aaru.Gui/Assets/Logos/Media/DVDR.svg | 73 +- Aaru.Gui/Assets/Logos/Media/DVDRAM.svg | 61 +- Aaru.Gui/Assets/Logos/Media/DVDROM.svg | 28 +- Aaru.Gui/Assets/Logos/Media/DVDRW.svg | 80 +- .../Assets/Logos/Media/DigitalAudioTape.svg | 502 +- Aaru.Gui/Assets/Logos/Media/Ditto.svg | 52 +- Aaru.Gui/Assets/Logos/Media/DittoMax.svg | 52 +- Aaru.Gui/Assets/Logos/Media/ExpressCard34.svg | 82 +- Aaru.Gui/Assets/Logos/Media/ExpressCard54.svg | 82 +- Aaru.Gui/Assets/Logos/Media/GDR.svg | 92 +- Aaru.Gui/Assets/Logos/Media/GDROM.svg | 92 +- Aaru.Gui/Assets/Logos/Media/GOD.svg | 567 +- Aaru.Gui/Assets/Logos/Media/HDDVDR.svg | 30 +- Aaru.Gui/Assets/Logos/Media/HDDVDRAM.svg | 30 +- Aaru.Gui/Assets/Logos/Media/HDDVDRDL.svg | 30 +- Aaru.Gui/Assets/Logos/Media/HDDVDROM.svg | 22 +- Aaru.Gui/Assets/Logos/Media/HDDVDRW.svg | 30 +- Aaru.Gui/Assets/Logos/Media/HDDVDRWDL.svg | 30 +- Aaru.Gui/Assets/Logos/Media/JaguarCD.svg | 166 +- Aaru.Gui/Assets/Logos/Media/Jaz.svg | 69 +- Aaru.Gui/Assets/Logos/Media/Jaz2.svg | 152 +- Aaru.Gui/Assets/Logos/Media/LD.svg | 145 +- Aaru.Gui/Assets/Logos/Media/LDROM.svg | 145 +- Aaru.Gui/Assets/Logos/Media/LDROM2.svg | 226 +- Aaru.Gui/Assets/Logos/Media/LTO.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO2.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO3.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO3WORM.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO4.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO4WORM.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO5.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO5WORM.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO6.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO6WORM.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO7.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LTO7WORM.svg | 153 +- Aaru.Gui/Assets/Logos/Media/LVROM.svg | 57 +- Aaru.Gui/Assets/Logos/Media/MD.svg | 128 +- Aaru.Gui/Assets/Logos/Media/MDData.svg | 89 +- Aaru.Gui/Assets/Logos/Media/MDData2.svg | 89 +- Aaru.Gui/Assets/Logos/Media/MEGACD.svg | 50 +- Aaru.Gui/Assets/Logos/Media/MegaLD.svg | 226 +- Aaru.Gui/Assets/Logos/Media/MemoryStick.svg | 141 +- .../Assets/Logos/Media/MemoryStickDuo.svg | 141 +- .../Assets/Logos/Media/MemoryStickMicro.svg | 141 +- .../Assets/Logos/Media/MemoryStickPro.svg | 141 +- .../Assets/Logos/Media/MemoryStickProDuo.svg | 141 +- Aaru.Gui/Assets/Logos/Media/MilCD.svg | 92 +- Aaru.Gui/Assets/Logos/Media/NeoGeoCD.svg | 129 +- .../Logos/Media/Nintendo3DSGameCard.svg | 119 +- .../Assets/Logos/Media/Nintendo_64_Logo.svg | 42 +- Aaru.Gui/Assets/Logos/Media/Nuon.svg | 98 +- Aaru.Gui/Assets/Logos/Media/PCD.svg | 140 +- Aaru.Gui/Assets/Logos/Media/PCFX.svg | 326 +- Aaru.Gui/Assets/Logos/Media/PD650.svg | 35 +- Aaru.Gui/Assets/Logos/Media/PD650_WORM.svg | 35 +- Aaru.Gui/Assets/Logos/Media/PS1CD.svg | 56 +- Aaru.Gui/Assets/Logos/Media/PS2CD.svg | 3975 +- Aaru.Gui/Assets/Logos/Media/PS2DVD.svg | 3975 +- Aaru.Gui/Assets/Logos/Media/PS3BD.svg | 49 +- Aaru.Gui/Assets/Logos/Media/PS3DVD.svg | 49 +- Aaru.Gui/Assets/Logos/Media/PS4BD.svg | 126 +- Aaru.Gui/Assets/Logos/Media/Pippin.svg | 106 +- .../Logos/Media/PlayStationMemoryCard.svg | 56 +- .../Logos/Media/PlayStationMemoryCard2.svg | 3975 +- .../Logos/Media/PlayStationVitaGameCard.svg | 31 +- Aaru.Gui/Assets/Logos/Media/Playdia.svg | 105 +- Aaru.Gui/Assets/Logos/Media/PocketZip.svg | 76 +- Aaru.Gui/Assets/Logos/Media/SACD.svg | 370 +- Aaru.Gui/Assets/Logos/Media/SAIT1.svg | 223 +- Aaru.Gui/Assets/Logos/Media/SAIT2.svg | 223 +- Aaru.Gui/Assets/Logos/Media/SATURNCD.svg | 575 +- Aaru.Gui/Assets/Logos/Media/SVCD.svg | 170 +- Aaru.Gui/Assets/Logos/Media/SecureDigital.svg | 83 +- Aaru.Gui/Assets/Logos/Media/SmartMedia.svg | 112 +- Aaru.Gui/Assets/Logos/Media/SuperCDROM2.svg | 52 +- .../Assets/Logos/Media/SwitchGameCard.svg | 132 +- Aaru.Gui/Assets/Logos/Media/ThreeDO.svg | 125 +- Aaru.Gui/Assets/Logos/Media/VCD.svg | 184 +- Aaru.Gui/Assets/Logos/Media/WOD.svg | 48 +- Aaru.Gui/Assets/Logos/Media/WUOD.svg | 99 +- Aaru.Gui/Assets/Logos/Media/XGD.svg | 971 +- Aaru.Gui/Assets/Logos/Media/XGD2.svg | 726 +- Aaru.Gui/Assets/Logos/Media/XGD3.svg | 726 +- Aaru.Gui/Assets/Logos/Media/XGD4.svg | 591 +- Aaru.Gui/Assets/Logos/Media/ZIP100.svg | 89 +- Aaru.Gui/Assets/Logos/Media/ZIP250.svg | 103 +- Aaru.Gui/Assets/Logos/Media/miniSD.svg | 119 +- Aaru.Gui/Controls/BlockMap.cs | 5 +- .../Windows/DecodeMediaTagsViewModel.cs | 4 +- .../Windows/SplashWindowViewModel.cs | 5 +- Aaru.Gui/Views/Panels/DeviceInfo.xaml | 4 +- Aaru.Gui/Views/Panels/FileSystem.xaml | 4 +- Aaru.Gui/Views/Panels/ImageInfo.xaml | 4 +- Aaru.Gui/Views/Panels/MediaInfo.xaml | 4 +- Aaru.Gui/Views/Panels/Partition.xaml | 4 +- Aaru.Gui/Views/Panels/Subdirectory.xaml | 4 +- Aaru.Gui/Views/Tabs/AtaInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/BlurayInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/DvdInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/DvdWritableInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/PcmciaInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/ScsiInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/SdMmcInfo.xaml | 4 +- Aaru.Gui/Views/Tabs/XboxInfo.xaml | 4 +- Aaru.Helpers | 2 +- Aaru.Images/Aaru.Images.csproj | 984 +- Aaru.Images/AaruFormat/AaruFormat.cs | 10 +- Aaru.Images/AaruFormat/Properties.cs | 23 +- Aaru.Images/AaruFormat/Read.cs | 4 +- Aaru.Images/AaruFormat/Tape.cs | 4 +- Aaru.Images/AaruFormat/Write.cs | 4 +- Aaru.Images/Alcohol120/Alcohol120.cs | 4 +- Aaru.Images/Alcohol120/Properties.cs | 12 +- Aaru.Images/Anex86/Anex86.cs | 4 +- Aaru.Images/Anex86/Properties.cs | 8 +- Aaru.Images/Apple2MG/Apple2MG.cs | 4 +- Aaru.Images/Apple2MG/Properties.cs | 8 +- Aaru.Images/AppleDOS/AppleDOS.cs | 4 +- Aaru.Images/AppleDOS/Properties.cs | 8 +- Aaru.Images/AppleNIB/AppleNIB.cs | 4 +- Aaru.Images/AppleNIB/Properties.cs | 10 +- Aaru.Images/AppleNIB/Read.cs | 13 +- Aaru.Images/Apridisk/Apridisk.cs | 4 +- Aaru.Images/Apridisk/Properties.cs | 8 +- Aaru.Images/BLU/BLU.cs | 4 +- Aaru.Images/BLU/Properties.cs | 14 +- Aaru.Images/BlindWrite4/BlindWrite4.cs | 4 +- Aaru.Images/BlindWrite4/Properties.cs | 8 +- Aaru.Images/BlindWrite5/BlindWrite5.cs | 4 +- Aaru.Images/BlindWrite5/Properties.cs | 6 +- Aaru.Images/BlindWrite5/Read.cs | 6 +- Aaru.Images/CDRDAO/CDRDAO.cs | 4 +- Aaru.Images/CDRDAO/Properties.cs | 14 +- Aaru.Images/CDRWin/CDRWin.cs | 4 +- Aaru.Images/CDRWin/Properties.cs | 16 +- Aaru.Images/CDRWin/Read.cs | 5 +- Aaru.Images/CHD/CHD.cs | 4 +- Aaru.Images/CHD/Properties.cs | 12 +- Aaru.Images/CPCDSK/CPCDSK.cs | 4 +- Aaru.Images/CPCDSK/Properties.cs | 12 +- Aaru.Images/CisCopy/CisCopy.cs | 4 +- Aaru.Images/CisCopy/Properties.cs | 14 +- Aaru.Images/CloneCD/CloneCD.cs | 4 +- Aaru.Images/CloneCD/Properties.cs | 20 +- Aaru.Images/CloneCD/Read.cs | 4 +- Aaru.Images/CopyQM/CopyQM.cs | 4 +- Aaru.Images/CopyQM/Properties.cs | 12 +- Aaru.Images/CopyTape/Constants.cs | 6 +- Aaru.Images/CopyTape/CopyTape.cs | 4 +- Aaru.Images/CopyTape/Properties.cs | 22 +- Aaru.Images/D88/D88.cs | 4 +- Aaru.Images/D88/Properties.cs | 12 +- Aaru.Images/DART/DART.cs | 4 +- Aaru.Images/DART/Properties.cs | 12 +- Aaru.Images/DIM/DIM.cs | 4 +- Aaru.Images/DIM/Properties.cs | 12 +- Aaru.Images/DiscFerret/DiscFerret.cs | 4 +- Aaru.Images/DiscFerret/Properties.cs | 12 +- Aaru.Images/DiscJuggler/DiscJuggler.cs | 4 +- Aaru.Images/DiscJuggler/Properties.cs | 18 +- Aaru.Images/DiskCopy42/Constants.cs | 1 + Aaru.Images/DiskCopy42/DiskCopy42.cs | 4 +- Aaru.Images/DiskCopy42/Properties.cs | 14 +- Aaru.Images/DiskDupe/Constants.cs | 2 +- Aaru.Images/DiskDupe/DiskDupe.cs | 4 +- Aaru.Images/DiskDupe/Helpers.cs | 35 +- Aaru.Images/DiskDupe/Identify.cs | 8 +- Aaru.Images/DiskDupe/Properties.cs | 14 +- Aaru.Images/DiskDupe/Read.cs | 11 +- Aaru.Images/DiskDupe/Structs.cs | 58 +- Aaru.Images/DiskDupe/Unsupported.cs | 2 +- Aaru.Images/DriDiskCopy/DriDiskCopy.cs | 4 +- Aaru.Images/DriDiskCopy/Properties.cs | 12 +- Aaru.Images/GDI/GDI.cs | 4 +- Aaru.Images/GDI/Properties.cs | 14 +- Aaru.Images/HDCopy/HDCopy.cs | 4 +- Aaru.Images/HDCopy/Helpers.cs | 6 +- Aaru.Images/HDCopy/Identify.cs | 6 +- Aaru.Images/HDCopy/Properties.cs | 10 +- Aaru.Images/HDCopy/Read.cs | 4 +- Aaru.Images/IMD/IMD.cs | 4 +- Aaru.Images/IMD/Properties.cs | 12 +- Aaru.Images/KryoFlux/Constants.cs | 4 +- Aaru.Images/KryoFlux/KryoFlux.cs | 4 +- Aaru.Images/KryoFlux/Properties.cs | 14 +- Aaru.Images/MaxiDisk/MaxiDisk.cs | 4 +- Aaru.Images/MaxiDisk/Properties.cs | 14 +- Aaru.Images/NDIF/NDIF.cs | 4 +- Aaru.Images/NDIF/Properties.cs | 12 +- Aaru.Images/NHDr0/NHDr0.cs | 4 +- Aaru.Images/NHDr0/Properties.cs | 14 +- Aaru.Images/Nero/Nero.cs | 4 +- Aaru.Images/Nero/Properties.cs | 20 +- Aaru.Images/Parallels/Parallels.cs | 4 +- Aaru.Images/Parallels/Properties.cs | 14 +- Aaru.Images/PartClone/PartClone.cs | 4 +- Aaru.Images/PartClone/Properties.cs | 12 +- Aaru.Images/Partimage/Partimage.cs | 4 +- Aaru.Images/Partimage/Properties.cs | 10 +- Aaru.Images/QCOW/Properties.cs | 12 +- Aaru.Images/QCOW/QCOW.cs | 4 +- Aaru.Images/QCOW2/Properties.cs | 12 +- Aaru.Images/QCOW2/QCOW2.cs | 4 +- Aaru.Images/QED/Properties.cs | 12 +- Aaru.Images/QED/QED.cs | 4 +- Aaru.Images/RayDIM/Properties.cs | 14 +- Aaru.Images/RayDIM/RayDIM.cs | 4 +- Aaru.Images/Register.cs | 8 +- Aaru.Images/RsIde/Properties.cs | 14 +- Aaru.Images/RsIde/RsIde.cs | 4 +- Aaru.Images/SaveDskF/Properties.cs | 14 +- Aaru.Images/SaveDskF/SaveDskF.cs | 4 +- Aaru.Images/SuperCardPro/Properties.cs | 12 +- Aaru.Images/SuperCardPro/SuperCardPro.cs | 4 +- Aaru.Images/T98/Properties.cs | 14 +- Aaru.Images/T98/T98.cs | 4 +- Aaru.Images/TeleDisk/Constants.cs | 10 +- Aaru.Images/TeleDisk/Properties.cs | 10 +- Aaru.Images/TeleDisk/TeleDisk.cs | 4 +- Aaru.Images/UDIF/Properties.cs | 12 +- Aaru.Images/UDIF/Read.cs | 4 +- Aaru.Images/UDIF/UDIF.cs | 4 +- Aaru.Images/UkvFdi/Properties.cs | 12 +- Aaru.Images/UkvFdi/UkvFdi.cs | 4 +- Aaru.Images/VDI/Properties.cs | 12 +- Aaru.Images/VDI/VDI.cs | 4 +- Aaru.Images/VHD/Properties.cs | 8 +- Aaru.Images/VHD/VHD.cs | 6 +- Aaru.Images/VHDX/Properties.cs | 10 +- Aaru.Images/VHDX/VHDX.cs | 4 +- Aaru.Images/VMware/Properties.cs | 12 +- Aaru.Images/VMware/VMware.cs | 4 +- Aaru.Images/Virtual98/Properties.cs | 14 +- Aaru.Images/Virtual98/Virtual98.cs | 4 +- Aaru.Images/WCDiskImage/Properties.cs | 10 +- Aaru.Images/WCDiskImage/WCDiskImage.cs | 11 +- Aaru.Images/ZZZRawImage/Properties.cs | 12 +- Aaru.Images/ZZZRawImage/Read.cs | 3 +- Aaru.Images/ZZZRawImage/ZZZRawImage.cs | 8 +- Aaru.Partitions/Aaru.Partitions.csproj | 94 +- Aaru.Partitions/Acorn.cs | 8 +- Aaru.Partitions/AppleMap.cs | 8 +- Aaru.Partitions/Apricot.cs | 8 +- Aaru.Partitions/Atari.cs | 60 +- Aaru.Partitions/BSD.cs | 11 +- Aaru.Partitions/DEC.cs | 8 +- Aaru.Partitions/DragonFlyBSD.cs | 8 +- Aaru.Partitions/GPT.cs | 8 +- Aaru.Partitions/Human68k.cs | 8 +- Aaru.Partitions/MBR.cs | 8 +- Aaru.Partitions/NeXT.cs | 12 +- Aaru.Partitions/PC98.cs | 8 +- Aaru.Partitions/Plan9.cs | 8 +- Aaru.Partitions/RDB.cs | 12 +- Aaru.Partitions/Register.cs | 2 +- Aaru.Partitions/RioKarma.cs | 8 +- Aaru.Partitions/SGI.cs | 20 +- Aaru.Partitions/Sun.cs | 8 +- Aaru.Partitions/UNIX.cs | 8 +- Aaru.Partitions/VTOC.cs | 12 +- Aaru.Partitions/XENIX.cs | 8 +- Aaru.Partitions/Xbox.cs | 20 +- Aaru.Settings/Aaru.Settings.csproj | 62 +- Aaru.Settings/Settings.cs | 26 +- Aaru.Tests.Devices/Aaru.Tests.Devices.csproj | 134 +- Aaru.Tests.Devices/SCSI_MMC/GdRom.cs | 4 +- Aaru.Tests/Filesystems/BeFS/APM.cs | 2 +- Aaru.Tests/Filesystems/CPM/Attache.cs | 3 +- Aaru.Tests/Filesystems/UDF/2.60/Whole.cs | 1 + Aaru.Tests/Filesystems/UFS/Whole.cs | 2 +- Aaru.Tests/Filters/MacBinary1.cs | 9 +- Aaru.Tests/Issues/263/AaruFormat.cs | 2 +- Aaru.Tests/Issues/263/Raw.cs | 2 +- Aaru.Tests/Issues/542/SimsEP.cs | 2 +- Aaru.Tests/Issues/590/m5a99fx.cs | 2 +- Aaru.Tests/Issues/590/win3.cs | 16 +- Aaru/Aaru.csproj | 158 +- Aaru/Commands/Archive/ArchiveFamily.cs | 5 +- Aaru/Commands/Archive/Info.cs | 5 +- Aaru/Commands/Device/Info.cs | 2 +- Aaru/Commands/Filesystem/ExtractFiles.cs | 7 +- Aaru/Commands/Formats.cs | 6 +- Aaru/Commands/Image/CreateSidecar.cs | 4 +- Aaru/Commands/Media/Dump.cs | 3 +- Aaru/Info.plist | 48 +- Aaru/Properties/launchSettings.json | 4 +- Aaru/Settings.StyleCop | 2 +- CONTRIBUTING.md | 318 +- Changelog.md | 411 +- NEEDED.md | 141 +- README.md | 40 +- 513 files changed, 38377 insertions(+), 48553 deletions(-) diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 95199aa10..918ab68ce 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -2,17 +2,14 @@ ## Our Pledge -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -education, socio-economic status, nationality, personal appearance, race, -religion, or sexual identity and orientation. +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making +participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, +disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards -Examples of behavior that contributes to creating a positive environment -include: +Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences @@ -22,52 +19,42 @@ include: Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or - advances +* The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take +appropriate and fair corrective action in response to any instances of unacceptable behavior. -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, +issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the +project or its community. Examples of representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed representative at an online or offline +event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at [claunia@claunia.com](mailto:claunia@claunia.com). All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team +at [claunia@claunia.com](mailto:claunia@claunia.com). All complaints will be reviewed and investigated and will result +in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain +confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be +posted separately. -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent +repercussions as determined by other members of the project's leadership. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available +at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1ccf1026d..bf8bd3b8c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,7 @@ ## Types of changes + + - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] New filesystem, test images in [url] diff --git a/Aaru.Compression/Aaru.Compression.csproj b/Aaru.Compression/Aaru.Compression.csproj index d2aa3a63e..d9a38e60f 100644 --- a/Aaru.Compression/Aaru.Compression.csproj +++ b/Aaru.Compression/Aaru.Compression.csproj @@ -58,14 +58,14 @@ true - - - - + + + + - - + + @@ -82,25 +82,25 @@ --> - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Compression/AppleRle.cs b/Aaru.Compression/AppleRle.cs index 64d59d744..3da06de8c 100644 --- a/Aaru.Compression/AppleRle.cs +++ b/Aaru.Compression/AppleRle.cs @@ -35,9 +35,7 @@ using System.IO; namespace Aaru.Compression { - /// - /// Implements the Apple version of RLE - /// + /// Implements the Apple version of RLE public class AppleRle { const uint DART_CHUNK = 20960; @@ -48,9 +46,7 @@ namespace Aaru.Compression byte _repeatedByteA, _repeatedByteB; bool _repeatMode; // true if we're repeating, false if we're just copying - /// - /// Initializes a decompressor for the specified stream - /// + /// Initializes a decompressor for the specified stream /// Stream containing the compressed data public AppleRle(Stream stream) { @@ -66,9 +62,7 @@ namespace Aaru.Compression _repeatMode = false; } - /// - /// Decompresses a byte - /// + /// Decompresses a byte /// Decompressed byte public int ProduceByte() { diff --git a/Aaru.Compression/TeleDiskLzh.cs b/Aaru.Compression/TeleDiskLzh.cs index 19d218f24..1847f531c 100644 --- a/Aaru.Compression/TeleDiskLzh.cs +++ b/Aaru.Compression/TeleDiskLzh.cs @@ -53,9 +53,7 @@ namespace Aaru.Compression * Adaptive Huffman Coding coded by Haruyasu YOSHIZAKI * Edited and translated to English by Kenji RIKITAKE */ - /// - /// Implements the TeleDisk version of LZH - /// + /// Implements the TeleDisk version of LZH public class TeleDiskLzh { const int BUFSZ = 512; @@ -136,9 +134,7 @@ namespace Aaru.Compression Tdlzhuf _tdctl; - /// - /// Implements the TeleDisk LZH algorithm over the specified stream. - /// + /// Implements the TeleDisk LZH algorithm over the specified stream. /// Stream with compressed data. public TeleDiskLzh(Stream dataStream) { @@ -163,9 +159,7 @@ namespace Aaru.Compression */ - /// - /// Decompresses data - /// + /// Decompresses data /// Buffer to write the decompressed data to /// Number of bytes to decompress /// Number of decompressed bytes diff --git a/Aaru.Core/Aaru.Core.csproj b/Aaru.Core/Aaru.Core.csproj index ef47040de..18fc960c1 100644 --- a/Aaru.Core/Aaru.Core.csproj +++ b/Aaru.Core/Aaru.Core.csproj @@ -53,105 +53,105 @@ false - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + {ccaa7afe-c094-4d82-a66d-630de8a3f545} Aaru.Console - - - + + + {D7016DF2-5A5E-4524-B40D-BA2D59576688} Aaru.Filesystems @@ -194,60 +194,59 @@ - - - - - - - - + + + + + + + LICENSE - - - - - - - - + + + + + + + + - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + diff --git a/Aaru.Core/Checksum.cs b/Aaru.Core/Checksum.cs index b68f0df99..37aae8a3a 100644 --- a/Aaru.Core/Checksum.cs +++ b/Aaru.Core/Checksum.cs @@ -39,63 +39,35 @@ using Schemas; namespace Aaru.Core { - /// - /// Enabled checksums - /// + /// Enabled checksums [Flags] public enum EnableChecksum { - /// - /// Enables Adler-32 - /// + /// Enables Adler-32 Adler32 = 1, - /// - /// Enables CRC-16 - /// - Crc16 = 2, - /// - /// Enables CRC-32 - /// - Crc32 = 4, - /// - /// Enables CRC-64 - /// - Crc64 = 8, - /// - /// Enables MD5 - /// - Md5 = 16, - /// - /// Enables SHA1 - /// - Sha1 = 64, - /// - /// Enables SHA2-256 - /// - Sha256 = 128, - /// - /// Enables SHA2-384 - /// - Sha384 = 256, - /// - /// Enables SHA2-512 - /// - Sha512 = 512, - /// - /// Enables SpamSum - /// + /// Enables CRC-16 + Crc16 = 2, + /// Enables CRC-32 + Crc32 = 4, + /// Enables CRC-64 + Crc64 = 8, + /// Enables MD5 + Md5 = 16, + /// Enables SHA1 + Sha1 = 64, + /// Enables SHA2-256 + Sha256 = 128, + /// Enables SHA2-384 + Sha384 = 256, + /// Enables SHA2-512 + Sha512 = 512, + /// Enables SpamSum SpamSum = 1024, - /// - /// Enables Fletcher-16 - /// + /// Enables Fletcher-16 Fletcher16 = 2048, - /// - /// Enables Fletcher-32 - /// + /// Enables Fletcher-32 Fletcher32 = 4096, - /// - /// Enables all known checksums - /// + /// Enables all known checksums All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | Sha1 | Sha256 | Sha384 | Sha512 | SpamSum | Fletcher16 | Fletcher32 } @@ -141,9 +113,7 @@ namespace Aaru.Core HashPacket _spamsumPkt; Thread _spamsumThread; - /// - /// Initializes an instance of the checksum operations - /// + /// Initializes an instance of the checksum operations /// Enabled checksums public Checksum(EnableChecksum enabled = EnableChecksum.All) { @@ -283,9 +253,7 @@ namespace Aaru.Core _f32Thread = new Thread(UpdateHash); } - /// - /// Updates the checksum with new data - /// + /// Updates the checksum with new data /// New data public void Update(byte[] data) { @@ -411,9 +379,7 @@ namespace Aaru.Core _f32Thread = new Thread(UpdateHash); } - /// - /// Finishes the checksums - /// + /// Finishes the checksums /// Returns the checksum results public List End() { diff --git a/Aaru.Core/Devices/Dumping/Dump.cs b/Aaru.Core/Devices/Dumping/Dump.cs index 426ec5491..d2f1658cc 100644 --- a/Aaru.Core/Devices/Dumping/Dump.cs +++ b/Aaru.Core/Devices/Dumping/Dump.cs @@ -89,7 +89,9 @@ namespace Aaru.Core.Devices.Dumping readonly ushort _retryPasses; readonly bool _retrySubchannel; readonly bool _stopOnError; + readonly bool _storeEncrypted; readonly DumpSubchannel _subchannel; + readonly bool _titleKeys; readonly bool _trim; readonly bool _useBufferedReads; bool _aborted; @@ -105,8 +107,6 @@ namespace Aaru.Core.Devices.Dumping int _speed; int _speedMultiplier; bool _supportsPlextorD8; - readonly bool _storeEncrypted; - readonly bool _titleKeys; /// Initializes dumpers /// Should resume? @@ -275,9 +275,7 @@ namespace Aaru.Core.Devices.Dumping fs.Close(); } - /// - /// Aborts the dump in progress - /// + /// Aborts the dump in progress public void Abort() { _aborted = true; diff --git a/Aaru.Core/Devices/Dumping/MMC.cs b/Aaru.Core/Devices/Dumping/MMC.cs index 75ed0727e..012ae8e41 100644 --- a/Aaru.Core/Devices/Dumping/MMC.cs +++ b/Aaru.Core/Devices/Dumping/MMC.cs @@ -428,6 +428,7 @@ namespace Aaru.Core.Devices.Dumping } } } + _dumpLog.WriteLine("Reading Disc Manufacturing Information"); sense = _dev.ReadDiscStructure(out cmdBuf, out _, MmcDiscStructureMediaType.Dvd, 0, 0, @@ -458,8 +459,7 @@ namespace Aaru.Core.Devices.Dumping sense = _dev.ScsiInquiry(out byte[] inqBuf, out _); - if(sense || - Inquiry.Decode(inqBuf)?.KreonPresent != true) + if(sense || Inquiry.Decode(inqBuf)?.KreonPresent != true) { _dumpLog.WriteLine("Dumping Xbox Game Discs requires a drive with Kreon firmware."); @@ -532,7 +532,8 @@ namespace Aaru.Core.Devices.Dumping sense = dvdDecrypt.ReadBusKey(out cmdBuf, out _, CSS_CPRM.DecodeLeadInCopyright(cmdBuf)?. - CopyrightType ?? CopyrightType.NoProtection, _dev.Timeout, out _); + CopyrightType ?? CopyrightType.NoProtection, + _dev.Timeout, out _); if(!sense) { diff --git a/Aaru.Core/Devices/Dumping/NVMe.cs b/Aaru.Core/Devices/Dumping/NVMe.cs index e7df17503..4e7587582 100644 --- a/Aaru.Core/Devices/Dumping/NVMe.cs +++ b/Aaru.Core/Devices/Dumping/NVMe.cs @@ -36,9 +36,7 @@ namespace Aaru.Core.Devices.Dumping { public partial class Dump { - /// - /// Dumps an NVMe device - /// + /// Dumps an NVMe device public void NVMe() => StoppingErrorMessage?.Invoke("NVMe devices not yet supported."); } } \ No newline at end of file diff --git a/Aaru.Core/Devices/Dumping/SCSI.cs b/Aaru.Core/Devices/Dumping/SCSI.cs index 524972983..06b83ae52 100644 --- a/Aaru.Core/Devices/Dumping/SCSI.cs +++ b/Aaru.Core/Devices/Dumping/SCSI.cs @@ -56,7 +56,7 @@ namespace Aaru.Core.Devices.Dumping if(sense) { - var decSense = Sense.Decode(senseBuf); + DecodedSense? decSense = Sense.Decode(senseBuf); if(decSense.HasValue) { diff --git a/Aaru.Core/Devices/Dumping/XGD.cs b/Aaru.Core/Devices/Dumping/XGD.cs index 26c4d1b17..ec050b188 100644 --- a/Aaru.Core/Devices/Dumping/XGD.cs +++ b/Aaru.Core/Devices/Dumping/XGD.cs @@ -327,9 +327,9 @@ namespace Aaru.Core.Devices.Dumping } AaruConsole.DebugWriteLine("Dump-media command", "Unlocked total size: {0} sectors", totalSize); - ulong blocks = totalSize + 1; + ulong blocks = totalSize + 1; - var wxRipperPfiNullable = PFI.Decode(readBuffer, MediaType.DVDROM); + PFI.PhysicalFormatInformation? wxRipperPfiNullable = PFI.Decode(readBuffer, MediaType.DVDROM); if(wxRipperPfiNullable == null) { diff --git a/Aaru.Core/Devices/Info/DeviceInfo.cs b/Aaru.Core/Devices/Info/DeviceInfo.cs index bae7d19c3..1253d9b46 100644 --- a/Aaru.Core/Devices/Info/DeviceInfo.cs +++ b/Aaru.Core/Devices/Info/DeviceInfo.cs @@ -40,21 +40,17 @@ using Aaru.Decoders.ATA; using Aaru.Decoders.DVD; using Aaru.Decoders.SCSI; using Aaru.Decryption; -using DVDDecryption = Aaru.Decryption.DVD.Dump; using Aaru.Devices; using Aaru.Helpers; +using DVDDecryption = Aaru.Decryption.DVD.Dump; using Inquiry = Aaru.CommonTypes.Structs.Devices.SCSI.Inquiry; namespace Aaru.Core.Devices.Info { - /// - /// Obtains and contains information about a device - /// + /// Obtains and contains information about a device public partial class DeviceInfo { - /// - /// Initializes an instance of this class for the specified device - /// + /// Initializes an instance of this class for the specified device /// Device public DeviceInfo(Device dev) { diff --git a/Aaru.Core/Devices/Info/Plextor.cs b/Aaru.Core/Devices/Info/Plextor.cs index 7e2da2244..4593e046a 100644 --- a/Aaru.Core/Devices/Info/Plextor.cs +++ b/Aaru.Core/Devices/Info/Plextor.cs @@ -32,134 +32,70 @@ namespace Aaru.Core.Devices.Info { - /// - /// Contains information about Plextor features - /// + /// Contains information about Plextor features public class Plextor { - /// - /// Access time limit - /// - public byte AccessTimeLimit; - /// - /// Drive supports setting book type bit for DVD+R - /// - public bool BitSetting; - /// - /// Drive supports setting book type bit for DVD+R DL - /// - public bool BitSettingDl; - /// - /// CD read speed limit - /// - public byte CdReadSpeedLimit; - /// - /// Time drive has spent reading CDs - /// - public uint CdReadTime; - /// - /// CD write speed limit - /// - public byte CdWriteSpeedLimit; - /// - /// Time drive has spent writing CDs - /// - public uint CdWriteTime; - /// - /// Total number of loaded discs - /// + /// Access time limit + public byte AccessTimeLimit; + /// Drive supports setting book type bit for DVD+R + public bool BitSetting; + /// Drive supports setting book type bit for DVD+R DL + public bool BitSettingDl; + /// CD read speed limit + public byte CdReadSpeedLimit; + /// Time drive has spent reading CDs + public uint CdReadTime; + /// CD write speed limit + public byte CdWriteSpeedLimit; + /// Time drive has spent writing CDs + public uint CdWriteTime; + /// Total number of loaded discs public ushort Discs; - /// - /// Drive supports test writing DVD+ - /// - public bool DvdPlusWriteTest; - /// - /// DVD read limit - /// - public byte DvdReadSpeedLimit; - /// - /// Time drive has spent reading DVDs - /// - public uint DvdReadTime; - /// - /// Time drive has spent writing DVDs - /// - public uint DvdWriteTime; - /// - /// Raw contents of EEPROM - /// + /// Drive supports test writing DVD+ + public bool DvdPlusWriteTest; + /// DVD read limit + public byte DvdReadSpeedLimit; + /// Time drive has spent reading DVDs + public uint DvdReadTime; + /// Time drive has spent writing DVDs + public uint DvdWriteTime; + /// Raw contents of EEPROM public byte[] Eeprom; - /// - /// Drive supports GigaRec - /// - public bool GigaRec; - /// - /// Drive will show recordable CDs as embossed - /// - public bool HidesRecordables; - /// - /// Drive will hide sessions - /// - public bool HidesSessions; - /// - /// Drive supports hiding recordable CDs and sessions - /// - public bool Hiding; - /// - /// Drive is a DVD capable drive - /// - public bool IsDvd; - /// - /// Drive supports PoweRec - /// - public bool PoweRec; - /// - /// Drive has PoweRec enabled - /// - public bool PoweRecEnabled; - /// - /// Last used PoweRec in KiB/sec - /// + /// Drive supports GigaRec + public bool GigaRec; + /// Drive will show recordable CDs as embossed + public bool HidesRecordables; + /// Drive will hide sessions + public bool HidesSessions; + /// Drive supports hiding recordable CDs and sessions + public bool Hiding; + /// Drive is a DVD capable drive + public bool IsDvd; + /// Drive supports PoweRec + public bool PoweRec; + /// Drive has PoweRec enabled + public bool PoweRecEnabled; + /// Last used PoweRec in KiB/sec public ushort PoweRecLast; - /// - /// Maximum supported PoweRec for currently inserted media in KiB/sec - /// + /// Maximum supported PoweRec for currently inserted media in KiB/sec public ushort PoweRecMax; - /// - /// Recommended supported PoweRec for currently inserted media in KiB/sec - /// + /// Recommended supported PoweRec for currently inserted media in KiB/sec public ushort PoweRecRecommendedSpeed; - /// - /// Selected supported PoweRec for currently inserted media in KiB/sec - /// + /// Selected supported PoweRec for currently inserted media in KiB/sec public ushort PoweRecSelected; - /// - /// Drive supports SecuRec - /// - public bool SecuRec; - /// - /// Drive supports SilentMode - /// - public bool SilentMode; - /// - /// Drive has SilentMode enabled - /// - public bool SilentModeEnabled; - /// - /// Drive supports SpeedRead - /// - public bool SpeedRead; - /// - /// Drive has SpeedRead enabled - /// - public bool SpeedReadEnabled; - /// - /// Drive supports VariRec - /// - public bool VariRec; - /// - /// Drive supports VariRec for DVDs - /// - public bool VariRecDvd; + /// Drive supports SecuRec + public bool SecuRec; + /// Drive supports SilentMode + public bool SilentMode; + /// Drive has SilentMode enabled + public bool SilentModeEnabled; + /// Drive supports SpeedRead + public bool SpeedRead; + /// Drive has SpeedRead enabled + public bool SpeedReadEnabled; + /// Drive supports VariRec + public bool VariRec; + /// Drive supports VariRec for DVDs + public bool VariRecDvd; } } \ No newline at end of file diff --git a/Aaru.Core/Devices/Info/Properties.cs b/Aaru.Core/Devices/Info/Properties.cs index c543e3590..f820ae818 100644 --- a/Aaru.Core/Devices/Info/Properties.cs +++ b/Aaru.Core/Devices/Info/Properties.cs @@ -44,189 +44,97 @@ namespace Aaru.Core.Devices.Info { public partial class DeviceInfo { - /// - /// Raw IDENTIFY DEVICE response - /// - public byte[] AtaIdentify { get; } - /// - /// Raw IDENTIFY PACKET DEVICE response - /// - public byte[] AtapiIdentify { get; } - /// - /// Raw INQUIRY response - /// - public byte[] ScsiInquiryData { get; } - /// - /// Decoded INQUIRY response - /// - public Inquiry? ScsiInquiry { get; } - /// - /// Response for ATA Memory Card Pass Through - /// - public AtaErrorRegistersChs? AtaMcptError { get; } - /// - /// List of raw EVPD page indexed by page number - /// - public Dictionary ScsiEvpdPages { get; } - /// - /// Decoded MODE SENSE response - /// - public Modes.DecodedMode? ScsiMode { get; } - /// - /// Raw MODE SENSE(6) response - /// - public byte[] ScsiModeSense6 { get; } - /// - /// Raw MODE SENSE(10) response - /// - public byte[] ScsiModeSense10 { get; } - /// - /// Raw GET CONFIGURATION response - /// - public byte[] MmcConfiguration { get; } - /// - /// Decoded Plextor features - /// - public Plextor PlextorFeatures { get; } - /// - /// Decoded Kreon features - /// - public KreonFeatures KreonFeatures { get; } - /// - /// Raw GET BLOCK LIMITS support - /// - public byte[] BlockLimits { get; } - /// - /// Raw density support - /// - public byte[] DensitySupport { get; } - /// - /// Decoded density support - /// - public DensitySupport.DensitySupportHeader? DensitySupportHeader { get; } - /// - /// Raw medium density support - /// - public byte[] MediumDensitySupport { get; } - /// - /// Decoded medium density support - /// + /// Raw IDENTIFY DEVICE response + public byte[] AtaIdentify { get; } + /// Raw IDENTIFY PACKET DEVICE response + public byte[] AtapiIdentify { get; } + /// Raw INQUIRY response + public byte[] ScsiInquiryData { get; } + /// Decoded INQUIRY response + public Inquiry? ScsiInquiry { get; } + /// Response for ATA Memory Card Pass Through + public AtaErrorRegistersChs? AtaMcptError { get; } + /// List of raw EVPD page indexed by page number + public Dictionary ScsiEvpdPages { get; } + /// Decoded MODE SENSE response + public Modes.DecodedMode? ScsiMode { get; } + /// Raw MODE SENSE(6) response + public byte[] ScsiModeSense6 { get; } + /// Raw MODE SENSE(10) response + public byte[] ScsiModeSense10 { get; } + /// Raw GET CONFIGURATION response + public byte[] MmcConfiguration { get; } + /// Decoded Plextor features + public Plextor PlextorFeatures { get; } + /// Decoded Kreon features + public KreonFeatures KreonFeatures { get; } + /// Raw GET BLOCK LIMITS support + public byte[] BlockLimits { get; } + /// Raw density support + public byte[] DensitySupport { get; } + /// Decoded density support + public DensitySupport.DensitySupportHeader? DensitySupportHeader { get; } + /// Raw medium density support + public byte[] MediumDensitySupport { get; } + /// Decoded medium density support public DensitySupport.MediaTypeSupportHeader? MediaTypeSupportHeader { get; } - /// - /// Raw CID registers - /// - public byte[] CID { get; } - /// - /// Raw CSD - /// - public byte[] CSD { get; } - /// - /// Raw extended CSD - /// - public byte[] ExtendedCSD { get; } - /// - /// Raw SCR registers - /// - public byte[] SCR { get; } - /// - /// Raw OCR registers - /// - public byte[] OCR { get; } - /// - /// Aaru's device type - /// - public DeviceType Type { get; } - /// - /// Device manufacturer - /// - public string Manufacturer { get; } - /// - /// Device model - /// - public string Model { get; } - /// - /// Device firmware version or revision - /// - public string FirmwareRevision { get; } - /// - /// Device serial number - /// - public string Serial { get; } - /// - /// SCSI Peripheral Device Type - /// - public PeripheralDeviceTypes ScsiType { get; } - /// - /// Is media removable from device? - /// - public bool IsRemovable { get; } - /// - /// Is device attached via USB? - /// - public bool IsUsb { get; } - /// - /// USB vendor ID - /// - public ushort UsbVendorId { get; } - /// - /// USB product ID - /// - public ushort UsbProductId { get; } - /// - /// Raw USB descriptors - /// - public byte[] UsbDescriptors { get; } - /// - /// USB manufacturer string - /// - public string UsbManufacturerString { get; } - /// - /// USB product string - /// - public string UsbProductString { get; } - /// - /// USB serial number string - /// - public string UsbSerialString { get; } - /// - /// Is device attached via FireWire? - /// - public bool IsFireWire { get; } - /// - /// FireWire's device GUID - /// - public ulong FireWireGuid { get; } - /// - /// FireWire's device model ID - /// - public uint FireWireModel { get; } - /// - /// FireWire's device model name - /// - public string FireWireModelName { get; } - /// - /// FireWire's device vendor ID - /// - public uint FireWireVendor { get; } - /// - /// FireWire's device vendor name - /// - public string FireWireVendorName { get; } - /// - /// Is device a CompactFlash device? - /// - public bool IsCompactFlash { get; } - /// - /// Is device a PCMCIA or CardBus device? - /// - public bool IsPcmcia { get; } - /// - /// PCMCIA/CardBus CIS - /// - public byte[] Cis { get; } - /// - /// MMC device CSS/CPRM Region Protection Code - /// - public CSS_CPRM.RegionalPlaybackControlState? RPC { get; } + /// Raw CID registers + public byte[] CID { get; } + /// Raw CSD + public byte[] CSD { get; } + /// Raw extended CSD + public byte[] ExtendedCSD { get; } + /// Raw SCR registers + public byte[] SCR { get; } + /// Raw OCR registers + public byte[] OCR { get; } + /// Aaru's device type + public DeviceType Type { get; } + /// Device manufacturer + public string Manufacturer { get; } + /// Device model + public string Model { get; } + /// Device firmware version or revision + public string FirmwareRevision { get; } + /// Device serial number + public string Serial { get; } + /// SCSI Peripheral Device Type + public PeripheralDeviceTypes ScsiType { get; } + /// Is media removable from device? + public bool IsRemovable { get; } + /// Is device attached via USB? + public bool IsUsb { get; } + /// USB vendor ID + public ushort UsbVendorId { get; } + /// USB product ID + public ushort UsbProductId { get; } + /// Raw USB descriptors + public byte[] UsbDescriptors { get; } + /// USB manufacturer string + public string UsbManufacturerString { get; } + /// USB product string + public string UsbProductString { get; } + /// USB serial number string + public string UsbSerialString { get; } + /// Is device attached via FireWire? + public bool IsFireWire { get; } + /// FireWire's device GUID + public ulong FireWireGuid { get; } + /// FireWire's device model ID + public uint FireWireModel { get; } + /// FireWire's device model name + public string FireWireModelName { get; } + /// FireWire's device vendor ID + public uint FireWireVendor { get; } + /// FireWire's device vendor name + public string FireWireVendorName { get; } + /// Is device a CompactFlash device? + public bool IsCompactFlash { get; } + /// Is device a PCMCIA or CardBus device? + public bool IsPcmcia { get; } + /// PCMCIA/CardBus CIS + public byte[] Cis { get; } + /// MMC device CSS/CPRM Region Protection Code + public CSS_CPRM.RegionalPlaybackControlState? RPC { get; } } } \ No newline at end of file diff --git a/Aaru.Core/Devices/Report/ATA.cs b/Aaru.Core/Devices/Report/ATA.cs index 64c057fff..b8820875d 100644 --- a/Aaru.Core/Devices/Report/ATA.cs +++ b/Aaru.Core/Devices/Report/ATA.cs @@ -41,9 +41,7 @@ namespace Aaru.Core.Devices.Report { public sealed partial class DeviceReport { - /// - /// Creates a report for media inserted into an ATA device - /// + /// Creates a report for media inserted into an ATA device /// Media report public TestedMedia ReportAtaMedia() { @@ -725,9 +723,7 @@ namespace Aaru.Core.Devices.Report return capabilities; } - /// - /// Clear serial numbers and other private fields from an IDENTIFY ATA DEVICE response - /// + /// Clear serial numbers and other private fields from an IDENTIFY ATA DEVICE response /// IDENTIFY ATA DEVICE response /// IDENTIFY ATA DEVICE response without the private fields public static byte[] ClearIdentify(byte[] buffer) diff --git a/Aaru.Core/Devices/Report/DeviceReport.cs b/Aaru.Core/Devices/Report/DeviceReport.cs index fda310476..bb9a6d420 100644 --- a/Aaru.Core/Devices/Report/DeviceReport.cs +++ b/Aaru.Core/Devices/Report/DeviceReport.cs @@ -38,9 +38,7 @@ namespace Aaru.Core.Devices.Report { readonly Device _dev; - /// - /// Initializes a device report for the specified device (must be opened) - /// + /// Initializes a device report for the specified device (must be opened) /// Device public DeviceReport(Device device) => _dev = device; } diff --git a/Aaru.Core/Devices/Report/GdRomSwapTrick.cs b/Aaru.Core/Devices/Report/GdRomSwapTrick.cs index a441ddfc8..73b203931 100644 --- a/Aaru.Core/Devices/Report/GdRomSwapTrick.cs +++ b/Aaru.Core/Devices/Report/GdRomSwapTrick.cs @@ -45,9 +45,7 @@ namespace Aaru.Core.Devices.Report { public sealed partial class DeviceReport { - /// - /// Tries and checks reading a GD-ROM disc using the swap disc trick and adds the result to a device report - /// + /// Tries and checks reading a GD-ROM disc using the swap disc trick and adds the result to a device report /// Device report public void ReportGdRomSwapTrick(ref DeviceReportV2 report) { diff --git a/Aaru.Core/Devices/Report/MMC.cs b/Aaru.Core/Devices/Report/MMC.cs index 105434137..5b7a4c496 100644 --- a/Aaru.Core/Devices/Report/MMC.cs +++ b/Aaru.Core/Devices/Report/MMC.cs @@ -71,9 +71,7 @@ namespace Aaru.Core.Devices.Report return response; } - /// - /// Creates a report for the GET CONFIGURATION response of an MMC device - /// + /// Creates a report for the GET CONFIGURATION response of an MMC device /// MMC features report public MmcFeatures ReportMmcFeatures() { @@ -574,9 +572,7 @@ namespace Aaru.Core.Devices.Report return report; } - /// - /// Creates a report for media inserted into an MMC device - /// + /// Creates a report for media inserted into an MMC device /// Expected media type name /// Try Plextor vendor commands /// Try Pioneer vendor commands diff --git a/Aaru.Core/Devices/Report/SSC.cs b/Aaru.Core/Devices/Report/SSC.cs index f91aec334..ca397e08c 100644 --- a/Aaru.Core/Devices/Report/SSC.cs +++ b/Aaru.Core/Devices/Report/SSC.cs @@ -41,9 +41,7 @@ namespace Aaru.Core.Devices.Report { public sealed partial class DeviceReport { - /// - /// Creates a report from a SCSI Sequential Commands device - /// + /// Creates a report from a SCSI Sequential Commands device /// SSC report public Ssc ReportScsiSsc() { @@ -141,9 +139,7 @@ namespace Aaru.Core.Devices.Report return report; } - /// - /// Creates a report for media inserted into an SSC device - /// + /// Creates a report for media inserted into an SSC device /// Media report public TestedSequentialMedia ReportSscMedia() { diff --git a/Aaru.Core/Devices/Report/Scsi.cs b/Aaru.Core/Devices/Report/Scsi.cs index d4a7a9da1..d31d4e638 100644 --- a/Aaru.Core/Devices/Report/Scsi.cs +++ b/Aaru.Core/Devices/Report/Scsi.cs @@ -45,9 +45,7 @@ namespace Aaru.Core.Devices.Report { public sealed partial class DeviceReport { - /// - /// Creates a report for the SCSI INQUIRY response - /// + /// Creates a report for the SCSI INQUIRY response /// SCSI report public Scsi ReportScsiInquiry() { @@ -89,9 +87,7 @@ namespace Aaru.Core.Devices.Report return inquiry; } - /// - /// Returns a list of decoded SCSI EVPD pages - /// + /// Returns a list of decoded SCSI EVPD pages /// Decoded SCSI vendor identification /// List of decoded SCSI EVPD pages public List ReportEvpdPages(string vendor) @@ -196,9 +192,7 @@ namespace Aaru.Core.Devices.Report return pageResponse; } - /// - /// Adds reports for the decoded SCSI MODE SENSE pages to a device report - /// + /// Adds reports for the decoded SCSI MODE SENSE pages to a device report /// Device report /// Returns raw MODE SENSE page 2Ah, aka CD-ROM page /// Returns decoded list of supported media types response @@ -434,9 +428,7 @@ namespace Aaru.Core.Devices.Report report.SCSI.ModeSense.ModePages = modePages; } - /// - /// Creates a report for media inserted into a SCSI device - /// + /// Creates a report for media inserted into a SCSI device /// Media report public TestedMedia ReportScsiMedia() { @@ -703,9 +695,7 @@ namespace Aaru.Core.Devices.Report return mediaTest; } - /// - /// Creates a media report for a non-removable SCSI device - /// + /// Creates a media report for a non-removable SCSI device /// Media report public TestedMedia ReportScsi() { diff --git a/Aaru.Core/Devices/Scanning/MediaScan.cs b/Aaru.Core/Devices/Scanning/MediaScan.cs index b02da641d..54a3e2e9c 100644 --- a/Aaru.Core/Devices/Scanning/MediaScan.cs +++ b/Aaru.Core/Devices/Scanning/MediaScan.cs @@ -68,9 +68,7 @@ namespace Aaru.Core.Devices.Scanning _useBufferedReads = useBufferedReads; } - /// - /// Starts a media scan - /// + /// Starts a media scan /// Media scan results /// Unknown device type public ScanResults Scan() @@ -87,9 +85,7 @@ namespace Aaru.Core.Devices.Scanning } } - /// - /// Aborts the running media scan - /// + /// Aborts the running media scan public void Abort() => _aborted = true; /// Event raised when the progress bar is not longer needed @@ -105,12 +101,12 @@ namespace Aaru.Core.Devices.Scanning /// Event raised to update the status of an indeterminate progress bar public event PulseProgressHandler PulseProgress; /// Updates lists of time taken on scanning from the specified sector - public event ScanTimeHandler ScanTime; + public event ScanTimeHandler ScanTime; /// Specified a number of blocks could not be read on scan public event ScanUnreadableHandler ScanUnreadable; /// Initializes a block map that's going to be filled with a media scan - public event InitBlockMapHandler InitBlockMap; + public event InitBlockMapHandler InitBlockMap; /// Sends the speed of scanning a specific sector - public event ScanSpeedHandler ScanSpeed; + public event ScanSpeedHandler ScanSpeed; } } \ No newline at end of file diff --git a/Aaru.Core/Entropy.cs b/Aaru.Core/Entropy.cs index fca58d86c..d94debc52 100644 --- a/Aaru.Core/Entropy.cs +++ b/Aaru.Core/Entropy.cs @@ -41,17 +41,13 @@ using Aaru.Console; namespace Aaru.Core { - /// - /// Media image entropy operations - /// + /// Media image entropy operations public sealed class Entropy { readonly bool _debug; readonly IMediaImage _inputFormat; - /// - /// Initializes an instance with the specified parameters - /// + /// Initializes an instance with the specified parameters /// Debug enabled /// Media image public Entropy(bool debug, IMediaImage inputFormat) @@ -61,21 +57,19 @@ namespace Aaru.Core } /// Event raised when a progress bar is needed - public event InitProgressHandler InitProgressEvent; + public event InitProgressHandler InitProgressEvent; /// Event raised to update the values of a determinate progress bar public event UpdateProgressHandler UpdateProgressEvent; /// Event raised when the progress bar is not longer needed - public event EndProgressHandler EndProgressEvent; + public event EndProgressHandler EndProgressEvent; /// Event raised when a progress bar is needed - public event InitProgressHandler InitProgress2Event; + public event InitProgressHandler InitProgress2Event; /// Event raised to update the values of a determinate progress bar public event UpdateProgressHandler UpdateProgress2Event; /// Event raised when the progress bar is not longer needed - public event EndProgressHandler EndProgress2Event; + public event EndProgressHandler EndProgress2Event; - /// - /// Calculates the tracks entropy - /// + /// Calculates the tracks entropy /// Checks for duplicated sectors /// Calculated entropy public EntropyResults[] CalculateTracksEntropy(bool duplicatedSectors) @@ -163,9 +157,7 @@ namespace Aaru.Core return entropyResults.ToArray(); } - /// - /// Calculates the media entropy - /// + /// Calculates the media entropy /// Checks for duplicated sectors /// Calculated entropy public EntropyResults CalculateMediaEntropy(bool duplicatedSectors) @@ -214,26 +206,16 @@ namespace Aaru.Core } } - /// - /// Entropy results - /// + /// Entropy results public struct EntropyResults { - /// - /// Track number, if applicable - /// - public uint Track; - /// - /// Entropy - /// + /// Track number, if applicable + public uint Track; + /// Entropy public double Entropy; - /// - /// Number of unique sectors - /// - public int? UniqueSectors; - /// - /// Number of total sectors - /// - public ulong Sectors; + /// Number of unique sectors + public int? UniqueSectors; + /// Number of total sectors + public ulong Sectors; } } \ No newline at end of file diff --git a/Aaru.Core/Error.cs b/Aaru.Core/Error.cs index 9e2ecba27..01ab5dbf1 100644 --- a/Aaru.Core/Error.cs +++ b/Aaru.Core/Error.cs @@ -34,14 +34,10 @@ using Aaru.CommonTypes.Interop; namespace Aaru.Core { - /// - /// Prints the description of a system error number. - /// + /// Prints the description of a system error number. public static class Error { - /// - /// Prints the description of a system error number. - /// + /// Prints the description of a system error number. /// System error number. /// Error description. public static string Print(int errno) diff --git a/Aaru.Core/Filesystems.cs b/Aaru.Core/Filesystems.cs index c2a76b056..fc1035bd3 100644 --- a/Aaru.Core/Filesystems.cs +++ b/Aaru.Core/Filesystems.cs @@ -37,9 +37,7 @@ using Aaru.CommonTypes.Interfaces; namespace Aaru.Core { - /// - /// Core filesystem operations - /// + /// Core filesystem operations public static class Filesystems { /// diff --git a/Aaru.Core/GetPluginBase.cs b/Aaru.Core/GetPluginBase.cs index a53196346..ce11b7f26 100644 --- a/Aaru.Core/GetPluginBase.cs +++ b/Aaru.Core/GetPluginBase.cs @@ -36,14 +36,10 @@ using Aaru.CommonTypes.Interfaces; namespace Aaru.Core { - /// - /// Plugin base operations - /// + /// Plugin base operations public static class GetPluginBase { - /// - /// Gets an instance with all the known plugins - /// + /// Gets an instance with all the known plugins public static PluginBase Instance { get @@ -55,7 +51,7 @@ namespace Aaru.Core IPluginRegister filesystemsRegister = new Aaru.Filesystems.Register(); IPluginRegister filtersRegister = new Filters.Register(); IPluginRegister partitionsRegister = new Aaru.Partitions.Register(); - IPluginRegister archiveRegister = new Aaru.Archives.Register(); + IPluginRegister archiveRegister = new Archives.Register(); instance.AddPlugins(checksumRegister); instance.AddPlugins(imagesRegister); @@ -68,4 +64,4 @@ namespace Aaru.Core } } } -} +} \ No newline at end of file diff --git a/Aaru.Core/ImageFormat.cs b/Aaru.Core/ImageFormat.cs index a515d003d..bdc2456e3 100644 --- a/Aaru.Core/ImageFormat.cs +++ b/Aaru.Core/ImageFormat.cs @@ -38,9 +38,7 @@ using Aaru.Console; namespace Aaru.Core { - /// - /// Core media image format operations - /// + /// Core media image format operations public static class ImageFormat { /// Detects the image plugin that recognizes the data inside a filter diff --git a/Aaru.Core/ImageInfo.cs b/Aaru.Core/ImageInfo.cs index 6cf39228e..a8946d8f7 100644 --- a/Aaru.Core/ImageInfo.cs +++ b/Aaru.Core/ImageInfo.cs @@ -56,9 +56,7 @@ using Tuple = Aaru.Decoders.PCMCIA.Tuple; namespace Aaru.Core { - /// - /// Image information operations - /// + /// Image information operations public static class ImageInfo { const string MANUFACTURER_STRING = "Manufacturer"; @@ -70,9 +68,7 @@ namespace Aaru.Core const string START_STRING = "Start"; const string END_STRING = "End"; - /// - /// Prints image information to console - /// + /// Prints image information to console /// Media image public static void PrintImageInfo(IMediaImage imageFormat) { diff --git a/Aaru.Core/Logging/ErrorLog.cs b/Aaru.Core/Logging/ErrorLog.cs index 4d7ddcc78..836848f22 100644 --- a/Aaru.Core/Logging/ErrorLog.cs +++ b/Aaru.Core/Logging/ErrorLog.cs @@ -35,9 +35,7 @@ using Aaru.Decoders.SCSI; namespace Aaru.Core.Logging { - /// - /// Logs errors - /// + /// Logs errors public sealed class ErrorLog { readonly StreamWriter _logSw; @@ -389,13 +387,14 @@ namespace Aaru.Core.Logging prettySense = prettySense.Replace("\n", " - "); _logSw.WriteLine("SCSI command {0} error: SENSE {1} ASC {2:X2}h ASCQ {3:X2}h, {4}, {5}.", command, - decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, hexSense, - prettySense); + decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, + hexSense, prettySense); } else { _logSw.WriteLine("SCSI command {0} error: SENSE {1} ASC {2:X2}h ASCQ {3:X2}h, {4}.", command, - decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, hexSense); + decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, + hexSense); } } else @@ -456,13 +455,14 @@ namespace Aaru.Core.Logging prettySense = prettySense.Replace("\n", " - "); _logSw.WriteLine("SCSI reading LBA {0} error: SENSE {1} ASC {2:X2}h ASCQ {3:X2}h, {4}, {5}.", block, - decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, hexSense, - prettySense); + decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, + hexSense, prettySense); } else { _logSw.WriteLine("SCSI reading LBA {0} error: SENSE {1} ASC {2:X2}h ASCQ {3:X2}h, {4}.", block, - decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, hexSense); + decodedSense.Value.SenseKey, decodedSense.Value.ASC, decodedSense.Value.ASCQ, + hexSense); } } else diff --git a/Aaru.Core/Logging/SubchannelLog.cs b/Aaru.Core/Logging/SubchannelLog.cs index 4f7dbd2f9..442e004f2 100644 --- a/Aaru.Core/Logging/SubchannelLog.cs +++ b/Aaru.Core/Logging/SubchannelLog.cs @@ -32,9 +32,7 @@ using Aaru.Decoders.CD; namespace Aaru.Core.Logging { - /// - /// Logs subchannel data - /// + /// Logs subchannel data public class SubchannelLog { const int SUB_SIZE = 96; @@ -66,9 +64,7 @@ namespace Aaru.Core.Logging _logSw.Close(); } - /// - /// Logs an entry to the subchannel log - /// + /// Logs an entry to the subchannel log /// Subchannel data /// Set to true if the subchannel data is raw /// First LBA read from drive to retrieve the data @@ -231,85 +227,59 @@ namespace Aaru.Core.Logging _logSw.Flush(); } - /// - /// Logs message indicating the P subchannel has been fixed - /// + /// Logs message indicating the P subchannel has been fixed /// LBA fix belongs to public void WritePFix(long lba) => WriteMessageWithPosition(lba, "fixed P subchannel using weight average."); - /// - /// Logs message indicating the R-W subchannels have been fixed - /// + /// Logs message indicating the R-W subchannels have been fixed /// LBA fix belongs to public void WriteRwFix(long lba) => WriteMessageWithPosition(lba, "fixed R-W subchannels writing empty data."); - /// - /// Logs message indicating the ADR field of the Q subchannel has been fixed - /// + /// Logs message indicating the ADR field of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQAdrFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct ADR."); - /// - /// Logs message indicating the CONTROL field of the Q subchannel has been fixed - /// + /// Logs message indicating the CONTROL field of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQCtrlFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct CONTROL."); - /// - /// Logs message indicating the ZERO field of the Q subchannel has been fixed - /// + /// Logs message indicating the ZERO field of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQZeroFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct ZERO."); - /// - /// Logs message indicating the TNO field of the Q subchannel has been fixed - /// + /// Logs message indicating the TNO field of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQTnoFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct TNO."); - /// - /// Logs message indicating the INDEX field of the Q subchannel has been fixed - /// + /// Logs message indicating the INDEX field of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQIndexFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct INDEX."); - /// - /// Logs message indicating the relative position of the Q subchannel has been fixed - /// + /// Logs message indicating the relative position of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQRelPosFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct RELATIVE POSITION."); - /// - /// Logs message indicating the absolute position of the Q subchannel has been fixed - /// + /// Logs message indicating the absolute position of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQAbsPosFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct ABSOLUTE POSITION."); - /// - /// Logs message indicating the CRC of the Q subchannel has been fixed - /// + /// Logs message indicating the CRC of the Q subchannel has been fixed /// LBA fix belongs to public void WriteQCrcFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with correct CRC."); - /// - /// Logs message indicating the the Q subchannel has been fixed with a known good MCN - /// + /// Logs message indicating the the Q subchannel has been fixed with a known good MCN /// LBA fix belongs to public void WriteQMcnFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with known good MCN."); - /// - /// Logs message indicating the the Q subchannel has been fixed with a known good ISRC - /// + /// Logs message indicating the the Q subchannel has been fixed with a known good ISRC /// LBA fix belongs to public void WriteQIsrcFix(long lba) => WriteMessageWithPosition(lba, "fixed Q subchannel with known good ISRC."); - /// - /// Logs a message with a specified position - /// + /// Logs a message with a specified position /// LBA position /// Message to log public void WriteMessageWithPosition(long lba, string message) diff --git a/Aaru.Core/Media/CompactDisc.cs b/Aaru.Core/Media/CompactDisc.cs index 01d4e87bd..c2dd98ef9 100644 --- a/Aaru.Core/Media/CompactDisc.cs +++ b/Aaru.Core/Media/CompactDisc.cs @@ -41,9 +41,7 @@ using Aaru.Helpers; namespace Aaru.Core.Media { - /// - /// Operations over CD based media - /// + /// Operations over CD based media public static class CompactDisc { /// Writes subchannel data to an image diff --git a/Aaru.Core/Media/Detection/MMC.cs b/Aaru.Core/Media/Detection/MMC.cs index 1b687b06f..54d04c54b 100644 --- a/Aaru.Core/Media/Detection/MMC.cs +++ b/Aaru.Core/Media/Detection/MMC.cs @@ -51,9 +51,7 @@ using DMI = Aaru.Decoders.Xbox.DMI; namespace Aaru.Core.Media.Detection { - /// - /// Detects media type for MMC class devices - /// + /// Detects media type for MMC class devices public static class MMC { /// SHA256 of PlayStation 2 boot sectors, seen in PAL discs diff --git a/Aaru.Core/Media/Info/CompactDisc.cs b/Aaru.Core/Media/Info/CompactDisc.cs index 4b83a5bbd..ae0016953 100644 --- a/Aaru.Core/Media/Info/CompactDisc.cs +++ b/Aaru.Core/Media/Info/CompactDisc.cs @@ -45,9 +45,7 @@ using Device = Aaru.Database.Models.Device; namespace Aaru.Core.Media.Info { - /// - /// Core operations for retrieving information about CD based media - /// + /// Core operations for retrieving information about CD based media public static class CompactDisc { /// Gets the offset bytes from a Compact Disc diff --git a/Aaru.Core/Media/Info/ScsiInfo.cs b/Aaru.Core/Media/Info/ScsiInfo.cs index 9207c95e3..e38ea66bc 100644 --- a/Aaru.Core/Media/Info/ScsiInfo.cs +++ b/Aaru.Core/Media/Info/ScsiInfo.cs @@ -53,14 +53,10 @@ using Inquiry = Aaru.CommonTypes.Structs.Devices.SCSI.Inquiry; namespace Aaru.Core.Media.Info { - /// - /// Retrieves information from a SCSI device - /// + /// Retrieves information from a SCSI device public sealed class ScsiInfo { - /// - /// Initializes this class with the specific device, and fills in the information - /// + /// Initializes this class with the specific device, and fills in the information /// Device public ScsiInfo(Device dev) { @@ -1499,281 +1495,143 @@ namespace Aaru.Core.Media.Info MediaType = tmpType; } - /// - /// Decoded DVD Pre-Recorded Information - /// - public PRI.PreRecordedInformation? DecodedDvdPrePitInformation { get; } - /// - /// Decoded recordable DVD Physical Format Information - /// - public PFI.PhysicalFormatInformation? DecodedDvdrPfi { get; } - /// - /// Raw media serial number - /// - public byte[] MediaSerialNumber { get; } - /// - /// Raw Xbox security sectors - /// - public byte[] XboxSecuritySector { get; } - /// - /// Decoded Xbox security sectors - /// - public SS.SecuritySector? DecodedXboxSecuritySector { get; } - /// - /// Information about an XGD, XGD2 or XGD3 media - /// - public XgdInfo XgdInfo { get; } - /// - /// MMC drive raw GET CONFIGURATION - /// - public byte[] MmcConfiguration { get; } - /// - /// Raw recognized format layers - /// - public byte[] RecognizedFormatLayers { get; } - /// - /// Raw write protection status - /// - public byte[] WriteProtectionStatus { get; } - /// - /// Raw DVD Physical Format Information - /// - public byte[] DvdPfi { get; } - /// - /// Decoded DVD Physical Format Information - /// - public PFI.PhysicalFormatInformation? DecodedPfi { get; } - /// - /// Raw DVD Disc Manufacturing Information - /// - public byte[] DvdDmi { get; } - /// - /// Raw DVD Copyright Management Information - /// - public byte[] DvdCmi { get; } - /// - /// Raw DVD Burst Cutting Area - /// - public byte[] DvdBca { get; } - /// - /// Raw DVD AACS information - /// - public byte[] DvdAacs { get; } - /// - /// Raw DVD-RAM Disc Definition Structure - /// - public byte[] DvdRamDds { get; } - /// - /// Raw DVD-RAM Cartridge Status - /// - public byte[] DvdRamCartridgeStatus { get; } - /// - /// Raw DVD-RAM Spare Area Information - /// - public byte[] DvdRamSpareArea { get; } - /// - /// Raw DVD-R(W) Last Border-Out RMD - /// - public byte[] LastBorderOutRmd { get; } - /// - /// Raw DVD-R(W) Pre-Recorded Information - /// - public byte[] DvdPreRecordedInfo { get; } - /// - /// Raw DVD-R Media ID - /// - public byte[] DvdrMediaIdentifier { get; } - /// - /// Raw recordable DVD Physical Format Information - /// - public byte[] DvdrPhysicalInformation { get; } - /// - /// Raw DVD+R(W) ADIP - /// - public byte[] DvdPlusAdip { get; } - /// - /// Raw DVD+R(W) Disc Control Blocks - /// - public byte[] DvdPlusDcb { get; } - /// - /// Raw HD DVD Copyright Management Information - /// - public byte[] HddvdCopyrightInformation { get; } - /// - /// Raw HD DVD-R Medium Status - /// - public byte[] HddvdrMediumStatus { get; } - /// - /// Raw HD DVD-R(W) Last Border-Out RMD - /// - public byte[] HddvdrLastRmd { get; } - /// - /// Raw DVD-R(W) Layer Capacity - /// - public byte[] DvdrLayerCapacity { get; } - /// - /// Raw DVD-R DL Middle Zone start - /// - public byte[] DvdrDlMiddleZoneStart { get; } - /// - /// Raw DVD-R DL Jump Interval size - /// - public byte[] DvdrDlJumpIntervalSize { get; } - /// - /// Raw DVD-R DL Manual Layer Jump Start LBA - /// - public byte[] DvdrDlManualLayerJumpStartLba { get; } - /// - /// Raw DVD-R DL Remap Anchor Point - /// - public byte[] DvdrDlRemapAnchorPoint { get; } - /// - /// Raw Blu-ray Disc Information - /// - public byte[] BlurayDiscInformation { get; } - /// - /// Raw Blu-ray PAC - /// - public byte[] BlurayPac { get; } - /// - /// Raw Blu-ray Burst Cutting Area - /// - public byte[] BlurayBurstCuttingArea { get; } - /// - /// Raw Blu-ray Disc Definition Structure - /// - public byte[] BlurayDds { get; } - /// - /// Raw Blu-ray Cartridge Status - /// - public byte[] BlurayCartridgeStatus { get; } - /// - /// Raw Blu-ray Spare Area Information - /// - public byte[] BluraySpareAreaInformation { get; } - /// - /// Raw Blu-ray DFL - /// - public byte[] BlurayRawDfl { get; } - /// - /// Raw Blu-ray Pseudo OverWrite Resources - /// - public byte[] BlurayPowResources { get; } - /// - /// Raw READ TOC response - /// - public byte[] Toc { get; } - /// - /// Raw READ ATIP response - /// - public byte[] Atip { get; } - /// - /// Raw READ DISC INFORMATION response - /// - public byte[] DiscInformation { get; } - /// - /// Raw READ SESSION response - /// - public byte[] Session { get; } - /// - /// Raw READ FULL TOC response - /// - public byte[] RawToc { get; } - /// - /// Raw READ PMA response - /// - public byte[] Pma { get; } - /// - /// Raw Lead-In's CD-TEXT response - /// - public byte[] CdTextLeadIn { get; } - /// - /// Decoded READ TOC response - /// - public TOC.CDTOC? DecodedToc { get; } - /// - /// Decoded READ ATIP response - /// - public ATIP.CDATIP DecodedAtip { get; } - /// - /// Decoded READ SESSION response - /// - public Session.CDSessionInfo? DecodedSession { get; } - /// - /// Decoded READ FULL TOC response - /// - public FullTOC.CDFullTOC? FullToc { get; } - /// - /// Decoded Lead-In CD-TEXT response - /// - public CDTextOnLeadIn.CDText? DecodedCdTextLeadIn { get; } - /// - /// Raw Blu-ray track resources - /// - public byte[] BlurayTrackResources { get; } - /// - /// Decoded Blu-ray Disc Information - /// - public DiscInformation.StandardDiscInformation? DecodedDiscInformation { get; } - /// - /// Decoded Media Catalogue Number - /// - public string Mcn { get; } - /// - /// List of decoded track ISRCs - /// - public Dictionary Isrcs { get; } - /// - /// Set if media is inserted in drive - /// - public bool MediaInserted { get; } - /// - /// Detected media type - /// - public MediaType MediaType { get; } - /// - /// Device information - /// - public DeviceInfo DeviceInfo { get; } - /// - /// Raw READ CAPACITY(10) response - /// - public byte[] ReadCapacity { get; } - /// - /// Number of blocks in media - /// - public ulong Blocks { get; } - /// - /// Logical block size - /// - public uint BlockSize { get; } - /// - /// Raw READ CAPACITY(16) response - /// - public byte[] ReadCapacity16 { get; } - /// - /// Raw SSC Density support - /// - public byte[] DensitySupport { get; } - /// - /// Decoded SSC Density support - /// - public DensitySupport.DensitySupportHeader? DensitySupportHeader { get; } - /// - /// Raw SSC media support - /// - public byte[] MediaTypeSupport { get; } - /// - /// Decoded SSC media support - /// - public DensitySupport.MediaTypeSupportHeader? MediaTypeSupportHeader { get; } - /// - /// Raw data from DVD sector Copyright Management Information - /// - public byte[] DvdSectorCmi { get; } - /// - /// Raw DVD Disc Key - /// - public byte[] DvdDiscKey { get; } + /// Decoded DVD Pre-Recorded Information + public PRI.PreRecordedInformation? DecodedDvdPrePitInformation { get; } + /// Decoded recordable DVD Physical Format Information + public PFI.PhysicalFormatInformation? DecodedDvdrPfi { get; } + /// Raw media serial number + public byte[] MediaSerialNumber { get; } + /// Raw Xbox security sectors + public byte[] XboxSecuritySector { get; } + /// Decoded Xbox security sectors + public SS.SecuritySector? DecodedXboxSecuritySector { get; } + /// Information about an XGD, XGD2 or XGD3 media + public XgdInfo XgdInfo { get; } + /// MMC drive raw GET CONFIGURATION + public byte[] MmcConfiguration { get; } + /// Raw recognized format layers + public byte[] RecognizedFormatLayers { get; } + /// Raw write protection status + public byte[] WriteProtectionStatus { get; } + /// Raw DVD Physical Format Information + public byte[] DvdPfi { get; } + /// Decoded DVD Physical Format Information + public PFI.PhysicalFormatInformation? DecodedPfi { get; } + /// Raw DVD Disc Manufacturing Information + public byte[] DvdDmi { get; } + /// Raw DVD Copyright Management Information + public byte[] DvdCmi { get; } + /// Raw DVD Burst Cutting Area + public byte[] DvdBca { get; } + /// Raw DVD AACS information + public byte[] DvdAacs { get; } + /// Raw DVD-RAM Disc Definition Structure + public byte[] DvdRamDds { get; } + /// Raw DVD-RAM Cartridge Status + public byte[] DvdRamCartridgeStatus { get; } + /// Raw DVD-RAM Spare Area Information + public byte[] DvdRamSpareArea { get; } + /// Raw DVD-R(W) Last Border-Out RMD + public byte[] LastBorderOutRmd { get; } + /// Raw DVD-R(W) Pre-Recorded Information + public byte[] DvdPreRecordedInfo { get; } + /// Raw DVD-R Media ID + public byte[] DvdrMediaIdentifier { get; } + /// Raw recordable DVD Physical Format Information + public byte[] DvdrPhysicalInformation { get; } + /// Raw DVD+R(W) ADIP + public byte[] DvdPlusAdip { get; } + /// Raw DVD+R(W) Disc Control Blocks + public byte[] DvdPlusDcb { get; } + /// Raw HD DVD Copyright Management Information + public byte[] HddvdCopyrightInformation { get; } + /// Raw HD DVD-R Medium Status + public byte[] HddvdrMediumStatus { get; } + /// Raw HD DVD-R(W) Last Border-Out RMD + public byte[] HddvdrLastRmd { get; } + /// Raw DVD-R(W) Layer Capacity + public byte[] DvdrLayerCapacity { get; } + /// Raw DVD-R DL Middle Zone start + public byte[] DvdrDlMiddleZoneStart { get; } + /// Raw DVD-R DL Jump Interval size + public byte[] DvdrDlJumpIntervalSize { get; } + /// Raw DVD-R DL Manual Layer Jump Start LBA + public byte[] DvdrDlManualLayerJumpStartLba { get; } + /// Raw DVD-R DL Remap Anchor Point + public byte[] DvdrDlRemapAnchorPoint { get; } + /// Raw Blu-ray Disc Information + public byte[] BlurayDiscInformation { get; } + /// Raw Blu-ray PAC + public byte[] BlurayPac { get; } + /// Raw Blu-ray Burst Cutting Area + public byte[] BlurayBurstCuttingArea { get; } + /// Raw Blu-ray Disc Definition Structure + public byte[] BlurayDds { get; } + /// Raw Blu-ray Cartridge Status + public byte[] BlurayCartridgeStatus { get; } + /// Raw Blu-ray Spare Area Information + public byte[] BluraySpareAreaInformation { get; } + /// Raw Blu-ray DFL + public byte[] BlurayRawDfl { get; } + /// Raw Blu-ray Pseudo OverWrite Resources + public byte[] BlurayPowResources { get; } + /// Raw READ TOC response + public byte[] Toc { get; } + /// Raw READ ATIP response + public byte[] Atip { get; } + /// Raw READ DISC INFORMATION response + public byte[] DiscInformation { get; } + /// Raw READ SESSION response + public byte[] Session { get; } + /// Raw READ FULL TOC response + public byte[] RawToc { get; } + /// Raw READ PMA response + public byte[] Pma { get; } + /// Raw Lead-In's CD-TEXT response + public byte[] CdTextLeadIn { get; } + /// Decoded READ TOC response + public TOC.CDTOC? DecodedToc { get; } + /// Decoded READ ATIP response + public ATIP.CDATIP DecodedAtip { get; } + /// Decoded READ SESSION response + public Session.CDSessionInfo? DecodedSession { get; } + /// Decoded READ FULL TOC response + public FullTOC.CDFullTOC? FullToc { get; } + /// Decoded Lead-In CD-TEXT response + public CDTextOnLeadIn.CDText? DecodedCdTextLeadIn { get; } + /// Raw Blu-ray track resources + public byte[] BlurayTrackResources { get; } + /// Decoded Blu-ray Disc Information + public DiscInformation.StandardDiscInformation? DecodedDiscInformation { get; } + /// Decoded Media Catalogue Number + public string Mcn { get; } + /// List of decoded track ISRCs + public Dictionary Isrcs { get; } + /// Set if media is inserted in drive + public bool MediaInserted { get; } + /// Detected media type + public MediaType MediaType { get; } + /// Device information + public DeviceInfo DeviceInfo { get; } + /// Raw READ CAPACITY(10) response + public byte[] ReadCapacity { get; } + /// Number of blocks in media + public ulong Blocks { get; } + /// Logical block size + public uint BlockSize { get; } + /// Raw READ CAPACITY(16) response + public byte[] ReadCapacity16 { get; } + /// Raw SSC Density support + public byte[] DensitySupport { get; } + /// Decoded SSC Density support + public DensitySupport.DensitySupportHeader? DensitySupportHeader { get; } + /// Raw SSC media support + public byte[] MediaTypeSupport { get; } + /// Decoded SSC media support + public DensitySupport.MediaTypeSupportHeader? MediaTypeSupportHeader { get; } + /// Raw data from DVD sector Copyright Management Information + public byte[] DvdSectorCmi { get; } + /// Raw DVD Disc Key + public byte[] DvdDiscKey { get; } } } \ No newline at end of file diff --git a/Aaru.Core/Media/Info/XgdInfo.cs b/Aaru.Core/Media/Info/XgdInfo.cs index 9870dc956..31ccd778a 100644 --- a/Aaru.Core/Media/Info/XgdInfo.cs +++ b/Aaru.Core/Media/Info/XgdInfo.cs @@ -32,34 +32,20 @@ namespace Aaru.Core.Media.Info { - /// - /// Information about an XGD, XGD2 or XGD3 media. - /// + /// Information about an XGD, XGD2 or XGD3 media. public sealed class XgdInfo { - /// - /// Size of the game partition - /// + /// Size of the game partition public ulong GameSize; - /// - /// Size of layer 0 of the video partition - /// + /// Size of layer 0 of the video partition public ulong L0Video; - /// - /// Size of layer 1 of the video partition - /// + /// Size of layer 1 of the video partition public ulong L1Video; - /// - /// Real layer break - /// + /// Real layer break public ulong LayerBreak; - /// - /// Size of the middle zone - /// + /// Size of the middle zone public ulong MiddleZone; - /// - /// Total size of media - /// + /// Total size of media public ulong TotalSize; } } \ No newline at end of file diff --git a/Aaru.Core/Options.cs b/Aaru.Core/Options.cs index 3275f9358..eba8c9811 100644 --- a/Aaru.Core/Options.cs +++ b/Aaru.Core/Options.cs @@ -36,14 +36,10 @@ using System.Text; namespace Aaru.Core { - /// - /// Option parsing - /// + /// Option parsing public static class Options { - /// - /// Parses a string with options - /// + /// Parses a string with options /// Options string /// Options name-value dictionary public static Dictionary Parse(string options) diff --git a/Aaru.Core/PrintScsiModePages.cs b/Aaru.Core/PrintScsiModePages.cs index 19667ba48..114f1d60f 100644 --- a/Aaru.Core/PrintScsiModePages.cs +++ b/Aaru.Core/PrintScsiModePages.cs @@ -37,14 +37,10 @@ using Aaru.Helpers; namespace Aaru.Core { - /// - /// Prints all SCSI MODE pages - /// + /// Prints all SCSI MODE pages public static class PrintScsiModePages { - /// - /// Prints all SCSI MODE pages - /// + /// Prints all SCSI MODE pages /// Decoded SCSI MODE SENSE /// SCSI Peripheral Type /// SCSI vendor identification diff --git a/Aaru.Core/Remote.cs b/Aaru.Core/Remote.cs index f45aa83e4..dff29e8f6 100644 --- a/Aaru.Core/Remote.cs +++ b/Aaru.Core/Remote.cs @@ -111,9 +111,7 @@ namespace Aaru.Core submitThread.Start(); } - /// - /// Updates the main database - /// + /// Updates the main database /// If true creates the database from scratch, otherwise updates an existing database public static void UpdateMainDatabase(bool create) { diff --git a/Aaru.Core/Sidecar/BlockTape.cs b/Aaru.Core/Sidecar/BlockTape.cs index 49f11b175..43b2b4576 100644 --- a/Aaru.Core/Sidecar/BlockTape.cs +++ b/Aaru.Core/Sidecar/BlockTape.cs @@ -36,9 +36,7 @@ using Schemas; namespace Aaru.Core { - /// - /// Sidecar operations - /// + /// Sidecar operations public sealed partial class Sidecar { /// Creates a metadata sidecar for a block tape (e.g. scsi streaming) @@ -116,8 +114,8 @@ namespace Aaru.Core }; const uint sectorsToRead = 512; - ulong sectors = (ulong)_fs.Length / blockSize; - ulong doneSectors = 0; + ulong sectors = (ulong)_fs.Length / blockSize; + ulong doneSectors = 0; InitProgress2(); diff --git a/Aaru.Core/Sidecar/Events.cs b/Aaru.Core/Sidecar/Events.cs index f07bc8a0b..5230ac5c1 100644 --- a/Aaru.Core/Sidecar/Events.cs +++ b/Aaru.Core/Sidecar/Events.cs @@ -37,19 +37,19 @@ namespace Aaru.Core public sealed partial class Sidecar { /// Initializes a progress indicator (e.g. makes a progress bar visible) - public event InitProgressHandler InitProgressEvent; + public event InitProgressHandler InitProgressEvent; /// Updates a progress indicator with text - public event UpdateProgressHandler UpdateProgressEvent; + public event UpdateProgressHandler UpdateProgressEvent; /// Uninitializes a progress indicator (e.g. adds a newline to the console) - public event EndProgressHandler EndProgressEvent; + public event EndProgressHandler EndProgressEvent; /// Initializes a secondary progress indicator (e.g. makes a progress bar visible) - public event InitProgressHandler2 InitProgressEvent2; + public event InitProgressHandler2 InitProgressEvent2; /// Event raised to update the values of a determinate progress bar public event UpdateProgressHandler2 UpdateProgressEvent2; /// Event raised when the progress bar is not longer needed - public event EndProgressHandler2 EndProgressEvent2; + public event EndProgressHandler2 EndProgressEvent2; /// Updates a status indicator - public event UpdateStatusHandler UpdateStatusEvent; + public event UpdateStatusHandler UpdateStatusEvent; /// Initializes a progress indicator (e.g. makes a progress bar visible) public void InitProgress() => InitProgressEvent?.Invoke(); diff --git a/Aaru.Core/Sidecar/Sidecar.cs b/Aaru.Core/Sidecar/Sidecar.cs index 8fb7e500d..333676e5a 100644 --- a/Aaru.Core/Sidecar/Sidecar.cs +++ b/Aaru.Core/Sidecar/Sidecar.cs @@ -56,9 +56,7 @@ namespace Aaru.Core FileStream _fs; CICMMetadataType _sidecar; - /// - /// Initializes a new instance of this class - /// + /// Initializes a new instance of this class public Sidecar() { _plugins = GetPluginBase.Instance; @@ -170,9 +168,7 @@ namespace Aaru.Core return _sidecar; } - /// - /// Aborts sidecar running operation - /// + /// Aborts sidecar running operation public void Abort() { UpdateStatus("Aborting..."); diff --git a/Aaru.Core/Statistics.cs b/Aaru.Core/Statistics.cs index 5ae3d4d7e..e5a70dbb7 100644 --- a/Aaru.Core/Statistics.cs +++ b/Aaru.Core/Statistics.cs @@ -627,8 +627,8 @@ namespace Aaru.Core { dto.Filters = new List(); - foreach(string nvs in ctx.Filters.Where(c => !c.Synchronized).Select(c => c.Name).Distinct() - ) + foreach(string nvs in ctx.Filters.Where(c => !c.Synchronized).Select(c => c.Name). + Distinct()) dto.Filters.Add(new NameValueStats { name = nvs, @@ -868,8 +868,8 @@ namespace Aaru.Core } if(ctx.Filters.Any(c => !c.Synchronized)) - foreach(string nvs in ctx.Filters.Where(c => !c.Synchronized).Select(c => c.Name).Distinct() - ) + foreach(string nvs in ctx.Filters.Where(c => !c.Synchronized).Select(c => c.Name). + Distinct()) { Filter existing = ctx.Filters.FirstOrDefault(c => c.Synchronized && c.Name == nvs) ?? new Filter diff --git a/Aaru.Database/Aaru.Database.csproj b/Aaru.Database/Aaru.Database.csproj index 5b866d1ba..0ef4291c9 100644 --- a/Aaru.Database/Aaru.Database.csproj +++ b/Aaru.Database/Aaru.Database.csproj @@ -53,7 +53,7 @@ false - + @@ -61,134 +61,134 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Database/Context.cs b/Aaru.Database/Context.cs index 8b4a81c30..c9643af7e 100644 --- a/Aaru.Database/Context.cs +++ b/Aaru.Database/Context.cs @@ -36,92 +36,52 @@ using Microsoft.EntityFrameworkCore; namespace Aaru.Database { /// - /// - /// Database context - /// + /// Database context public sealed class AaruContext : DbContext { /// - /// - /// Creates a database context with the specified options - /// + /// Creates a database context with the specified options /// Options public AaruContext(DbContextOptions options) : base(options) {} - /// - /// List of known devices - /// - public DbSet Devices { get; set; } - /// - /// List of local device reports - /// - public DbSet Reports { get; set; } - /// - /// Command usage statistics - /// - public DbSet Commands { get; set; } - /// - /// Statistics for found filesystems - /// - public DbSet Filesystems { get; set; } - /// - /// Statistics for used filters - /// - public DbSet Filters { get; set; } - /// - /// Statistics for media image formats - /// - public DbSet MediaFormats { get; set; } - /// - /// Statistics for partitioning schemes - /// - public DbSet Partitions { get; set; } - /// - /// Statistics for media types - /// - public DbSet Medias { get; set; } - /// - /// Statistics for devices seen using commands - /// - public DbSet SeenDevices { get; set; } - /// - /// Statistics for operating systems - /// - public DbSet OperatingSystems { get; set; } - /// - /// Statistics for used Aaru versions - /// - public DbSet Versions { get; set; } - /// - /// List of known USB vendors - /// - public DbSet UsbVendors { get; set; } - /// - /// List of known USB products - /// - public DbSet UsbProducts { get; set; } - /// - /// List of CD reading offsets - /// - public DbSet CdOffsets { get; set; } - /// - /// Statistics of remote applications - /// - public DbSet RemoteApplications { get; set; } - /// - /// Statistics of remote architectures - /// - public DbSet RemoteArchitectures { get; set; } - /// - /// Statistics of remote operating systems - /// + /// List of known devices + public DbSet Devices { get; set; } + /// List of local device reports + public DbSet Reports { get; set; } + /// Command usage statistics + public DbSet Commands { get; set; } + /// Statistics for found filesystems + public DbSet Filesystems { get; set; } + /// Statistics for used filters + public DbSet Filters { get; set; } + /// Statistics for media image formats + public DbSet MediaFormats { get; set; } + /// Statistics for partitioning schemes + public DbSet Partitions { get; set; } + /// Statistics for media types + public DbSet Medias { get; set; } + /// Statistics for devices seen using commands + public DbSet SeenDevices { get; set; } + /// Statistics for operating systems + public DbSet OperatingSystems { get; set; } + /// Statistics for used Aaru versions + public DbSet Versions { get; set; } + /// List of known USB vendors + public DbSet UsbVendors { get; set; } + /// List of known USB products + public DbSet UsbProducts { get; set; } + /// List of CD reading offsets + public DbSet CdOffsets { get; set; } + /// Statistics of remote applications + public DbSet RemoteApplications { get; set; } + /// Statistics of remote architectures + public DbSet RemoteArchitectures { get; set; } + /// Statistics of remote operating systems public DbSet RemoteOperatingSystems { get; set; } // Note: If table does not appear check that last migration has been REALLY added to the project - /// - /// Creates a database context with the database in the specified path - /// + /// Creates a database context with the database in the specified path /// Path to database file /// Database context public static AaruContext Create(string dbPath) diff --git a/Aaru.Database/ContextFactory.cs b/Aaru.Database/ContextFactory.cs index 3e90e35e2..27622405d 100644 --- a/Aaru.Database/ContextFactory.cs +++ b/Aaru.Database/ContextFactory.cs @@ -35,15 +35,11 @@ using Microsoft.EntityFrameworkCore.Design; namespace Aaru.Database { /// - /// - /// Database context factory, for design time - /// + /// Database context factory, for design time public class AaruContextFactory : IDesignTimeDbContextFactory { /// - /// - /// Creates a database context - /// + /// Creates a database context /// Ignored parameters /// A database context public AaruContext CreateDbContext(string[] args) => AaruContext.Create("aaru.db"); diff --git a/Aaru.Database/Models/BaseModel.cs b/Aaru.Database/Models/BaseModel.cs index aced6e42e..a18f9ec89 100644 --- a/Aaru.Database/Models/BaseModel.cs +++ b/Aaru.Database/Models/BaseModel.cs @@ -34,14 +34,10 @@ using System.ComponentModel.DataAnnotations; namespace Aaru.Database.Models { - /// - /// Base database model - /// + /// Base database model public abstract class BaseModel { - /// - /// Database ID - /// + /// Database ID [Key] public int Id { get; set; } } diff --git a/Aaru.Database/Models/BaseOperatingSystem.cs b/Aaru.Database/Models/BaseOperatingSystem.cs index 275b95f0c..8c106d69b 100644 --- a/Aaru.Database/Models/BaseOperatingSystem.cs +++ b/Aaru.Database/Models/BaseOperatingSystem.cs @@ -33,26 +33,16 @@ namespace Aaru.Database.Models { /// - /// - /// Operating system statistics - /// + /// Operating system statistics public abstract class BaseOperatingSystem : BaseModel { - /// - /// Operating system name - /// - public string Name { get; set; } - /// - /// Operating system version - /// - public string Version { get; set; } - /// - /// Has already been synchronized with Aaru's server - /// - public bool Synchronized { get; set; } - /// - /// Statistical count - /// - public ulong Count { get; set; } + /// Operating system name + public string Name { get; set; } + /// Operating system version + public string Version { get; set; } + /// Has already been synchronized with Aaru's server + public bool Synchronized { get; set; } + /// Statistical count + public ulong Count { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/CdOffset.cs b/Aaru.Database/Models/CdOffset.cs index 271fd1296..9a56910ae 100644 --- a/Aaru.Database/Models/CdOffset.cs +++ b/Aaru.Database/Models/CdOffset.cs @@ -35,19 +35,13 @@ using System; namespace Aaru.Database.Models { /// - /// - /// CD read offset - /// + /// CD read offset public class CdOffset : CommonTypes.Metadata.CdOffset { - /// - /// Builds an empty CD read offset - /// + /// Builds an empty CD read offset public CdOffset() {} - /// - /// Builds a CD read offset with the specified parameters - /// + /// Builds a CD read offset with the specified parameters /// Manufacturer /// Model /// Read offset @@ -63,9 +57,7 @@ namespace Aaru.Database.Models AddedWhen = ModifiedWhen = DateTime.UtcNow; } - /// - /// Builds a CD read offset from the metadata type - /// + /// Builds a CD read offset from the metadata type /// Read offset metadata public CdOffset(CommonTypes.Metadata.CdOffset offset) { @@ -77,17 +69,11 @@ namespace Aaru.Database.Models AddedWhen = ModifiedWhen = DateTime.UtcNow; } - /// - /// Database ID - /// - public int Id { get; set; } - /// - /// Date when model has been added to the database - /// - public DateTime AddedWhen { get; set; } - /// - /// Date when model was last modified - /// + /// Database ID + public int Id { get; set; } + /// Date when model has been added to the database + public DateTime AddedWhen { get; set; } + /// Date when model was last modified public DateTime ModifiedWhen { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/Command.cs b/Aaru.Database/Models/Command.cs index 37f1424aa..1d82235dc 100644 --- a/Aaru.Database/Models/Command.cs +++ b/Aaru.Database/Models/Command.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Command statistics. - /// + /// Command statistics. public class Command : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/Device.cs b/Aaru.Database/Models/Device.cs index 70f65e719..a5624fe72 100644 --- a/Aaru.Database/Models/Device.cs +++ b/Aaru.Database/Models/Device.cs @@ -37,19 +37,13 @@ using Aaru.CommonTypes.Metadata; namespace Aaru.Database.Models { - /// - /// Known device - /// + /// Known device public class Device : DeviceReportV2 { - /// - /// Builds an empty device - /// + /// Builds an empty device public Device() => LastSynchronized = DateTime.UtcNow; - /// - /// Builds a device from a device report - /// + /// Builds a device from a device report /// Device report [SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] public Device(DeviceReportV2 report) @@ -71,20 +65,14 @@ namespace Aaru.Database.Models GdRomSwapDiscCapabilities = report.GdRomSwapDiscCapabilities; } - /// - /// When this known device was last synchronized with the server - /// + /// When this known device was last synchronized with the server public DateTime LastSynchronized { get; set; } - /// - /// Optimal number of blocks to read at once - /// + /// Optimal number of blocks to read at once [DefaultValue(0)] public int OptimalMultipleSectorsRead { get; set; } - /// - /// Can read GD-ROM using swap trick? - /// + /// Can read GD-ROM using swap trick? [DefaultValue(null)] public bool? CanReadGdRomUsingSwapDisc { get; set; } } diff --git a/Aaru.Database/Models/DeviceStat.cs b/Aaru.Database/Models/DeviceStat.cs index 205941e00..60db00a59 100644 --- a/Aaru.Database/Models/DeviceStat.cs +++ b/Aaru.Database/Models/DeviceStat.cs @@ -33,30 +33,18 @@ namespace Aaru.Database.Models { /// - /// - /// Device found in usage - /// + /// Device found in usage public class DeviceStat : BaseModel { - /// - /// Manufacturer - /// + /// Manufacturer public string Manufacturer { get; set; } - /// - /// Model - /// - public string Model { get; set; } - /// - /// Revision or firmware version - /// - public string Revision { get; set; } - /// - /// Bus - /// - public string Bus { get; set; } - /// - /// Has already been synchronized with Aaru's server - /// - public bool Synchronized { get; set; } + /// Model + public string Model { get; set; } + /// Revision or firmware version + public string Revision { get; set; } + /// Bus + public string Bus { get; set; } + /// Has already been synchronized with Aaru's server + public bool Synchronized { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/Filesystem.cs b/Aaru.Database/Models/Filesystem.cs index 09d0158f6..c4d5446f1 100644 --- a/Aaru.Database/Models/Filesystem.cs +++ b/Aaru.Database/Models/Filesystem.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Filesystem found - /// + /// Filesystem found public class Filesystem : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/Filter.cs b/Aaru.Database/Models/Filter.cs index 2e0b8d4db..442e18011 100644 --- a/Aaru.Database/Models/Filter.cs +++ b/Aaru.Database/Models/Filter.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Filter used - /// + /// Filter used public class Filter : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/Media.cs b/Aaru.Database/Models/Media.cs index 9231052ad..f7a96bfc6 100644 --- a/Aaru.Database/Models/Media.cs +++ b/Aaru.Database/Models/Media.cs @@ -33,26 +33,16 @@ namespace Aaru.Database.Models { /// - /// - /// Media type found - /// + /// Media type found public class Media : BaseModel { - /// - /// Media type name - /// - public string Type { get; set; } - /// - /// Found physically, or in image - /// - public bool Real { get; set; } - /// - /// Has already been synchronized with Aaru's server - /// - public bool Synchronized { get; set; } - /// - /// Count of times found - /// - public ulong Count { get; set; } + /// Media type name + public string Type { get; set; } + /// Found physically, or in image + public bool Real { get; set; } + /// Has already been synchronized with Aaru's server + public bool Synchronized { get; set; } + /// Count of times found + public ulong Count { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/MediaFormat.cs b/Aaru.Database/Models/MediaFormat.cs index 9cc0ed03c..3d5130ad5 100644 --- a/Aaru.Database/Models/MediaFormat.cs +++ b/Aaru.Database/Models/MediaFormat.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Media image format - /// + /// Media image format public class MediaFormat : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/NameCountModel.cs b/Aaru.Database/Models/NameCountModel.cs index b4cd4ed79..786d3dc5d 100644 --- a/Aaru.Database/Models/NameCountModel.cs +++ b/Aaru.Database/Models/NameCountModel.cs @@ -33,22 +33,14 @@ namespace Aaru.Database.Models { /// - /// - /// Model for name-count values. - /// + /// Model for name-count values. public abstract class NameCountModel : BaseModel { - /// - /// Value name - /// - public string Name { get; set; } - /// - /// Has already been synchronized with Aaru's server - /// - public bool Synchronized { get; set; } - /// - /// Value count - /// - public ulong Count { get; set; } + /// Value name + public string Name { get; set; } + /// Has already been synchronized with Aaru's server + public bool Synchronized { get; set; } + /// Value count + public ulong Count { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/OperatingSystem.cs b/Aaru.Database/Models/OperatingSystem.cs index 59a9bdb99..7231c6d26 100644 --- a/Aaru.Database/Models/OperatingSystem.cs +++ b/Aaru.Database/Models/OperatingSystem.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Operating system - /// + /// Operating system public class OperatingSystem : BaseOperatingSystem {} } \ No newline at end of file diff --git a/Aaru.Database/Models/Partition.cs b/Aaru.Database/Models/Partition.cs index 8d207117d..9ae505374 100644 --- a/Aaru.Database/Models/Partition.cs +++ b/Aaru.Database/Models/Partition.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Partitioning scheme - /// + /// Partitioning scheme public class Partition : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/RemoteApplication.cs b/Aaru.Database/Models/RemoteApplication.cs index 8635e75be..2da698df2 100644 --- a/Aaru.Database/Models/RemoteApplication.cs +++ b/Aaru.Database/Models/RemoteApplication.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Remote application - /// + /// Remote application public class RemoteApplication : BaseOperatingSystem {} } \ No newline at end of file diff --git a/Aaru.Database/Models/RemoteArchitecture.cs b/Aaru.Database/Models/RemoteArchitecture.cs index 423f264b7..080b85186 100644 --- a/Aaru.Database/Models/RemoteArchitecture.cs +++ b/Aaru.Database/Models/RemoteArchitecture.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Remote architecture - /// + /// Remote architecture public class RemoteArchitecture : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Database/Models/RemoteOperatingSystem.cs b/Aaru.Database/Models/RemoteOperatingSystem.cs index 42b8d2a68..cb84b0731 100644 --- a/Aaru.Database/Models/RemoteOperatingSystem.cs +++ b/Aaru.Database/Models/RemoteOperatingSystem.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Remote operating system - /// + /// Remote operating system public class RemoteOperatingSystem : BaseOperatingSystem {} } \ No newline at end of file diff --git a/Aaru.Database/Models/Report.cs b/Aaru.Database/Models/Report.cs index 33151c213..cc4ebe131 100644 --- a/Aaru.Database/Models/Report.cs +++ b/Aaru.Database/Models/Report.cs @@ -36,23 +36,17 @@ using Aaru.CommonTypes.Metadata; namespace Aaru.Database.Models { - /// - /// Device report - /// + /// Device report public class Report : DeviceReportV2 { - /// - /// Builds an empty device report - /// + /// Builds an empty device report public Report() { Created = DateTime.UtcNow; Uploaded = false; } - /// - /// Builds a device report model from a device report - /// + /// Builds a device report model from a device report /// Device report [SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] public Report(DeviceReportV2 report) @@ -74,13 +68,9 @@ namespace Aaru.Database.Models Type = report.Type; } - /// - /// Date when the device report was created - /// - public DateTime Created { get; set; } - /// - /// If this model has already been upload - /// - public bool Uploaded { get; set; } + /// Date when the device report was created + public DateTime Created { get; set; } + /// If this model has already been upload + public bool Uploaded { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/UsbProduct.cs b/Aaru.Database/Models/UsbProduct.cs index 7d9d0e731..6d676399c 100644 --- a/Aaru.Database/Models/UsbProduct.cs +++ b/Aaru.Database/Models/UsbProduct.cs @@ -35,19 +35,13 @@ using System.ComponentModel.DataAnnotations; namespace Aaru.Database.Models { - /// - /// USB product - /// + /// USB product public class UsbProduct { - /// - /// Builds an empty USB product - /// + /// Builds an empty USB product public UsbProduct() {} - /// - /// Builds a USB product with the specified parameters - /// + /// Builds a USB product with the specified parameters /// Vendor ID /// Product ID /// Product name @@ -59,34 +53,20 @@ namespace Aaru.Database.Models AddedWhen = ModifiedWhen = DateTime.UtcNow; } - /// - /// Database ID - /// + /// Database ID [Key] - public int Id { get; set; } - /// - /// Product ID - /// - public ushort ProductId { get; set; } - /// - /// Product name - /// - public string Product { get; set; } - /// - /// Date when model has been added to the database - /// - public DateTime AddedWhen { get; set; } - /// - /// Date when model was last modified - /// - public DateTime ModifiedWhen { get; set; } - /// - /// USB vendor ID - /// - public ushort VendorId { get; set; } - /// - /// Database link to USB vendor - /// - public virtual UsbVendor Vendor { get; set; } + public int Id { get; set; } + /// Product ID + public ushort ProductId { get; set; } + /// Product name + public string Product { get; set; } + /// Date when model has been added to the database + public DateTime AddedWhen { get; set; } + /// Date when model was last modified + public DateTime ModifiedWhen { get; set; } + /// USB vendor ID + public ushort VendorId { get; set; } + /// Database link to USB vendor + public virtual UsbVendor Vendor { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/UsbVendor.cs b/Aaru.Database/Models/UsbVendor.cs index 3098519bb..c595498de 100644 --- a/Aaru.Database/Models/UsbVendor.cs +++ b/Aaru.Database/Models/UsbVendor.cs @@ -36,19 +36,13 @@ using System.ComponentModel.DataAnnotations; namespace Aaru.Database.Models { - /// - /// USB vendor - /// + /// USB vendor public class UsbVendor { - /// - /// Builds an empty USB vendor - /// + /// Builds an empty USB vendor public UsbVendor() {} - /// - /// Builds a USB vendor with the specified parameters - /// + /// Builds a USB vendor with the specified parameters /// Vendor ID /// Vendor name public UsbVendor(ushort id, string vendor) @@ -58,27 +52,17 @@ namespace Aaru.Database.Models AddedWhen = ModifiedWhen = DateTime.UtcNow; } - /// - /// Database ID - /// + /// Database ID [Key] - public ushort Id { get; set; } - /// - /// Vendor name - /// - public string Vendor { get; set; } - /// - /// Date when model has been added to the database - /// - public DateTime AddedWhen { get; set; } - /// - /// Date when model was last modified - /// + public ushort Id { get; set; } + /// Vendor name + public string Vendor { get; set; } + /// Date when model has been added to the database + public DateTime AddedWhen { get; set; } + /// Date when model was last modified public DateTime ModifiedWhen { get; set; } - /// - /// List of products from this vendor - /// + /// List of products from this vendor public virtual ICollection Products { get; set; } } } \ No newline at end of file diff --git a/Aaru.Database/Models/Version.cs b/Aaru.Database/Models/Version.cs index 54ba048c6..475a7367e 100644 --- a/Aaru.Database/Models/Version.cs +++ b/Aaru.Database/Models/Version.cs @@ -33,8 +33,6 @@ namespace Aaru.Database.Models { /// - /// - /// Aaru version - /// + /// Aaru version public class Version : NameCountModel {} } \ No newline at end of file diff --git a/Aaru.Devices/Aaru.Devices.csproj b/Aaru.Devices/Aaru.Devices.csproj index a71b29e42..418a19d00 100644 --- a/Aaru.Devices/Aaru.Devices.csproj +++ b/Aaru.Devices/Aaru.Devices.csproj @@ -55,87 +55,87 @@ false - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - + {CCAA7AFE-C094-4D82-A66D-630DE8A3F545} Aaru.Console @@ -154,25 +154,25 @@ LICENSE.LGPL - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Devices/Device/AtaCommands/Ata28.cs b/Aaru.Devices/Device/AtaCommands/Ata28.cs index d271a8e58..8dfd278e8 100644 --- a/Aaru.Devices/Device/AtaCommands/Ata28.cs +++ b/Aaru.Devices/Device/AtaCommands/Ata28.cs @@ -38,9 +38,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Reads the drive buffer using PIO transfer - /// + /// Reads the drive buffer using PIO transfer /// Buffer that contains the read data /// Returned status registers /// Timeout to wait for command execution @@ -67,9 +65,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the drive buffer using DMA transfer - /// + /// Reads the drive buffer using DMA transfer /// Buffer that contains the read data /// Returned status registers /// Timeout to wait for command execution @@ -95,9 +91,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using 28-bit addressing and DMA transfer, retrying on error - /// + /// Reads sectors using 28-bit addressing and DMA transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// LBA of read start @@ -109,9 +103,7 @@ namespace Aaru.Devices uint timeout, out double duration) => ReadDma(out buffer, out statusRegisters, true, lba, count, timeout, out duration); - /// - /// Reads sectors using 48-bit addressing and DMA transfer - /// + /// Reads sectors using 48-bit addressing and DMA transfer /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -148,7 +140,8 @@ namespace Aaru.Devices } /// - /// Reads sectors using 28-bit addressing and PIO transfer, sending an interrupt only after all the sectors have been transferred + /// Reads sectors using 28-bit addressing and PIO transfer, sending an interrupt only after all the sectors have + /// been transferred /// /// Buffer that contains the read data /// Returned status registers @@ -185,9 +178,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads native max address using 28-bit addressing - /// + /// Reads native max address using 28-bit addressing /// Maximum addressable block /// Returned status registers /// Timeout to wait for command execution @@ -226,9 +217,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using 28-bit addressing and PIO transfer, retrying on error - /// + /// Reads sectors using 28-bit addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// LBA of read start @@ -240,9 +229,7 @@ namespace Aaru.Devices uint timeout, out double duration) => Read(out buffer, out statusRegisters, true, lba, count, timeout, out duration); - /// - /// Reads sectors using 28-bit addressing and PIO transfer, retrying on error - /// + /// Reads sectors using 28-bit addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -279,9 +266,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads a long sector using 28-bit addressing and PIO transfer, retrying on error - /// + /// Reads a long sector using 28-bit addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// LBA of read start @@ -293,9 +278,7 @@ namespace Aaru.Devices uint timeout, out double duration) => ReadLong(out buffer, out statusRegisters, true, lba, blockSize, timeout, out duration); - /// - /// Reads a long sector using 28-bit addressing and PIO transfer, retrying on error - /// + /// Reads a long sector using 28-bit addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -332,9 +315,7 @@ namespace Aaru.Devices return sense; } - /// - /// Sets the reading mechanism ready to read the specified block using 28-bit LBA addressing - /// + /// Sets the reading mechanism ready to read the specified block using 28-bit LBA addressing /// Returned status registers /// LBA to position reading mechanism ready to read /// Timeout to wait for command execution diff --git a/Aaru.Devices/Device/AtaCommands/Ata48.cs b/Aaru.Devices/Device/AtaCommands/Ata48.cs index 1cf4f695e..75257c032 100644 --- a/Aaru.Devices/Device/AtaCommands/Ata48.cs +++ b/Aaru.Devices/Device/AtaCommands/Ata48.cs @@ -38,9 +38,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Gets native max address using 48-bit addressing - /// + /// Gets native max address using 48-bit addressing /// Maximum addressable block /// Returned status registers /// Timeout to wait for command execution @@ -80,9 +78,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using 48-bit addressing and DMA transfer - /// + /// Reads sectors using 48-bit addressing and DMA transfer /// Buffer that contains the read data /// Returned status registers /// LBA of read start @@ -119,9 +115,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads a drive log using PIO transfer - /// + /// Reads a drive log using PIO transfer /// Buffer that contains the read data /// Returned status registers /// Log address @@ -156,9 +150,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads a drive log using DMA transfer - /// + /// Reads a drive log using DMA transfer /// Buffer that contains the read data /// Returned status registers /// Log address @@ -193,7 +185,8 @@ namespace Aaru.Devices } /// - /// Reads sectors using 48-bit addressing and PIO transfer, sending an interrupt only after all the sectors have been transferred + /// Reads sectors using 48-bit addressing and PIO transfer, sending an interrupt only after all the sectors have + /// been transferred /// /// Buffer that contains the read data /// Returned status registers @@ -232,9 +225,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads native max address using 48-bit addressing - /// + /// Reads native max address using 48-bit addressing /// Maximum addressable block /// Returned status registers /// Timeout to wait for command execution @@ -275,9 +266,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using 48-bit addressing and PIO transfer - /// + /// Reads sectors using 48-bit addressing and PIO transfer /// Buffer that contains the read data /// Returned status registers /// LBA of read start diff --git a/Aaru.Devices/Device/AtaCommands/AtaCHS.cs b/Aaru.Devices/Device/AtaCommands/AtaCHS.cs index ed3a97c2b..13255efe2 100644 --- a/Aaru.Devices/Device/AtaCommands/AtaCHS.cs +++ b/Aaru.Devices/Device/AtaCommands/AtaCHS.cs @@ -88,9 +88,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using CHS addressing and DMA transfer, retrying on error - /// + /// Reads sectors using CHS addressing and DMA transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Cylinder of read start @@ -104,9 +102,7 @@ namespace Aaru.Devices byte sector, byte count, uint timeout, out double duration) => ReadDma(out buffer, out statusRegisters, true, cylinder, head, sector, count, timeout, out duration); - /// - /// Reads sectors using CHS addressing and DMA transfer - /// + /// Reads sectors using CHS addressing and DMA transfer /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -143,7 +139,8 @@ namespace Aaru.Devices } /// - /// Reads sectors using CHS addressing and PIO transfer, sending an interrupt only after all the sectors have been transferred + /// Reads sectors using CHS addressing and PIO transfer, sending an interrupt only after all the sectors have been + /// transferred /// /// Buffer that contains the read data /// Returned status registers @@ -180,9 +177,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads sectors using CHS addressing and PIO transfer, retrying on error - /// + /// Reads sectors using CHS addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Cylinder of read start @@ -196,9 +191,7 @@ namespace Aaru.Devices byte sector, byte count, uint timeout, out double duration) => Read(out buffer, out statusRegisters, true, cylinder, head, sector, count, timeout, out duration); - /// - /// Reads sectors using CHS addressing and PIO transfer - /// + /// Reads sectors using CHS addressing and PIO transfer /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -235,9 +228,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads a long sector using CHS addressing and PIO transfer, retrying on error - /// + /// Reads a long sector using CHS addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Cylinder of read start @@ -251,9 +242,7 @@ namespace Aaru.Devices byte sector, uint blockSize, uint timeout, out double duration) => ReadLong(out buffer, out statusRegisters, true, cylinder, head, sector, blockSize, timeout, out duration); - /// - /// Reads a long sector using CHS addressing and PIO transfer, retrying on error - /// + /// Reads a long sector using CHS addressing and PIO transfer, retrying on error /// Buffer that contains the read data /// Returned status registers /// Retry on error @@ -290,9 +279,7 @@ namespace Aaru.Devices return sense; } - /// - /// Sets the reading mechanism ready to read the specified block using CHS addressing - /// + /// Sets the reading mechanism ready to read the specified block using CHS addressing /// Returned status registers /// Cylinder to position reading mechanism ready to read /// Head to position reading mechanism ready to read @@ -325,9 +312,7 @@ namespace Aaru.Devices return sense; } - /// - /// Enables drive features - /// + /// Enables drive features /// Returned status registers /// Feature to enable /// Timeout to wait for command execution @@ -337,9 +322,7 @@ namespace Aaru.Devices out double duration) => SetFeatures(out statusRegisters, feature, 0, 0, 0, 0, timeout, out duration); - /// - /// Enables drive features - /// + /// Enables drive features /// Returned status registers /// Feature to enable /// Value for the cylinder register @@ -376,9 +359,7 @@ namespace Aaru.Devices return sense; } - /// - /// Prevents ejection of the media inserted in the drive - /// + /// Prevents ejection of the media inserted in the drive /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -403,9 +384,7 @@ namespace Aaru.Devices return sense; } - /// - /// Allows ejection of the media inserted in the drive - /// + /// Allows ejection of the media inserted in the drive /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -430,9 +409,7 @@ namespace Aaru.Devices return sense; } - /// - /// Ejects the media inserted in the drive - /// + /// Ejects the media inserted in the drive /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds diff --git a/Aaru.Devices/Device/AtaCommands/Cfa.cs b/Aaru.Devices/Device/AtaCommands/Cfa.cs index c524eafbf..cfd7971d5 100644 --- a/Aaru.Devices/Device/AtaCommands/Cfa.cs +++ b/Aaru.Devices/Device/AtaCommands/Cfa.cs @@ -38,9 +38,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Requests to translate an LBA to a card physical address - /// + /// Requests to translate an LBA to a card physical address /// Data buffer /// Returned status registers /// LBA to start reading from @@ -74,9 +72,7 @@ namespace Aaru.Devices return sense; } - /// - /// Requests to translate a CHS to a card physical address - /// + /// Requests to translate a CHS to a card physical address /// Data buffer /// Returned status registers /// Cylinder @@ -110,9 +106,7 @@ namespace Aaru.Devices return sense; } - /// - /// Requests an extended error code - /// + /// Requests an extended error code /// Error code /// Returned status registers /// Timeout to wait for command execution diff --git a/Aaru.Devices/Device/AtaCommands/MCPT.cs b/Aaru.Devices/Device/AtaCommands/MCPT.cs index 08b6f3ddf..3ac0e101f 100644 --- a/Aaru.Devices/Device/AtaCommands/MCPT.cs +++ b/Aaru.Devices/Device/AtaCommands/MCPT.cs @@ -38,9 +38,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Enables media card pass through - /// + /// Enables media card pass through /// Status registers. /// Timeout in seconds /// Time it took to execute the command in milliseconds @@ -49,9 +47,7 @@ namespace Aaru.Devices out double duration) => CheckMediaCardType(1, out statusRegisters, timeout, out duration); - /// - /// Disables media card pass through - /// + /// Disables media card pass through /// Status registers. /// Timeout in seconds /// Time it took to execute the command in milliseconds @@ -60,9 +56,7 @@ namespace Aaru.Devices out double duration) => CheckMediaCardType(0, out statusRegisters, timeout, out duration); - /// - /// Checks media card pass through - /// + /// Checks media card pass through /// Feature /// Status registers. /// Timeout in seconds diff --git a/Aaru.Devices/Device/AtaCommands/Smart.cs b/Aaru.Devices/Device/AtaCommands/Smart.cs index 35f618db0..c95ce7117 100644 --- a/Aaru.Devices/Device/AtaCommands/Smart.cs +++ b/Aaru.Devices/Device/AtaCommands/Smart.cs @@ -38,9 +38,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Disables S.M.A.R.T. - /// + /// Disables S.M.A.R.T. /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -68,9 +66,7 @@ namespace Aaru.Devices return sense; } - /// - /// Enables auto-saving of S.M.A.R.T. attributes - /// + /// Enables auto-saving of S.M.A.R.T. attributes /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -100,9 +96,7 @@ namespace Aaru.Devices return sense; } - /// - /// Disables auto-saving of S.M.A.R.T. attributes - /// + /// Disables auto-saving of S.M.A.R.T. attributes /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -131,9 +125,7 @@ namespace Aaru.Devices return sense; } - /// - /// Enables S.M.A.R.T. - /// + /// Enables S.M.A.R.T. /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds @@ -161,9 +153,7 @@ namespace Aaru.Devices return sense; } - /// - /// Requests drive to execute offline immediate S.M.A.R.T. test - /// + /// Requests drive to execute offline immediate S.M.A.R.T. test /// Subcommand /// Returned status registers /// Timeout to wait for command execution @@ -194,9 +184,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads S.M.A.R.T. data - /// + /// Reads S.M.A.R.T. data /// Buffer containing data /// Returned status registers /// Timeout to wait for command execution @@ -226,9 +214,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads S.M.A.R.T. log - /// + /// Reads S.M.A.R.T. log /// Buffer containing log /// Returned status registers /// Log address @@ -260,9 +246,7 @@ namespace Aaru.Devices return sense; } - /// - /// Retrieves S.M.A.R.T. status - /// + /// Retrieves S.M.A.R.T. status /// Returned status registers /// Timeout to wait for command execution /// Time the device took to execute the command in milliseconds diff --git a/Aaru.Devices/Device/Commands.cs b/Aaru.Devices/Device/Commands.cs index 72a0bbde1..25189a815 100644 --- a/Aaru.Devices/Device/Commands.cs +++ b/Aaru.Devices/Device/Commands.cs @@ -242,53 +242,33 @@ namespace Aaru.Devices timeout); } - /// - /// Encapsulates a single MMC command to send in a queue - /// - [SuppressMessage("ReSharper", "InconsistentNaming")] - [SuppressMessage("ReSharper", "MemberCanBeInternal")] + /// Encapsulates a single MMC command to send in a queue + [SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "MemberCanBeInternal")] public class MmcSingleCommand { - /// - /// Command argument - /// - public uint argument; - /// - /// How many blocks to transfer - /// - public uint blocks; - /// - /// Size of block in bytes - /// - public uint blockSize; - /// - /// Buffer for MMC/SD command response - /// - public byte[] buffer; - /// - /// MMC/SD opcode - /// + /// Command argument + public uint argument; + /// How many blocks to transfer + public uint blocks; + /// Size of block in bytes + public uint blockSize; + /// Buffer for MMC/SD command response + public byte[] buffer; + /// MMC/SD opcode public MmcCommands command; - /// - /// Flags indicating kind and place of response - /// - public MmcFlags flags; - /// - /// True if command should be preceded with CMD55 - /// - public bool isApplication; - /// - /// Response registers - /// - public uint[] response; - /// - /// True if data is sent from host to card - /// - public bool write; + /// Flags indicating kind and place of response + public MmcFlags flags; + /// True if command should be preceded with CMD55 + public bool isApplication; + /// Response registers + public uint[] response; + /// True if data is sent from host to card + public bool write; } /// - /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI controller + /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI + /// controller /// /// List of commands /// Duration to execute all commands, in milliseconds @@ -333,9 +313,7 @@ namespace Aaru.Devices return error; } - /// - /// Closes then immediately reopens a device - /// + /// Closes then immediately reopens a device /// Returned error number if any public bool ReOpen() { @@ -352,9 +330,7 @@ namespace Aaru.Devices return Error; } - /// - /// Reads data using operating system buffers. - /// + /// Reads data using operating system buffers. /// Data buffer /// Offset in remote device to start reading, in bytes /// Number of bytes to read diff --git a/Aaru.Devices/Device/Constructor.cs b/Aaru.Devices/Device/Constructor.cs index cbf44f17e..cc8db989c 100644 --- a/Aaru.Devices/Device/Constructor.cs +++ b/Aaru.Devices/Device/Constructor.cs @@ -59,9 +59,7 @@ using VendorString = Aaru.Decoders.SecureDigital.VendorString; namespace Aaru.Devices { - /// - /// Implements a device or media containing drive - /// + /// Implements a device or media containing drive [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), SuppressMessage("ReSharper", "UnusedMember.Global"), SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")] public sealed partial class Device diff --git a/Aaru.Devices/Device/Destructor.cs b/Aaru.Devices/Device/Destructor.cs index ff65d632e..b520a6d8c 100644 --- a/Aaru.Devices/Device/Destructor.cs +++ b/Aaru.Devices/Device/Destructor.cs @@ -45,9 +45,7 @@ namespace Aaru.Devices /// ~Device() => Close(); - /// - /// Closes a device - /// + /// Closes a device public void Close() { if(_remote != null) diff --git a/Aaru.Devices/Device/List.cs b/Aaru.Devices/Device/List.cs index 516feb872..70ebaedb9 100644 --- a/Aaru.Devices/Device/List.cs +++ b/Aaru.Devices/Device/List.cs @@ -38,66 +38,49 @@ using PlatformID = Aaru.CommonTypes.Interop.PlatformID; namespace Aaru.Devices { - /// - /// Contains device information - /// + /// Contains device information [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct DeviceInfo { - /// - /// Device path - /// + /// Device path [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)] public string Path; - /// - /// Device vendor or manufacturer - /// + /// Device vendor or manufacturer [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string Vendor; - /// - /// Device model or product name - /// + /// Device model or product name [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string Model; - /// - /// Device serial number - /// + /// Device serial number [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string Serial; - /// - /// Bus the device is attached to - /// + /// Bus the device is attached to [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string Bus; /// - /// Set to true if Aaru can send commands to the device in the current machine or remote, false otherwise + /// Set to true if Aaru can send commands to the device in the current machine or remote, false + /// otherwise /// [MarshalAs(UnmanagedType.U1)] public bool Supported; - /// - /// Padding - /// + /// Padding [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public readonly byte[] Padding; } public sealed partial class Device { - /// - /// Lists devices attached to current machine - /// + /// Lists devices attached to current machine /// List of devices public static DeviceInfo[] ListDevices() => ListDevices(out _, out _, out _, out _, out _, out _); - /// - /// Lists devices attached to current machine or specified remote - /// + /// Lists devices attached to current machine or specified remote /// Is remote /// Remote application /// Remote application version diff --git a/Aaru.Devices/Device/MmcCommands/MMC.cs b/Aaru.Devices/Device/MmcCommands/MMC.cs index 21d15601e..6b9e863e3 100644 --- a/Aaru.Devices/Device/MmcCommands/MMC.cs +++ b/Aaru.Devices/Device/MmcCommands/MMC.cs @@ -37,9 +37,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Reads the CSD register from a SecureDigital or MultiMediaCard device - /// + /// Reads the CSD register from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// Timeout to wait for command execution @@ -60,9 +58,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the CID register from a SecureDigital or MultiMediaCard device - /// + /// Reads the CID register from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// Timeout to wait for command execution @@ -83,9 +79,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the OCR register from a MultiMediaCard device - /// + /// Reads the OCR register from a MultiMediaCard device /// Data buffer /// Response /// Timeout to wait for command execution @@ -106,9 +100,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the extended CSD from a MultiMediaCard device - /// + /// Reads the extended CSD from a MultiMediaCard device /// Data buffer /// Response /// Timeout to wait for command execution @@ -129,9 +121,7 @@ namespace Aaru.Devices return sense; } - /// - /// Sets the block length for transfers from a SecureDigital or MultiMediaCard device - /// + /// Sets the block length for transfers from a SecureDigital or MultiMediaCard device /// Block length in bytes /// Response /// Timeout to wait for command execution @@ -152,9 +142,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads blocks from a SecureDigital or MultiMediaCard device - /// + /// Reads blocks from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// LBA to start reading from @@ -186,9 +174,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads a single block from a SecureDigital or MultiMediaCard device - /// + /// Reads a single block from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// LBA to start reading from @@ -222,9 +208,7 @@ namespace Aaru.Devices static bool _readMultipleBlockCannotSetBlockCount; - /// - /// Reads multiple blocks from a SecureDigital or MultiMediaCard device - /// + /// Reads multiple blocks from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// LBA to start reading from @@ -265,9 +249,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads blocks using a single block read from a SecureDigital or MultiMediaCard device - /// + /// Reads blocks using a single block read from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// LBA to start reading from @@ -316,9 +298,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads status register from a MultiMediaCard device - /// + /// Reads status register from a MultiMediaCard device /// Data buffer /// Response /// Timeout to wait for command execution @@ -339,9 +319,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads blocks with block count from a SecureDigital or MultiMediaCard device - /// + /// Reads blocks with block count from a SecureDigital or MultiMediaCard device /// Data buffer /// Response /// LBA to start reading from diff --git a/Aaru.Devices/Device/MmcCommands/SecureDigital.cs b/Aaru.Devices/Device/MmcCommands/SecureDigital.cs index 3bcfa7dd9..365093992 100644 --- a/Aaru.Devices/Device/MmcCommands/SecureDigital.cs +++ b/Aaru.Devices/Device/MmcCommands/SecureDigital.cs @@ -36,9 +36,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Reads the status register from a SecureDigital device - /// + /// Reads the status register from a SecureDigital device /// Data buffer /// Response /// Timeout to wait for command execution @@ -59,9 +57,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the OCR register from a SecureDigital device - /// + /// Reads the OCR register from a SecureDigital device /// Data buffer /// Response /// Timeout to wait for command execution @@ -82,9 +78,7 @@ namespace Aaru.Devices return sense; } - /// - /// Reads the SCR register from a SecureDigital device - /// + /// Reads the SCR register from a SecureDigital device /// Data buffer /// Response /// Timeout to wait for command execution diff --git a/Aaru.Devices/Device/ScsiCommands/Fujitsu.cs b/Aaru.Devices/Device/ScsiCommands/Fujitsu.cs index 1745b6c45..c40a0fe24 100644 --- a/Aaru.Devices/Device/ScsiCommands/Fujitsu.cs +++ b/Aaru.Devices/Device/ScsiCommands/Fujitsu.cs @@ -39,9 +39,7 @@ namespace Aaru.Devices { public sealed partial class Device { - /// - /// Sets the data for the integrated display - /// + /// Sets the data for the integrated display /// Returned SENSE buffer /// If the display should start flashing /// Display mode diff --git a/Aaru.Devices/Device/ScsiCommands/MiniDisc.cs b/Aaru.Devices/Device/ScsiCommands/MiniDisc.cs index c1c3eecf7..f7a69e246 100644 --- a/Aaru.Devices/Device/ScsiCommands/MiniDisc.cs +++ b/Aaru.Devices/Device/ScsiCommands/MiniDisc.cs @@ -32,6 +32,7 @@ using System; using Aaru.Console; + // ReSharper disable InconsistentNaming namespace Aaru.Devices @@ -137,8 +138,7 @@ namespace Aaru.Devices /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. /// true if the command failed and contains the sense buffer. - public bool MiniDiscStopPlaying(out byte[] buffer, out byte[] senseBuffer, uint timeout, - out double duration) + public bool MiniDiscStopPlaying(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration) { senseBuffer = new byte[64]; byte[] cdb = new byte[10]; diff --git a/Aaru.Devices/Device/ScsiCommands/SPC.cs b/Aaru.Devices/Device/ScsiCommands/SPC.cs index fd0de1d3c..457cc57bc 100644 --- a/Aaru.Devices/Device/ScsiCommands/SPC.cs +++ b/Aaru.Devices/Device/ScsiCommands/SPC.cs @@ -777,9 +777,7 @@ namespace Aaru.Devices return sense; } - /// - /// Requests the device fixed sense - /// + /// Requests the device fixed sense /// Sense buffer /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. @@ -787,9 +785,7 @@ namespace Aaru.Devices public bool RequestSense(out byte[] buffer, uint timeout, out double duration) => RequestSense(false, out buffer, timeout, out duration); - /// - /// Requests the device sense - /// + /// Requests the device sense /// Request a descriptor sense /// Sense buffer /// Timeout in seconds. diff --git a/Aaru.Devices/Device/ScsiCommands/SSC.cs b/Aaru.Devices/Device/ScsiCommands/SSC.cs index bedec9627..a4bcb86be 100644 --- a/Aaru.Devices/Device/ScsiCommands/SSC.cs +++ b/Aaru.Devices/Device/ScsiCommands/SSC.cs @@ -952,9 +952,7 @@ namespace Aaru.Devices return sense; } - /// - /// Writes a space mark in the media - /// + /// Writes a space mark in the media /// Sense buffer. /// Space type code. /// How many marks to write diff --git a/Aaru.Devices/Device/Variables.cs b/Aaru.Devices/Device/Variables.cs index f7156b4ef..b8e46590a 100644 --- a/Aaru.Devices/Device/Variables.cs +++ b/Aaru.Devices/Device/Variables.cs @@ -166,9 +166,7 @@ namespace Aaru.Devices bool? _isRemoteAdmin; readonly string _devicePath; - /// - /// Returns if remote is running under administrative (aka root) privileges - /// + /// Returns if remote is running under administrative (aka root) privileges public bool IsRemoteAdmin { get @@ -179,33 +177,19 @@ namespace Aaru.Devices } } - /// - /// Current device is remote - /// - public bool IsRemote => _remote != null; - /// - /// Remote application - /// - public string RemoteApplication => _remote?.ServerApplication; - /// - /// Remote application server - /// - public string RemoteVersion => _remote?.ServerVersion; - /// - /// Remote operating system name - /// - public string RemoteOperatingSystem => _remote?.ServerOperatingSystem; - /// - /// Remote operating system version - /// + /// Current device is remote + public bool IsRemote => _remote != null; + /// Remote application + public string RemoteApplication => _remote?.ServerApplication; + /// Remote application server + public string RemoteVersion => _remote?.ServerVersion; + /// Remote operating system name + public string RemoteOperatingSystem => _remote?.ServerOperatingSystem; + /// Remote operating system version public string RemoteOperatingSystemVersion => _remote?.ServerOperatingSystemVersion; - /// - /// Remote architecture - /// - public string RemoteArchitecture => _remote?.ServerArchitecture; - /// - /// Remote protocol version - /// - public int RemoteProtocolVersion => _remote?.ServerProtocolVersion ?? 0; + /// Remote architecture + public string RemoteArchitecture => _remote?.ServerArchitecture; + /// Remote protocol version + public int RemoteProtocolVersion => _remote?.ServerProtocolVersion ?? 0; } } \ No newline at end of file diff --git a/Aaru.Devices/Enums.cs b/Aaru.Devices/Enums.cs index be576f067..e789de6ce 100644 --- a/Aaru.Devices/Enums.cs +++ b/Aaru.Devices/Enums.cs @@ -2674,8 +2674,7 @@ namespace Aaru.Devices SendScr = 51 } - [Flags] - [SuppressMessage("ReSharper", "ShiftExpressionZeroLeftOperand")] + [Flags, SuppressMessage("ReSharper", "ShiftExpressionZeroLeftOperand")] public enum MmcFlags : uint { ResponsePresent = 1 << 0, Response136 = 1 << 1, ResponseCrc = 1 << 2, diff --git a/Aaru.Devices/Remote/Consts.cs b/Aaru.Devices/Remote/Consts.cs index e629adf57..74951dbd3 100644 --- a/Aaru.Devices/Remote/Consts.cs +++ b/Aaru.Devices/Remote/Consts.cs @@ -32,26 +32,16 @@ namespace Aaru.Devices.Remote { - /// - /// AaruRemote protocol constants - /// + /// AaruRemote protocol constants public class Consts { - /// - /// Primary unique packet identifier - /// - public const uint REMOTE_ID = 0x52434944; // "DICR" - /// - /// Secondary unique packet identifier - /// - public const uint PACKET_ID = 0x544B4350; // "PCKT" - /// - /// Default packet version - /// - public const int PACKET_VERSION = 1; - /// - /// Maximum supported protocol version - /// - public const int MAX_PROTOCOL = 2; + /// Primary unique packet identifier + public const uint REMOTE_ID = 0x52434944; // "DICR" + /// Secondary unique packet identifier + public const uint PACKET_ID = 0x544B4350; // "PCKT" + /// Default packet version + public const int PACKET_VERSION = 1; + /// Maximum supported protocol version + public const int MAX_PROTOCOL = 2; } } \ No newline at end of file diff --git a/Aaru.Devices/Remote/Enums.cs b/Aaru.Devices/Remote/Enums.cs index 0102d43df..ad799de4b 100644 --- a/Aaru.Devices/Remote/Enums.cs +++ b/Aaru.Devices/Remote/Enums.cs @@ -32,9 +32,7 @@ namespace Aaru.Devices.Remote { - /// - /// Packet type enumeration - /// + /// Packet type enumeration public enum AaruPacketType : sbyte { #pragma warning disable 1591 @@ -52,42 +50,24 @@ namespace Aaru.Devices.Remote #pragma warning restore 1591 } - /// - /// Reasons for non-data request or response - /// + /// Reasons for non-data request or response public enum AaruNopReason : byte { - /// - /// Request or response has arrived unexpectedly - /// - OutOfOrder = 0, - /// - /// Packet or version of packet is not implemented - /// + /// Request or response has arrived unexpectedly + OutOfOrder = 0, + /// Packet or version of packet is not implemented NotImplemented = 1, - /// - /// Unknown or non-recognized packet - /// + /// Unknown or non-recognized packet NotRecognized = 2, - /// - /// Error trying to get list of devices - /// + /// Error trying to get list of devices ErrorListDevices = 3, - /// - /// Device opened correctly - /// - OpenOk = 4, - /// - /// An error occurred opening the device - /// - OpenError = 5, - /// - /// Device re-opened correctly - /// - ReOpenOk = 6, - /// - /// An error occurred closing the device - /// - CloseError = 7 + /// Device opened correctly + OpenOk = 4, + /// An error occurred opening the device + OpenError = 5, + /// Device re-opened correctly + ReOpenOk = 6, + /// An error occurred closing the device + CloseError = 7 } } \ No newline at end of file diff --git a/Aaru.Devices/Remote/Remote.cs b/Aaru.Devices/Remote/Remote.cs index 5a94e892c..71f7dcd81 100644 --- a/Aaru.Devices/Remote/Remote.cs +++ b/Aaru.Devices/Remote/Remote.cs @@ -43,22 +43,19 @@ using Aaru.Console; using Aaru.Decoders.ATA; using Marshal = Aaru.Helpers.Marshal; using Version = Aaru.CommonTypes.Interop.Version; + // ReSharper disable MemberCanBeInternal namespace Aaru.Devices.Remote { /// - /// - /// Handles communication with a remote device that's connected using the AaruRemote protocol - /// + /// Handles communication with a remote device that's connected using the AaruRemote protocol public class Remote : IDisposable { readonly string _host; readonly Socket _socket; - /// - /// Connects using TCP/IP to the specified remote - /// + /// Connects using TCP/IP to the specified remote /// URI of the remote /// Unsupported or invalid remote protocol. /// Host not found. @@ -197,34 +194,20 @@ namespace Aaru.Devices.Remote throw new IOException(); } - /// - /// Remote server application - /// - public string ServerApplication { get; } - /// - /// Remote server application version - /// - public string ServerVersion { get; } - /// - /// Remote server operating system - /// - public string ServerOperatingSystem { get; } - /// - /// Remote server operating system version - /// + /// Remote server application + public string ServerApplication { get; } + /// Remote server application version + public string ServerVersion { get; } + /// Remote server operating system + public string ServerOperatingSystem { get; } + /// Remote server operating system version public string ServerOperatingSystemVersion { get; } - /// - /// Remote server architecture - /// - public string ServerArchitecture { get; } - /// - /// Remote server protocol version - /// - public int ServerProtocolVersion { get; } + /// Remote server architecture + public string ServerArchitecture { get; } + /// Remote server protocol version + public int ServerProtocolVersion { get; } - /// - /// Is remote running with administrative (aka root) privileges? - /// + /// Is remote running with administrative (aka root) privileges? public bool IsRoot { get @@ -300,9 +283,7 @@ namespace Aaru.Devices.Remote /// public void Dispose() => Disconnect(); - /// - /// Disconnects from remote - /// + /// Disconnects from remote public void Disconnect() { try @@ -316,9 +297,7 @@ namespace Aaru.Devices.Remote } } - /// - /// Lists devices attached to remote - /// + /// Lists devices attached to remote /// List of devices public DeviceInfo[] ListDevices() { @@ -428,13 +407,14 @@ namespace Aaru.Devices.Remote return devices.ToArray(); } - /// - /// Opens the specified device path on the remote - /// + /// Opens the specified device path on the remote /// Device path /// Returned error /// true if opened correctly, falseotherwise - /// Support for the specified device has not yet been implemented in the remote application. + /// + /// Support for the specified device has not yet been implemented in the remote + /// application. + /// public bool Open(string devicePath, out int lastError) { lastError = 0; @@ -1080,10 +1060,10 @@ namespace Aaru.Devices.Remote return (int)res.res.error_no; } - /// - /// Gets the for the remote device - /// - /// + /// Gets the for the remote device + /// + /// + /// public DeviceType GetDeviceType() { var cmdPkt = new AaruPacketCmdGetDeviceType @@ -1153,9 +1133,7 @@ namespace Aaru.Devices.Remote return res.device_type; } - /// - /// Retrieves the SDHCI registers from the remote device - /// + /// Retrieves the SDHCI registers from the remote device /// CSD register /// CID register /// OCR register @@ -1276,9 +1254,7 @@ namespace Aaru.Devices.Remote return res.isSdhci; } - /// - /// Gets the USB data from the remote device - /// + /// Gets the USB data from the remote device /// USB descriptors /// USB vendor ID /// USB product ID @@ -1373,9 +1349,7 @@ namespace Aaru.Devices.Remote return true; } - /// - /// Gets the FireWire data from the remote device - /// + /// Gets the FireWire data from the remote device /// FireWire vendor ID /// FireWire product ID /// FireWire vendor string @@ -1468,9 +1442,7 @@ namespace Aaru.Devices.Remote return true; } - /// - /// Gets the PCMCIA/CardBus data from the remote device - /// + /// Gets the PCMCIA/CardBus data from the remote device /// Card Information Structure /// true if the device is attached via PCMCIA or CardBus, false otherwise public bool GetPcmciaData(out byte[] cis) @@ -1549,9 +1521,7 @@ namespace Aaru.Devices.Remote return true; } - /// - /// Receives data from a socket into a buffer - /// + /// Receives data from a socket into a buffer /// Socket /// Data buffer /// Expected total size in bytes @@ -1575,9 +1545,7 @@ namespace Aaru.Devices.Remote return offset; } - /// - /// Closes the remote device, without closing the network connection - /// + /// Closes the remote device, without closing the network connection public void Close() { var cmdPkt = new AaruPacketCmdClose @@ -1605,7 +1573,8 @@ namespace Aaru.Devices.Remote } /// - /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI controller + /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI + /// controller /// /// List of commands /// Duration to execute all commands, in milliseconds @@ -1766,7 +1735,8 @@ namespace Aaru.Devices.Remote } /// - /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI controller, using protocol version 1 without specific support for such a queueing + /// Concatenates a queue of commands to be send to a remote SecureDigital or MultiMediaCard attached to an SDHCI + /// controller, using protocol version 1 without specific support for such a queueing /// /// List of commands /// Duration to execute all commands, in milliseconds @@ -1795,9 +1765,7 @@ namespace Aaru.Devices.Remote return error; } - /// - /// Closes then immediately reopens a remote device - /// + /// Closes then immediately reopens a remote device /// Returned error number if any public bool ReOpen() { @@ -1891,9 +1859,7 @@ namespace Aaru.Devices.Remote return false; } - /// - /// Reads data using operating system buffers. - /// + /// Reads data using operating system buffers. /// Data buffer /// Offset in remote device to start reading, in bytes /// Number of bytes to read diff --git a/Aaru.Devices/Remote/Structs.cs b/Aaru.Devices/Remote/Structs.cs index 1199d4bf0..4604dd122 100644 --- a/Aaru.Devices/Remote/Structs.cs +++ b/Aaru.Devices/Remote/Structs.cs @@ -33,6 +33,7 @@ using System.Runtime.InteropServices; using Aaru.CommonTypes.Enums; using Aaru.Decoders.ATA; + // ReSharper disable MemberCanBeInternal // ReSharper disable MemberCanBePrivate.Global // ReSharper disable FieldCanBeMadeReadOnly.Global @@ -40,86 +41,54 @@ using Aaru.Decoders.ATA; namespace Aaru.Devices.Remote { - /// - /// Header for any Aaru remote packet - /// + /// Header for any Aaru remote packet [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketHeader { - /// - /// Unique Aaru packet identifier (primary) - /// + /// Unique Aaru packet identifier (primary) public uint remote_id; - /// - /// Unique Aaru packet identifier (secondary) - /// + /// Unique Aaru packet identifier (secondary) public uint packet_id; - /// - /// Packet length - /// - public uint len; - /// - /// Packet version - /// - public byte version; - /// - /// Unique Aaru packet type identifier - /// + /// Packet length + public uint len; + /// Packet version + public byte version; + /// Unique Aaru packet type identifier public AaruPacketType packetType; - /// - /// Spare for expansion (or alignment) - /// + /// Spare for expansion (or alignment) [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public readonly byte[] spare; } - /// - /// Hello packet, identifies a remote initiator with a responder - /// + /// Hello packet, identifies a remote initiator with a responder [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketHello { /// Packet header public AaruPacketHeader hdr; -/// -/// Application name -/// + /// Application name [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] public string application; -/// -/// Application version -/// + /// Application version [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] public string version; -/// -/// Maximum supported protocol version -/// + /// Maximum supported protocol version public byte maxProtocol; -/// -/// Spare for expansion (or alignment) -/// + /// Spare for expansion (or alignment) [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public readonly byte[] spare; -/// -/// Operating system name -/// + /// Operating system name [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string sysname; -/// -/// Operating system version / release -/// + /// Operating system version / release [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string release; -/// -/// Operating system machine / architecture -/// + /// Operating system machine / architecture [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string machine; } - /// - /// Request a list of device - /// + /// Request a list of device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCommandListDevices { @@ -127,434 +96,301 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns the requested list of devices - /// + /// Returns the requested list of devices [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public readonly struct AaruPacketResponseListDevices { /// Packet header public readonly AaruPacketHeader hdr; - /// - /// How many device descriptors follows this structure in the packet - /// - public readonly ushort devices; + /// How many device descriptors follows this structure in the packet + public readonly ushort devices; } - /// - /// Sends a request or returns a response that requires no intervention or further processing - /// + /// Sends a request or returns a response that requires no intervention or further processing [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketNop { /// Packet header public AaruPacketHeader hdr; - /// - /// Reason code - /// - public AaruNopReason reasonCode; - /// - /// Spare for expansion (or alignment) - /// + /// Reason code + public AaruNopReason reasonCode; + /// Spare for expansion (or alignment) [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public readonly byte[] spare; -/// -/// Reason name -/// + /// Reason name [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string reason; -/// -/// Operating system error number -/// + /// Operating system error number public int errno; } - /// - /// Requests to open a device - /// + /// Requests to open a device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCommandOpenDevice { /// Packet header public AaruPacketHeader hdr; - /// - /// Device path - /// + /// Device path [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)] public string device_path; } /// - /// Requests remote to send a command to a SCSI device. This header is followed by the CDB and after it comes the buffer. + /// Requests remote to send a command to a SCSI device. This header is followed by the CDB and after it comes the + /// buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdScsi { /// Packet header public AaruPacketHeader hdr; - /// - /// Length in bytes of the CDB that follows this structure - /// - public uint cdb_len; - /// - /// Length in bytes of the buffer that follows the CDB - /// - public uint buf_len; - /// - /// Direction of SCSI data transfer - /// - public int direction; - /// - /// Timeout waiting for device to respond to command - /// - public uint timeout; + /// Length in bytes of the CDB that follows this structure + public uint cdb_len; + /// Length in bytes of the buffer that follows the CDB + public uint buf_len; + /// Direction of SCSI data transfer + public int direction; + /// Timeout waiting for device to respond to command + public uint timeout; } /// - /// Returns the response from a command sent to a SCSI device. This structure is followed by the buffer containing the REQUEST SENSE response and this is followed by the data buffer. + /// Returns the response from a command sent to a SCSI device. This structure is followed by the buffer containing + /// the REQUEST SENSE response and this is followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResScsi { /// Packet header public AaruPacketHeader hdr; - /// - /// Size the REQUEST SENSE buffer that follows this structure - /// - public uint sense_len; - /// - /// Length in bytes of the data buffer that follows the sense buffer - /// - public uint buf_len; - /// - /// Time in milliseconds it took for the device to execute the command - /// - public uint duration; - /// - /// Set to anything different of zero if there was a SENSE returned - /// - public uint sense; - /// - /// Set to the remote operating system error number - /// - public uint error_no; + /// Size the REQUEST SENSE buffer that follows this structure + public uint sense_len; + /// Length in bytes of the data buffer that follows the sense buffer + public uint buf_len; + /// Time in milliseconds it took for the device to execute the command + public uint duration; + /// Set to anything different of zero if there was a SENSE returned + public uint sense; + /// Set to the remote operating system error number + public uint error_no; } /// - /// Requests remote to send a command to an ATA device using the CHS command set. This header is followed by the data buffer. + /// Requests remote to send a command to an ATA device using the CHS command set. This header is followed by the + /// data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdAtaChs { /// Packet header public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers to set in the ATA device - /// - public AtaRegistersChs registers; - /// - /// ATA protocol code - /// - public byte protocol; - /// - /// ATA transfer register indicator - /// - public byte transferRegister; - /// - /// Set to true to transfer blocks, false to transfer bytes - /// + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers to set in the ATA device + public AtaRegistersChs registers; + /// ATA protocol code + public byte protocol; + /// ATA transfer register indicator + public byte transferRegister; + /// Set to true to transfer blocks, false to transfer bytes [MarshalAs(UnmanagedType.U1)] public bool transferBlocks; - /// - /// Spare for expansion (or alignment) - /// + /// Spare for expansion (or alignment) public byte spare; - /// - /// Timeout waiting for device to respond to command - /// + /// Timeout waiting for device to respond to command public uint timeout; } /// - /// Returns the response from a command sent to an ATA device using the CHS command set. This structure is followed by the data buffer. + /// Returns the response from a command sent to an ATA device using the CHS command set. This structure is + /// followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResAtaChs { /// Packet header - public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers as set back by the ATA device - /// + public AaruPacketHeader hdr; + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers as set back by the ATA device public AtaErrorRegistersChs registers; - /// - /// Time in milliseconds it took for the device to execute the command - /// - public uint duration; - /// - /// Set to anything different of zero if the device set an error condition - /// - public uint sense; - /// - /// Set to the remote operating system error number - /// - public uint error_no; + /// Time in milliseconds it took for the device to execute the command + public uint duration; + /// Set to anything different of zero if the device set an error condition + public uint sense; + /// Set to the remote operating system error number + public uint error_no; } /// - /// Requests remote to send a command to an ATA device using the 28-bit command set. This header is followed by the data buffer. + /// Requests remote to send a command to an ATA device using the 28-bit command set. This header is followed by + /// the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdAtaLba28 { /// Packet header - public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers to set in the ATA device - /// + public AaruPacketHeader hdr; + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers to set in the ATA device public AtaRegistersLba28 registers; - /// - /// ATA protocol code - /// - public byte protocol; - /// - /// ATA transfer register indicator - /// - public byte transferRegister; - /// - /// Set to true to transfer blocks, false to transfer bytes - /// + /// ATA protocol code + public byte protocol; + /// ATA transfer register indicator + public byte transferRegister; + /// Set to true to transfer blocks, false to transfer bytes [MarshalAs(UnmanagedType.U1)] public bool transferBlocks; - /// - /// Spare for expansion (or alignment) - /// + /// Spare for expansion (or alignment) public byte spare; - /// - /// Timeout waiting for device to respond to command - /// + /// Timeout waiting for device to respond to command public uint timeout; } /// - /// Returns the response from a command sent to an ATA device using the 28-bit LBA command set. This structure is followed by the data buffer. + /// Returns the response from a command sent to an ATA device using the 28-bit LBA command set. This structure is + /// followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResAtaLba28 { /// Packet header - public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers as set back by the ATA device - /// + public AaruPacketHeader hdr; + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers as set back by the ATA device public AtaErrorRegistersLba28 registers; - /// - /// Time in milliseconds it took for the device to execute the command - /// - public uint duration; - /// - /// Set to anything different of zero if the device set an error condition - /// - public uint sense; - /// - /// Set to the remote operating system error number - /// - public uint error_no; + /// Time in milliseconds it took for the device to execute the command + public uint duration; + /// Set to anything different of zero if the device set an error condition + public uint sense; + /// Set to the remote operating system error number + public uint error_no; } /// - /// Requests remote to send a command to an ATA device using the 48-bit command set. This header is followed by the data buffer. + /// Requests remote to send a command to an ATA device using the 48-bit command set. This header is followed by + /// the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdAtaLba48 { /// Packet header - public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers to set in the ATA device - /// + public AaruPacketHeader hdr; + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers to set in the ATA device public AtaRegistersLba48 registers; - /// - /// ATA protocol code - /// - public byte protocol; - /// - /// ATA transfer register indicator - /// - public byte transferRegister; - /// - /// Set to true to transfer blocks, false to transfer bytes - /// + /// ATA protocol code + public byte protocol; + /// ATA transfer register indicator + public byte transferRegister; + /// Set to true to transfer blocks, false to transfer bytes [MarshalAs(UnmanagedType.U1)] public bool transferBlocks; - /// - /// Spare for expansion (or alignment) - /// + /// Spare for expansion (or alignment) public byte spare; - /// - /// Timeout waiting for device to respond to command - /// + /// Timeout waiting for device to respond to command public uint timeout; } /// - /// Returns the response from a command sent to an ATA device using the 48-bit LBA command set. This structure is followed by the data buffer. + /// Returns the response from a command sent to an ATA device using the 48-bit LBA command set. This structure is + /// followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResAtaLba48 { /// Packet header - public AaruPacketHeader hdr; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Registers as set back by the ATA device - /// + public AaruPacketHeader hdr; + /// Length in bytes of the data buffer + public uint buf_len; + /// Registers as set back by the ATA device public AtaErrorRegistersLba48 registers; - /// - /// Time in milliseconds it took for the device to execute the command - /// - public uint duration; - /// - /// Set to anything different of zero if the device set an error condition - /// - public uint sense; - /// - /// Set to the remote operating system error number - /// - public uint error_no; + /// Time in milliseconds it took for the device to execute the command + public uint duration; + /// Set to anything different of zero if the device set an error condition + public uint sense; + /// Set to the remote operating system error number + public uint error_no; } - /// - /// SecureDigital or MultiMediaCard command description - /// + /// SecureDigital or MultiMediaCard command description [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruCmdSdhci { - /// - /// Command - /// + /// Command public MmcCommands command; - /// - /// Set to true if the command writes to the device, false otherwise - /// + /// Set to true if the command writes to the device, false otherwise [MarshalAs(UnmanagedType.U1)] public bool write; - /// - /// Set to true if it is an application command, false otherwise - /// + /// Set to true if it is an application command, false otherwise [MarshalAs(UnmanagedType.U1)] public bool application; - /// - /// Flags - /// + /// Flags public MmcFlags flags; - /// - /// Argument - /// - public uint argument; - /// - /// Block size - /// - public uint block_size; - /// - /// Number of blocks to transfer - /// - public uint blocks; - /// - /// Length in bytes of the data buffer - /// - public uint buf_len; - /// - /// Timeout waiting for device to respond to command - /// - public uint timeout; + /// Argument + public uint argument; + /// Block size + public uint block_size; + /// Number of blocks to transfer + public uint blocks; + /// Length in bytes of the data buffer + public uint buf_len; + /// Timeout waiting for device to respond to command + public uint timeout; } /// - /// Requests remote to send a command to a SecureDigital or MultiMediaCard device attached using a SDHCI controller. This structure is followed by the data buffer. + /// Requests remote to send a command to a SecureDigital or MultiMediaCard device attached using a SDHCI + /// controller. This structure is followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdSdhci { /// Packet header public AaruPacketHeader hdr; - /// - /// SecureDigital or MultiMediaCard command description - /// - public AaruCmdSdhci command; + /// SecureDigital or MultiMediaCard command description + public AaruCmdSdhci command; } /// - /// Returns the response from a command sent to a SecureDigital or MultiMediaCard device attached to a SDHCI controller. This structure is followed by the data buffer. + /// Returns the response from a command sent to a SecureDigital or MultiMediaCard device attached to a SDHCI + /// controller. This structure is followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruResSdhci { - /// - /// Length in bytes of the data buffer - /// + /// Length in bytes of the data buffer public uint buf_len; - /// - /// Response registers - /// + /// Response registers [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public uint[] response; - /// - /// Time in milliseconds it took for the device to execute the command - /// + /// Time in milliseconds it took for the device to execute the command public uint duration; - /// - /// Set to anything different of zero if the device set an error condition - /// + /// Set to anything different of zero if the device set an error condition public uint sense; - /// - /// Set to the remote operating system error number - /// + /// Set to the remote operating system error number public uint error_no; } /// - /// Returns the response from a command sent to a SecureDigital or MultiMediaCard device attached to a SDHCI controller. This structure is followed by the data buffer. + /// Returns the response from a command sent to a SecureDigital or MultiMediaCard device attached to a SDHCI + /// controller. This structure is followed by the data buffer. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResSdhci { /// Packet header public AaruPacketHeader hdr; - /// - /// Response - /// - public AaruResSdhci res; + /// Response + public AaruResSdhci res; } - /// - /// Requests the Aaru device type for the opened device - /// + /// Requests the Aaru device type for the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdGetDeviceType { @@ -562,23 +398,17 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns the Aaru device type for the opened device - /// + /// Returns the Aaru device type for the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResGetDeviceType { /// Packet header public AaruPacketHeader hdr; - /// - /// Aaru's device type - /// - public DeviceType device_type; + /// Aaru's device type + public DeviceType device_type; } - /// - /// Requests the registers of a SecureDigital or MultiMediaCard attached to an SDHCI controller - /// + /// Requests the registers of a SecureDigital or MultiMediaCard attached to an SDHCI controller [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdGetSdhciRegisters { @@ -586,60 +416,41 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns the registers of a SecureDigital or MultiMediaCard attached to an SDHCI controller - /// + /// Returns the registers of a SecureDigital or MultiMediaCard attached to an SDHCI controller [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResGetSdhciRegisters { /// Packet header public AaruPacketHeader hdr; /// - /// true if the device is attached to an SDHCI controller and the rest of the fields on this packet are valid, false otherwise + /// true if the device is attached to an SDHCI controller and the rest of the fields on this packet are + /// valid, false otherwise /// [MarshalAs(UnmanagedType.U1)] public bool isSdhci; - /// - /// CSD registers - /// + /// CSD registers [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] csd; - /// - /// CID registers - /// + /// CID registers [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] cid; - /// - /// OCR registers - /// + /// OCR registers [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public byte[] ocr; - /// - /// SCR registers - /// + /// SCR registers [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public byte[] scr; - /// - /// Length of the CSD registers - /// + /// Length of the CSD registers public uint csd_len; - /// - /// Length of the CID registers - /// + /// Length of the CID registers public uint cid_len; - /// - /// Length of the OCR registers - /// + /// Length of the OCR registers public uint ocr_len; - /// - /// Length of the SCR registers - /// + /// Length of the SCR registers public uint scr_len; } - /// - /// Requests information about the USB connection of the opened device - /// + /// Requests information about the USB connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdGetUsbData { @@ -647,56 +458,39 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns information about the USB connection of the opened device - /// + /// Returns information about the USB connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResGetUsbData { /// Packet header public AaruPacketHeader hdr; /// - /// true if the device is attached using USB and the rest of the fields on this packet are valid, false otherwise + /// true if the device is attached using USB and the rest of the fields on this packet are valid, + /// false otherwise /// [MarshalAs(UnmanagedType.U1)] public bool isUsb; - /// - /// Length of the descriptors - /// + /// Length of the descriptors public ushort descLen; - /// - /// Raw USB descriptors - /// + /// Raw USB descriptors [MarshalAs(UnmanagedType.ByValArray, SizeConst = 65536)] public byte[] descriptors; - /// - /// USB vendor ID - /// + /// USB vendor ID public ushort idVendor; - /// - /// USB product ID - /// + /// USB product ID public ushort idProduct; - /// - /// USB manufacturer string - /// + /// USB manufacturer string [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string manufacturer; - /// - /// USB product string - /// + /// USB product string [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string product; - /// - /// USB serial number string - /// + /// USB serial number string [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string serial; } - /// - /// Requests information about the FireWire connection of the opened device - /// + /// Requests information about the FireWire connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdGetFireWireData { @@ -704,46 +498,33 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns information about the FireWire connection of the opened device - /// + /// Returns information about the FireWire connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResGetFireWireData { /// Packet header public AaruPacketHeader hdr; /// - /// true if the device is attached using FireWire and the rest of the fields on this packet are valid, false otherwise + /// true if the device is attached using FireWire and the rest of the fields on this packet are valid, + /// false otherwise /// [MarshalAs(UnmanagedType.U1)] public bool isFireWire; - /// - /// FireWire model ID - /// - public uint idModel; - /// - /// FireWire vendor ID - /// - public uint idVendor; - /// - /// FireWire's device GUID - /// + /// FireWire model ID + public uint idModel; + /// FireWire vendor ID + public uint idVendor; + /// FireWire's device GUID public ulong guid; - /// - /// FireWire vendor string - /// + /// FireWire vendor string [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string vendor; - /// - /// FireWire model string - /// + /// FireWire model string [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string model; } - /// - /// Requests information about the PCMCIA or CardBus connection of the opened device - /// + /// Requests information about the PCMCIA or CardBus connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdGetPcmciaData { @@ -751,33 +532,26 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns information about the PCMCIA or CardBus connection of the opened device - /// + /// Returns information about the PCMCIA or CardBus connection of the opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResGetPcmciaData { /// Packet header public AaruPacketHeader hdr; /// - /// true if the device is a PCMCIA or CardBus device and the rest of the fields on this packet are valid, false otherwise + /// true if the device is a PCMCIA or CardBus device and the rest of the fields on this packet are valid, + /// false otherwise /// [MarshalAs(UnmanagedType.U1)] public bool isPcmcia; - /// - /// CIS buffer length - /// + /// CIS buffer length public ushort cis_len; - /// - /// CIS buffer - /// + /// CIS buffer [MarshalAs(UnmanagedType.ByValArray, SizeConst = 65536)] public byte[] cis; } - /// - /// Requests to close the currently opened device - /// + /// Requests to close the currently opened device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdClose { @@ -785,9 +559,7 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Requests to know if the remote is running with administrative (aka root) privileges - /// + /// Requests to know if the remote is running with administrative (aka root) privileges [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdAmIRoot { @@ -795,37 +567,27 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Returns if the remote is running with administrative (aka root) privileges - /// + /// Returns if the remote is running with administrative (aka root) privileges [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResAmIRoot { /// Packet header public AaruPacketHeader hdr; - /// - /// Set to any value different of 0 to indicate the remote is running with administrative (aka root) privileges - /// - public uint am_i_root; + /// Set to any value different of 0 to indicate the remote is running with administrative (aka root) privileges + public uint am_i_root; } - /// - /// Initiates a multiple command block with the SDHCI controller the SecureDigital or MultiMediaCard is attached - /// + /// Initiates a multiple command block with the SDHCI controller the SecureDigital or MultiMediaCard is attached [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketMultiCmdSdhci { /// Packet header public AaruPacketHeader hdr; - /// - /// How many commands to queue - /// - public ulong cmd_count; + /// How many commands to queue + public ulong cmd_count; } - /// - /// Closes and then re-opens the same device - /// + /// Closes and then re-opens the same device [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdReOpen { @@ -833,39 +595,27 @@ namespace Aaru.Devices.Remote public AaruPacketHeader hdr; } - /// - /// Reads data using operating system buffers - /// + /// Reads data using operating system buffers [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketCmdOsRead { /// Packet header public AaruPacketHeader hdr; - /// - /// Device offset where to read - /// - public ulong offset; - /// - /// Number of bytes to read - /// - public uint length; + /// Device offset where to read + public ulong offset; + /// Number of bytes to read + public uint length; } - /// - /// Returns data read using operating system buffers. This structure is followed by the data buffer. - /// + /// Returns data read using operating system buffers. This structure is followed by the data buffer. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct AaruPacketResOsRead { /// Packet header public AaruPacketHeader hdr; - /// - /// Set to the remote operating system error number - /// - public int errno; - /// - /// Time in milliseconds it took for the device to execute the command - /// - public uint duration; + /// Set to the remote operating system error number + public int errno; + /// Time in milliseconds it took for the device to execute the command + public uint duration; } } \ No newline at end of file diff --git a/Aaru.Filesystems/AODOS.cs b/Aaru.Filesystems/AODOS.cs index 61a8d72ff..ac436cc06 100644 --- a/Aaru.Filesystems/AODOS.cs +++ b/Aaru.Filesystems/AODOS.cs @@ -45,9 +45,7 @@ namespace Aaru.Filesystems // Information has been extracted looking at available disk images // This may be missing fields, or not, I don't know russian so any help is appreciated /// - /// - /// Implements detection of the AO-DOS filesystem - /// + /// Implements detection of the AO-DOS filesystem public sealed class AODOS : IFilesystem { readonly byte[] _identifier = @@ -57,13 +55,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Alexander Osipov DOS file system"; + public string Name => "Alexander Osipov DOS file system"; /// - public Guid Id => new Guid("668E5039-9DDD-442A-BE1B-A315D6E38E26"); + public Guid Id => new Guid("668E5039-9DDD-442A-BE1B-A315D6E38E26"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/APFS.cs b/Aaru.Filesystems/APFS.cs index f714785ca..77edd9a41 100644 --- a/Aaru.Filesystems/APFS.cs +++ b/Aaru.Filesystems/APFS.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Apple File System (APFS) - /// + /// Implements detection of the Apple File System (APFS) [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class APFS : IFilesystem { @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Apple File System"; + public string Name => "Apple File System"; /// - public Guid Id => new Guid("A4060F9D-2909-42E2-9D95-DB31FA7EA797"); + public Guid Id => new Guid("A4060F9D-2909-42E2-9D95-DB31FA7EA797"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Aaru.Filesystems.csproj b/Aaru.Filesystems/Aaru.Filesystems.csproj index 4cc630701..edcaf9073 100644 --- a/Aaru.Filesystems/Aaru.Filesystems.csproj +++ b/Aaru.Filesystems/Aaru.Filesystems.csproj @@ -55,179 +55,179 @@ false - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -260,54 +260,53 @@ - - - - - - - - + + + + + + + + LICENSE.LGPL - - - + + - - - - + + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Filesystems/Acorn.cs b/Aaru.Filesystems/Acorn.cs index de633983e..c52dc1b5b 100644 --- a/Aaru.Filesystems/Acorn.cs +++ b/Aaru.Filesystems/Acorn.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of Acorn's Advanced Data Filing System (ADFS) - /// + /// Implements detection of Acorn's Advanced Data Filing System (ADFS) public sealed class AcornADFS : IFilesystem { /// Location for boot block, in bytes @@ -70,13 +68,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Acorn Advanced Disc Filing System"; + public string Name => "Acorn Advanced Disc Filing System"; /// - public Guid Id => new Guid("BAFC1E50-9C64-4CD3-8400-80628CC27AFA"); + public Guid Id => new Guid("BAFC1E50-9C64-4CD3-8400-80628CC27AFA"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; // TODO: BBC Master hard disks are untested... /// diff --git a/Aaru.Filesystems/AmigaDOS.cs b/Aaru.Filesystems/AmigaDOS.cs index 0c190ef7e..9ba8dc45a 100644 --- a/Aaru.Filesystems/AmigaDOS.cs +++ b/Aaru.Filesystems/AmigaDOS.cs @@ -45,9 +45,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of Amiga Fast File System (AFFS) - /// + /// Implements detection of Amiga Fast File System (AFFS) public sealed class AmigaDOSPlugin : IFilesystem { const uint FFS_MASK = 0x444F5300; @@ -59,13 +57,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Amiga DOS filesystem"; + public string Name => "Amiga DOS filesystem"; /// - public Guid Id => new Guid("3c882400-208c-427d-a086-9119852a1bc7"); + public Guid Id => new Guid("3c882400-208c-427d-a086-9119852a1bc7"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) @@ -117,7 +115,7 @@ namespace Aaru.Filesystems ulong[] rootPtrs = { bRootPtr + partition.Start, ((partition.End - partition.Start + 1) / 2) + partition.Start - 2, - ((partition.End - partition.Start + 1) / 2) + partition.Start - 1, + ((partition.End - partition.Start + 1) / 2) + partition.Start - 1, ((partition.End - partition.Start + 1) / 2) + partition.Start, ((partition.End - partition.Start + 1) / 2) + partition.Start + 4 }; @@ -202,7 +200,7 @@ namespace Aaru.Filesystems ulong[] rootPtrs = { bRootPtr + partition.Start, ((partition.End - partition.Start + 1) / 2) + partition.Start - 2, - ((partition.End - partition.Start + 1) / 2) + partition.Start - 1, + ((partition.End - partition.Start + 1) / 2) + partition.Start - 1, ((partition.End - partition.Start + 1) / 2) + partition.Start, ((partition.End - partition.Start + 1) / 2) + partition.Start + 4 }; diff --git a/Aaru.Filesystems/AppleDOS/AppleDOS.cs b/Aaru.Filesystems/AppleDOS/AppleDOS.cs index e48d71e69..29a8f5eb3 100644 --- a/Aaru.Filesystems/AppleDOS/AppleDOS.cs +++ b/Aaru.Filesystems/AppleDOS/AppleDOS.cs @@ -39,9 +39,7 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements the Apple DOS 3 filesystem - /// + /// Implements the Apple DOS 3 filesystem public sealed partial class AppleDOS : IReadOnlyFilesystem { bool _debug; @@ -58,13 +56,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Apple DOS File System"; + public string Name => "Apple DOS File System"; /// - public Guid Id => new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n"); + public Guid Id => new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public IEnumerable<(string name, Type type, string description)> SupportedOptions => diff --git a/Aaru.Filesystems/AppleHFS/AppleHFS.cs b/Aaru.Filesystems/AppleHFS/AppleHFS.cs index f817e1ad5..e462975e4 100644 --- a/Aaru.Filesystems/AppleHFS/AppleHFS.cs +++ b/Aaru.Filesystems/AppleHFS/AppleHFS.cs @@ -41,20 +41,18 @@ namespace Aaru.Filesystems // Information from Inside Macintosh // https://developer.apple.com/legacy/library/documentation/mac/pdf/Files/File_Manager.pdf /// - /// - /// Implements detection of the Apple Hierarchical File System (HFS) - /// + /// Implements detection of the Apple Hierarchical File System (HFS) public sealed partial class AppleHFS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Apple Hierarchical File System"; + public string Name => "Apple Hierarchical File System"; /// - public Guid Id => new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F"); + public Guid Id => new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; } } \ No newline at end of file diff --git a/Aaru.Filesystems/AppleHFSPlus.cs b/Aaru.Filesystems/AppleHFSPlus.cs index 0ecc7200f..9a9e2119c 100644 --- a/Aaru.Filesystems/AppleHFSPlus.cs +++ b/Aaru.Filesystems/AppleHFSPlus.cs @@ -43,21 +43,19 @@ namespace Aaru.Filesystems { // Information from Apple TechNote 1150: https://developer.apple.com/legacy/library/technotes/tn/tn1150.html /// - /// - /// Implements detection of Apple Hierarchical File System Plus (HFS+) - /// + /// Implements detection of Apple Hierarchical File System Plus (HFS+) public sealed class AppleHFSPlus : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Apple HFS+ filesystem"; + public string Name => "Apple HFS+ filesystem"; /// - public Guid Id => new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08"); + public Guid Id => new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/AppleMFS/AppleMFS.cs b/Aaru.Filesystems/AppleMFS/AppleMFS.cs index 47bf4ecc4..c3e557c54 100644 --- a/Aaru.Filesystems/AppleMFS/AppleMFS.cs +++ b/Aaru.Filesystems/AppleMFS/AppleMFS.cs @@ -40,9 +40,7 @@ namespace Aaru.Filesystems { // Information from Inside Macintosh Volume II /// - /// - /// Implements the Apple Macintosh File System - /// + /// Implements the Apple Macintosh File System public sealed partial class AppleMFS : IReadOnlyFilesystem { bool _mounted; @@ -67,13 +65,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Apple Macintosh File System"; + public string Name => "Apple Macintosh File System"; /// - public Guid Id => new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A"); + public Guid Id => new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; // TODO: Implement Finder namespace (requires decoding Desktop database) /// diff --git a/Aaru.Filesystems/AtheOS.cs b/Aaru.Filesystems/AtheOS.cs index 37a7ca173..a86e3c3ab 100644 --- a/Aaru.Filesystems/AtheOS.cs +++ b/Aaru.Filesystems/AtheOS.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection for the AtheOS filesystem - /// + /// Implements detection for the AtheOS filesystem [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class AtheOS : IFilesystem { @@ -61,13 +59,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "AtheOS Filesystem"; + public string Name => "AtheOS Filesystem"; /// - public Guid Id => new Guid("AAB2C4F1-DC07-49EE-A948-576CC51B58C5"); + public Guid Id => new Guid("AAB2C4F1-DC07-49EE-A948-576CC51B58C5"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/BFS.cs b/Aaru.Filesystems/BFS.cs index 9893e6b07..5d93de208 100644 --- a/Aaru.Filesystems/BFS.cs +++ b/Aaru.Filesystems/BFS.cs @@ -44,9 +44,7 @@ namespace Aaru.Filesystems { // Information from Practical Filesystem Design, ISBN 1-55860-497-9 /// - /// - /// Implements detection of the Be (new) filesystem - /// + /// Implements detection of the Be (new) filesystem [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class BeFS : IFilesystem { @@ -67,13 +65,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Be Filesystem"; + public string Name => "Be Filesystem"; /// - public Guid Id => new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672"); + public Guid Id => new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/BTRFS.cs b/Aaru.Filesystems/BTRFS.cs index 8d1aba972..73e18c747 100644 --- a/Aaru.Filesystems/BTRFS.cs +++ b/Aaru.Filesystems/BTRFS.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the b-tree filesystem (btrfs) - /// + /// Implements detection of the b-tree filesystem (btrfs) public sealed class BTRFS : IFilesystem { /// BTRFS magic "_BHRfS_M" @@ -53,13 +51,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "B-tree file system"; + public string Name => "B-tree file system"; /// - public Guid Id => new Guid("C904CF15-5222-446B-B7DB-02EAC5D781B3"); + public Guid Id => new Guid("C904CF15-5222-446B-B7DB-02EAC5D781B3"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/CBM.cs b/Aaru.Filesystems/CBM.cs index a29e1c925..bee3159ed 100644 --- a/Aaru.Filesystems/CBM.cs +++ b/Aaru.Filesystems/CBM.cs @@ -44,21 +44,19 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the filesystem used in 8-bit Commodore microcomputers - /// + /// Implements detection of the filesystem used in 8-bit Commodore microcomputers public sealed class CBM : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Commodore file system"; + public string Name => "Commodore file system"; /// - public Guid Id => new Guid("D104744E-A376-450C-BAC0-1347C93F983B"); + public Guid Id => new Guid("D104744E-A376-450C-BAC0-1347C93F983B"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/CPM/CPM.cs b/Aaru.Filesystems/CPM/CPM.cs index 6d069cc2f..2829c15c2 100644 --- a/Aaru.Filesystems/CPM/CPM.cs +++ b/Aaru.Filesystems/CPM/CPM.cs @@ -40,9 +40,7 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements the CP/M filesystem - /// + /// Implements the CP/M filesystem public sealed partial class CPM : IReadOnlyFilesystem { /// True if thinks this is a CP/M filesystem @@ -86,13 +84,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "CP/M File System"; + public string Name => "CP/M File System"; /// - public Guid Id => new Guid("AA2B8585-41DF-4E3B-8A35-D1A935E2F8A1"); + public Guid Id => new Guid("AA2B8585-41DF-4E3B-8A35-D1A935E2F8A1"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public IEnumerable<(string name, Type type, string description)> SupportedOptions => diff --git a/Aaru.Filesystems/CPM/cpmdefs.xml b/Aaru.Filesystems/CPM/cpmdefs.xml index 67f27d327..faf52856a 100644 --- a/Aaru.Filesystems/CPM/cpmdefs.xml +++ b/Aaru.Filesystems/CPM/cpmdefs.xml @@ -1,21849 +1,21849 @@ - - - - Generic CP/M - SSSD 8" - 128 x 26 - FM - HIGH - 77 - 1 - 26 - 128 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - 20 - 26 - 6 - 12 - 18 - 24 - 4 - 10 - 16 - 22 - - - - 3 - 7 - 0 - 242 - 63 - 192 - 0 - 2 - 0 - false - false - - - ABC-80 - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 8 - 15 - 6 - 13 - 4 - 11 - 2 - 9 - 16 - 7 - 14 - 5 - 12 - 3 - 10 - - - - 3 - 7 - 0 - 151 - 63 - 192 - 0 - 2 - 0 - false - false - - - A. B. Dick Magna III - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 0 - - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - - - SIDES - - 3 - 7 - 0 - 255 - 255 - 255 - 0 - 4 - 0 - false - false - - - Actrix (Access Matrix) - SSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Actrix (Access Matrix) - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 1 - 174 - 63 - 128 - 0 - 2 - 0 - false - false - - - Adler Textriter - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 3 - 7 - 0 - 159 - 31 - 128 - 0 - 0 - 0 - false - false - - - Advanced Digital Super 6 - SSDD 48 tpi 5.25" - 1024 x 4 - MFM - LOW - 40 - 1 - 4 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - - - - 4 - 15 - 0 - 77 - 63 - 128 - 0 - 1 - 0 - false - false - - - Advanced Digital Super 6 - DSDD 48 tpi 5.25" - 1024 x 4 - MFM - LOW - 40 - 2 - 4 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - - - - 0 - - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 0 - 155 - 127 - 192 - 0 - 2 - 0 - false - false - - - Advanced Digital Super 6 - DSDD 96 tpi 5.25" - 1024 x 4 - MFM - LOW - 80 - 2 - 4 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - - - - 1 - - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 0 - 300 - 127 - 192 - 0 - 2 - 0 - false - false - - - Advanced Digital Super 8 - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 608 - 255 - 240 - 0 - 2 - 0 - false - false - - - Advanced Digital TurboDOS 312K - DSDD 48 tpi 5.25" - 1024 x 4 - MFM - LOW - 40 - 2 - 4 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - - - - 0 - - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 1 - 155 - 127 - 192 - 0 - 2 - 0 - false - false - - - Advanced Digital TurboDOS 366K - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 182 - 127 - 192 - 0 - 6 - 0 - false - false - - - Advanced Controls - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 0 - 385 - 127 - 192 - 0 - 6 - 0 - false - false - - - Allen-Bradley Advisor+ - DSDD 3.5" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 318 - 127 - 192 - 0 - 0 - 1 - false - false - - - Alspa - SSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 1 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 4 - 15 - 0 - 300 - 127 - 192 - 0 - 2 - 0 - false - false - - - Altos - SSSD 8" - 128 x 26 - FM - HIGH - 77 - 1 - 26 - 128 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 3 - 7 - 0 - 242 - 63 - 192 - 0 - 2 - 0 - false - false - - - Altos - DSSD 8" - 128 x 26 - FM - HIGH - 77 - 2 - 26 - 128 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - 20 - 26 - 6 - 12 - 18 - 24 - 4 - 10 - 16 - 22 - - - - 1 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - 20 - 26 - 6 - 12 - 18 - 24 - 4 - 10 - 16 - 22 - - - SIDES - - 5 - 31 - 3 - 122 - 127 - 128 - 0 - 2 - 0 - false - false - - - Altos - SSDD 8" - 512 x 15 - MFM - HIGH - 77 - 1 - 15 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 5 - 31 - 3 - 139 - 127 - 128 - 0 - 2 - 0 - false - false - - - Altos - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - SIDES - - 5 - 31 - 1 - 284 - 255 - 192 - 0 - 2 - 0 - false - false - - - Altos Series 5 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 176 - 176 - 192 - 0 - 2 - 0 - false - false - - - Amigo - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 3 - 7 - 0 - 189 - 63 - 192 - 0 - 2 - 0 - false - false - - - Amigo - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 195 - 63 - 128 - 0 - 2 - 0 - false - false - - - Ampro - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 4 - 15 - 1 - 94 - 63 - 128 - 0 - 2 - 0 - false - false - - - Ampro - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - - 1 - - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Ampro - SSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 1 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Ampro - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 2 - - 0 - - 17 - 18 - 19 - 20 - 21 - - - - 1 - - 17 - 18 - 19 - 20 - 21 - - - SIDES - - 4 - 15 - 0 - 394 - 255 - 240 - 0 - 2 - 0 - false - false - - - Amstrad PCW 8256 - SSDD 48 tpi 3.00" - MFM - LOW - 40 - 1 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 175 - 63 - 192 - 0 - 1 - 0 - false - false - - - Amstrad PCW 8256 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 356 - 255 - 240 - 0 - 1 - 0 - false - false - - - Amstrad CPC464 - SSDD 48 tpi 5.25"/3" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 5 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 3 - 7 - 0 - 171 - 63 - 192 - 0 - 2 - 0 - false - false - - - Amstrad CPC464 - SSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 1 - 9 - 512 - 5 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 5 - 31 - 3 - 87 - 127 - 128 - 0 - 2 - 0 - false - false - - - Amstrad PCW 8512 - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 356 - 255 - 240 - 0 - 1 - 0 - false - false - - - Amstrad CPC 6128 - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 1 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - SIDES - - 4 - 15 - 1 - 175 - 127 - 192 - 0 - 2 - 0 - false - false - - - Amstrad CPC 6128 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 1 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - SIDES - - 5 - 31 - 3 - 175 - 127 - 128 - 0 - 2 - 0 - false - false - - - Amstrad CPC 6128 Side 1 - SSDD 3.5" / 3" - 512 x 9 - MFM - LOW - 80 - 1 - 9 - 512 - 0 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 180 - 63 - 192 - 0 - 0 - 0 - false - false - - - Amstrad CPC 6128 Side 2 - SSDD 3.5" / 3" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 180 - 63 - 192 - 0 - 80 - 0 - false - false - - - Amstrad PCW w/DU49, Moonstone XFORMAT - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 5 - 31 - 3 - 198 - 255 - 192 - 0 - 1 - 0 - false - false - - - Amstrad CPC 6128 Vortex - DSDD 3.5"/96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 178 - 127 - 128 - 0 - 2 - 0 - false - false - - - Archive I - SSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Archive II & III - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 1 - - 1 - 4 - 2 - 5 - 3 - - - SIDES - - 4 - 15 - 0 - 394 - 319 - 248 - 0 - 2 - 0 - false - true - - - Arisia - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 3 - 7 - 0 - 147 - 127 - 240 - 0 - 2 - 0 - false - false - - - Associate - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - SIDES - - 4 - 15 - 1 - 195 - 127 - 192 - 0 - 2 - 0 - false - false - - - Aster CT-80 - DSDD 96 tpi 5.25" - 1024 x 5, 3:1 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 0 - 394 - 127 - 192 - 0 - 4 - 0 - false - false - - - ATR-8000 - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 3 - 7 - 0 - 189 - 63 - 192 - 0 - 2 - 0 - false - false - - - ATR-8000 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - ATR-8000 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - EAGLE - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 2 - 0 - false - false - - - ATT-7700 - DSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 1 - - 17 - 19 - 21 - 23 - 25 - 27 - 29 - 31 - 18 - 20 - 22 - 24 - 26 - 28 - 30 - 32 - - - SIDES - - 4 - 15 - 0 - 316 - 127 - 192 - 0 - 2 - 0 - false - false - - - Avatar - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 1 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - CYLINDERS - - 4 - 15 - 1 - 191 - 127 - 192 - 0 - 3 - 0 - false - false - - - Barudan - DSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - SIDES - - 5 - 31 - 3 - 155 - 127 - 128 - 0 - 4 - 0 - false - false - - - Beehive - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Beehive Microbee - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - - 1 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Beehive Microbee - SSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 0 - - 0 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Microbee Systems - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 22 - 25 - 28 - 21 - 24 - 27 - 30 - 23 - 26 - 29 - - - - 0 - - 22 - 25 - 28 - 21 - 24 - 27 - 30 - 23 - 26 - 29 - - - SIDES - - 5 - 31 - 3 - 194 - 127 - 128 - 0 - 4 - 0 - false - false - - - Microbee Dreamdisk format - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - - 1 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 0 - 391 - 255 - 240 - 0 - 2 - 0 - false - false - - - Computer Bell - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 192 - 127 - 192 - 0 - 3 - 0 - false - false - - - Big Board (512 bytes/sector) - SSDD 8" - 512 x 15 - MFM - HIGH - 77 - 1 - 15 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 4 - 15 - 0 - 280 - 127 - 192 - 0 - 2 - 0 - false - false - - - Big Board (512 bytes/sector) - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - CYLINDERS - - 4 - 15 - 0 - 569 - 127 - 192 - 0 - 2 - 0 - false - false - - - Big Board SWP 1024 bytes/sector - SSDD 8" - 1024 x 9 - MFM - HIGH - 77 - 1 - 9 - 1024 - 0 - - 4 - 15 - 0 - 336 - 127 - 192 - 0 - 2 - 0 - false - false - - - Bitelex - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 3 - 7 - 0 - 131 - 95 - 224 - 0 - 2 - 0 - false - false - - - BMC IF800 Model 20 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 7 - 13 - 19 - 5 - 11 - 17 - 3 - 9 - 15 - - - - 1 - - 1 - 7 - 13 - 19 - 5 - 11 - 17 - 3 - 9 - 15 - - - SIDES - - 4 - 15 - 0 - 191 - 127 - 192 - 0 - 3 - 0 - false - false - - - Bondwell 12 - SSDD 48 tpi 5.25" - 256 x 10 - MFM - LOW - 40 - 1 - 18 - 256 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 4 - 15 - 1 - 84 - 127 - 192 - 0 - 2 - 0 - false - false - - - Bondwell 14 - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - EAGLE - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - Bondwell 2 - SSDD 3.5" - 256 x 18 - MFM - LOW - 80 - 1 - 18 - 256 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - BOSS TurboDOS - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 616 - 255 - 240 - 0 - 0 - 0 - false - false - - - BTI Systems - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - EAGLE - - 4 - 15 - 1 - 175 - 127 - 192 - 0 - 2 - 0 - false - false - - - Burr-Brown - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 10 - 2 - 11 - 3 - 12 - 4 - 13 - 5 - 14 - 6 - 15 - 7 - 16 - 8 - 17 - 9 - 18 - - - - 1 - - 1 - 10 - 2 - 11 - 3 - 12 - 4 - 13 - 5 - 14 - 6 - 15 - 7 - 16 - 8 - 17 - 9 - 18 - - - SIDES - - 4 - 15 - 1 - 170 - 63 - 128 - 0 - 4 - 0 - false - false - - - Cal-PC - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Cashcom 100 - DSDD 96 tpi 5.25" - 1024 x 4 - MFM - LOW - 80 - 2 - 4 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - - - - 1 - - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 0 - 303 - 127 - 192 - 0 - 2 - 0 - false - false - - - Commodore Business Machines 1581 drive - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 397 - 127 - 192 - 0 - 0 - 0 - false - false - - - CCS (256 bytes/sector) - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - - - - 0 - - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - - - SIDES - - 4 - 15 - 1 - 165 - 63 - 128 - 0 - 6 - 0 - false - false - - - CCS (512 bytes/sector) - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - - 0 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - SIDES - - 4 - 15 - 1 - 184 - 63 - 128 - 0 - 6 - 0 - false - false - - - CCS (1024 bytes/sector) - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 0 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 1 - 184 - 63 - 128 - 0 - 6 - 0 - false - false - - - CCS 8 - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - SIDES - - 6 - 63 - 7 - 149 - 127 - 128 - 0 - 4 - 0 - false - false - - - CCS 2442 - SSDD 8" - 512 x 15 - MFM - HIGH - 77 - 1 - 15 - 512 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - - - - 5 - 31 - 3 - 139 - 127 - 128 - 0 - 2 - 0 - false - false - - - CCS (1024 bytes alternate) - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 1 - 184 - 63 - 128 - 0 - 6 - 0 - false - false - - - CDC-110 Viking - DSDD 8" - 512 x 16 - MFM - HIGH - 77 - 2 - 16 - 512 - 0 - - 0 - - 0 - 4 - 8 - 12 - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - - - - 1 - - 0 - 4 - 8 - 12 - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - - - SIDES - - 4 - 15 - 0 - 608 - 255 - 240 - 0 - 2 - 0 - false - false - - - CDI-5000 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 1 - - 1 - 4 - 2 - 5 - 3 - - - SIDES - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - COLEX 850 - SSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - COLEX 850 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 1 - - 11 - 15 - 19 - 13 - 17 - 12 - 16 - 20 - 14 - 18 - - - SIDES - - 4 - 15 - 0 - 389 - 127 - 192 - 0 - 4 - 0 - false - false - - - CMC Supersystem 2 - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 391 - 127 - 192 - 0 - 3 - 0 - false - false - - - Coin - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - - - EAGLE - - 4 - 15 - 0 - 392 - 127 - 192 - 0 - 3 - 0 - false - false - - - Coleco ADAM, 40 track - SSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 1 - 8 - 512 - 0 - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - - 3 - 7 - 0 - 146 - 63 - 192 - 0 - 0 - 26 - false - false - - - Coleco ADAM, 254K - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - EAGLE - - 3 - 7 - 0 - 255 - 63 - 192 - 0 - 0 - 26 - false - false - - - Coleco ADAM, 320K - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - EAGLE - - 4 - 15 - 1 - 152 - 63 - 128 - 0 - 0 - 26 - false - false - - - Coleco ADAM, 720K - DSDD 3.5" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - - 0 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - SIDES - - 4 - 15 - 0 - 354 - 127 - 192 - 0 - 0 - 26 - false - false - - - Coleco ADAM, 360K - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 1 - 179 - 63 - 128 - 0 - 0 - 4 - false - false - - - Coleco ADAM, E&T PROM 720K - DSDD 3.5" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - - 1 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - SIDES - - 4 - 15 - 0 - 354 - 127 - 192 - 0 - 0 - 26 - false - false - - - Coleco ADAM, 720K - DSDD 3.5" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - - 0 - - 1 - 5 - 9 - 4 - 8 - 3 - 7 - 2 - 6 - - - SIDES - - 4 - 15 - 0 - 358 - 127 - 192 - 0 - 0 - 4 - false - false - - - Coleco ADAM, 1.44M - DSHD 3.5" - 512 x 18 - MFM - HIGH - 80 - 2 - 18 - 512 - 0 - - 0 - - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - - - - 1 - - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - - - SIDES - - 4 - 15 - 0 - 712 - 255 - 240 - 0 - 2 - 0 - false - false - - - Coleco Adam TDOS - DSDD 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - - 1 - - 1 - 6 - 3 - 8 - 5 - 2 - 7 - 4 - - - EAGLE - - 3 - 7 - 0 - 255 - 63 - 192 - 0 - 0 - 26 - false - false - - - Columbia Commander 964 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - COLUMBIA - - 4 - 15 - 1 - 190 - 63 - 128 - 0 - 2 - 0 - false - false - - - Columbia 1600 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - COLUMBIA - - 5 - 31 - 3 - 197 - 255 - 192 - 0 - 2 - 0 - false - false - - - Columbia M64 - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 3 - 7 - 0 - 190 - 127 - 240 - 0 - 2 - 0 - true - false - - - Compis - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 4 - 15 - 0 - 317 - 127 - 192 - 0 - 1 - 0 - false - false - - - Compugraphic MCS-5 - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 3 - 7 - 0 - 155 - 63 - 192 - 0 - 1 - 0 - false - false - - - Compustar Model 30 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 35 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - EAGLE - - 4 - 15 - 1 - 169 - 63 - 128 - 0 - 2 - 0 - true - false - - - Compupro (Viasyn) - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 0 - 389 - 255 - 240 - 0 - 4 - 0 - false - false - - - Compupro (Viasyn) 8/16 - SSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 1 - 8 - 1024 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - - 4 - 15 - 0 - 299 - 127 - 192 - 0 - 2 - 0 - false - false - - - Compupro (Viasyn) 8/16 - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - SIDES - - 4 - 15 - 0 - 599 - 255 - 240 - 0 - 4 - 0 - false - false - - - Compupro (Viasyn) - SSDD 8" - 512 x 15 - MFM - HIGH - 77 - 1 - 15 - 512 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - - - - 4 - 15 - 0 - 280 - 127 - 192 - 0 - 2 - 0 - false - false - - - Compupro (Viasyn) - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 0 - - 0 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - - 4 - 15 - 0 - 242 - 127 - 192 - 0 - 2 - 0 - false - false - - - Compupro (Viasyn) 256 bytes/sector - DSHD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - - 1 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - - 4 - 15 - 0 - 487 - 255 - 240 - 0 - 4 - 0 - false - false - - - CPT Phoenix CP/M - DSDD 3.5" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 0 - 355 - 255 - 240 - 0 - 2 - 0 - false - false - - - Cromemco CDOS - SSSD 48 tpi 5.25" - 128 x 18 - FM - LOW - 40 - 1 - 18 - 128 - 0 - - 0 - - 1 - 6 - 11 - 16 - 3 - 8 - 13 - 18 - 5 - 10 - 15 - 2 - 7 - 12 - 17 - 4 - 9 - 14 - - - - 3 - 7 - 0 - 82 - 63 - 192 - 0 - 3 - 0 - false - false - - - Cromemco CDOS - DSSD 48 tpi 5.25" - 128 x 18 - FM - LOW - 40 - 2 - 128 - 18 - 0 - - 0 - - 1 - 6 - 11 - 16 - 3 - 8 - 13 - 18 - 5 - 10 - 15 - 2 - 7 - 12 - 17 - 4 - 9 - 14 - - - - 1 - - 1 - 6 - 11 - 16 - 3 - 8 - 13 - 18 - 5 - 10 - 15 - 2 - 7 - 12 - 17 - 4 - 9 - 14 - - - SIDES - - 3 - 7 - 0 - 172 - 63 - 192 - 0 - 3 - 0 - false - false - - - Cromemco CDOS - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 3 - 7 - 0 - 189 - 63 - 192 - 0 - 2 - 0 - false - false - - - Cromemco CDOS - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 1 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - SIDES - - 4 - 15 - 0 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Cromemco CDOS - DSDD 8" - 512 x 16 - MFM - HIGH - 77 - 2 - 16 - 512 - 0 - - 0 - - 1 - 12 - 7 - 2 - 13 - 8 - 3 - 14 - 9 - 4 - 15 - 10 - 5 - 16 - 11 - 6 - - - - 1 - - 1 - 12 - 7 - 2 - 13 - 8 - 3 - 14 - 9 - 4 - 15 - 10 - 5 - 16 - 11 - 6 - - - SIDES - - 4 - 15 - 0 - 608 - 255 - 240 - 0 - 2 - 0 - false - false - - - Cromemco CP/M - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - - 4 - 15 - 1 - 94 - 127 - 192 - 0 - 2 - 0 - false - false - - - Cromemco CP/M - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - - 1 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Cykey - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - - 1 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - SIDES - - 4 - 15 - 1 - 153 - 63 - 192 - 0 - 3 - 0 - false - false - - - Datavue DV80 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 3 - - 0 - - 129 - 130 - 131 - 132 - 133 - 134 - 135 - 136 - 137 - 138 - - - - 1 - - 129 - 130 - 131 - 132 - 133 - 134 - 135 - 136 - 137 - 138 - - - SIDES - - 5 - 31 - 3 - 94 - 127 - 128 - 0 - 4 - 0 - false - false - - - Datavue DV80 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 3 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - 202 - - - - 1 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - 202 - - - SIDES - - 5 - 31 - 3 - 194 - 127 - 128 - 0 - 4 - 0 - false - false - - - Davidge - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 0 - 384 - 127 - 192 - 0 - 6 - 0 - false - false - - - DEC DECMate II - SSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 4 - 15 - 1 - 195 - 127 - 192 - 0 - 2 - 0 - false - false - - - DEC VT-180 - SSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Dictaphone 6000 CP/M - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - SIDES - - 4 - 15 - 0 - 352 - 127 - 192 - 0 - 3 - 0 - false - false - - - Dictaphone 6000 CP/M - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 0 - 345 - 319 - 248 - 0 - 6 - 0 - false - false - - - Digilog 2500 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 35 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - - - EAGLE - - 4 - 15 - 1 - 166 - 63 - 128 - 0 - 3 - 0 - false - false - - - Digilog 1500 - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - CYLINDERS - - 4 - 15 - 0 - 392 - 127 - 192 - 0 - 3 - 0 - false - false - - - Digitech 500 series - SSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 1 - 199 - 319 - 248 - 0 - 0 - 0 - false - false - - - Digitech 500 series - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 398 - 319 - 248 - 0 - 0 - 0 - false - false - - - Digital Group, TVC-80 FDC - SSDD 8" - 1024 x 9 - MFM - HIGH - 77 - 1 - 9 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 0 - 342 - 127 - 192 - 0 - 1 - 0 - false - false - - - Dimension 68000 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 195 - 63 - 128 - 0 - 2 - 0 - false - false - - - Direct 1025 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 152 - 127 - 192 - 0 - 3 - 0 - false - false - - - Discovery - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 313 - 127 - 192 - 0 - 3 - 0 - false - false - - - Duet CP/M - DSDD 96tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - SIDES - - 4 - 15 - 0 - 355 - 255 - 240 - 0 - 2 - 0 - false - false - - - Eagle I, II - SSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 4 - 15 - 1 - 194 - 191 - 224 - 0 - 2 - 0 - false - false - - - Eagle III, IV, V - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - EAGLE - - 4 - 15 - 0 - 394 - 191 - 224 - 0 - 2 - 0 - false - false - - - Electroglas/Xynetics - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 3 - EAGLE - - 4 - 15 - 1 - 158 - 63 - 128 - 0 - 1 - 0 - false - false - - - Electroglas/Xynetics - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 3 - SIDES - - 4 - 15 - 0 - 397 - 255 - 240 - 0 - 1 - 0 - false - false - - - Epson QX-10 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - Epson QX-10 (256 bytes/sector) - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 139 - 63 - 128 - 0 - 8 - 0 - false - false - - - Epson PX-10/8 - DSDD 3.5" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 1 - 139 - 63 - 128 - 0 - 8 - 0 - false - false - - - Epson QX-16 640K - DSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 304 - 127 - 192 - 0 - 8 - 0 - false - false - - - Epson QX-16 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 389 - 255 - 252 - 0 - 4 - 0 - false - false - - - Ericsson DTC - SSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 5 - 31 - 3 - 77 - 127 - 128 - 0 - 2 - 0 - false - false - - - Ericsson DTC - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 5 - 31 - 3 - 157 - 127 - 128 - 0 - 2 - 0 - false - false - - - Ericsson Step One - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 174 - 127 - 128 - 0 - 4 - 0 - false - false - - - Estimation Inc. EST101 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - EAGLE - - 4 - 15 - 0 - 394 - 255 - 240 - 0 - 2 - 0 - false - false - - - Everett/Charles Kryterion 165 - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 6 - 63 - 3 - 151 - 255 - 192 - 0 - 2 - 0 - false - false - - - Eureka A4 - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - - 1 - - 2 - 5 - 8 - 1 - 4 - 7 - 10 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 0 - 399 - 255 - 240 - 0 - 0 - 0 - false - false - - - Exidy Sorcerer - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 6 - 11 - 16 - 5 - 10 - 15 - 4 - 9 - 14 - 3 - 8 - 13 - 2 - 7 - 12 - - - - 4 - 15 - 0 - 76 - 63 - 192 - 0 - 0 - 33 - false - false - - - EXO - SSDD 8" - 512 x 16 - MFM - HIGH - 77 - 1 - 16 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 5 - 31 - 3 - 149 - 127 - 128 - 0 - 2 - 0 - false - false - - - EXO - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - SIDES - - 5 - 31 - 1 - 303 - 127 - 128 - 0 - 2 - 0 - false - false - - - Florida Graphics - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 2 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - SIDES - - 4 - 15 - 0 - 295 - 127 - 192 - 0 - 12 - 0 - false - false - - - Formula 1 - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 2 - 5 - 6 - 9 - 10 - 13 - 14 - 17 - 18 - 3 - 4 - 7 - 8 - 11 - 12 - 15 - 16 - - - - 1 - - 1 - 2 - 5 - 6 - 9 - 10 - 13 - 14 - 17 - 18 - 3 - 4 - 7 - 8 - 11 - 12 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 172 - 127 - 192 - 0 - 3 - 0 - false - false - - - Fujitsu Micro 8 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 151 - 127 - 192 - 0 - 4 - 0 - false - false - - - Future FX-20 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 4 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 5 - 31 - 3 - 196 - 95 - 128 - 0 - 2 - 0 - false - false - - - Gemini Galaxy - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - EAGLE - - 5 - 31 - 3 - 196 - 127 - 128 - 0 - 2 - 0 - false - false - - - Globe 101 - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 319 - 127 - 192 - 0 - 0 - 13 - false - false - - - Gnat System 10 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 35 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - SIDES - - 4 - 15 - 0 - 169 - 127 - 192 - 0 - 2 - 0 - false - false - - - Graco OM-5000 - DSHD 5.25" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 5 - 31 - 3 - 248 - 127 - 128 - 0 - 2 - 0 - false - false - - - Hagiwara HPU 801 CP/M 68K - DSDD 3.5" Special - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - SIDES - - 4 - 15 - 0 - 486 - 127 - 192 - 0 - 4 - 0 - false - false - - - Hazeltine - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 77 - 2 - 10 - 512 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 379 - 255 - 240 - 0 - 2 - 0 - false - false - - - HCL System 2 - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 388 - 255 - 240 - 0 - 4 - 0 - false - false - - - Heath H89, Magnolia CP/M - SSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 1 - 82 - 95 - 192 - 0 - 3 - 0 - false - false - - - Heath H89, Magnolia CP/M - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - CYLINDERS - - 4 - 15 - 1 - 172 - 95 - 192 - 0 - 3 - 0 - false - false - - - Heath H89, Magnolia CP/M - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - CYLINDERS - - 5 - 31 - 3 - 176 - 127 - 128 - 0 - 3 - 0 - false - false - - - Heurikon MLZ-91A - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 5 - 6 - 9 - 10 - 13 - 14 - 3 - 4 - 7 - 8 - 11 - 12 - 15 - 16 - - - - 1 - - 1 - 2 - 5 - 6 - 9 - 10 - 13 - 14 - 3 - 4 - 7 - 8 - 11 - 12 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 315 - 127 - 192 - 0 - 2 - 0 - false - false - - - Hewlett-Packard HP86/87/120/125 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - SIDES - - 3 - 7 - 0 - 251 - 127 - 240 - 0 - 3 - 0 - false - false - - - Hewlett Packard HP 125 - SSSD 8" - 256 x 16 - FM - HIGH - 66 - 1 - 16 - 256 - 6 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 3 - 7 - 0 - 251 - 127 - 240 - 0 - 3 - 0 - false - false - - - Hewlett Packard HP 125 - SSDD 3.5" - 256 x 16 - MFM - LOW - 66 - 1 - 16 - 256 - 6 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 3 - 7 - 0 - 251 - 127 - 240 - 0 - 3 - 0 - false - false - - - Hitachi HPC-6000 CP/M 68K - DSHD 1.2M 3.5" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - SIDES - - 5 - 31 - 3 - 242 - 127 - 128 - 0 - 4 - 0 - false - false - - - Hitachi R-1500 CP/M 68K - DSHD 1.2M 5.25" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - SIDES - - 4 - 15 - 0 - 494 - 127 - 192 - 0 - 2 - 0 - false - false - - - Strippit Houdaille Fab/V - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 4 - 15 - 0 - 174 - 63 - 128 - 0 - 1 - 0 - false - false - - - IBM PC, CP/M-86 - SSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 1 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 3 - 7 - 0 - 155 - 63 - 192 - 0 - 1 - 0 - false - false - - - IBM PC, CP/M-86 - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 4 - 15 - 1 - 157 - 63 - 128 - 0 - 1 - 0 - false - false - - - IBS Ultraframe Turbo DOS - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 397 - 255 - 240 - 0 - 0 - 0 - false - false - - - IBEX 7300 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 5 - 31 - 3 - 246 - 127 - 128 - 0 - 2 - 0 - false - false - - - IBEX 7301 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - 20 - 26 - 6 - 12 - 18 - 24 - 4 - 10 - 16 - 22 - - - - 1 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - 20 - 26 - 6 - 12 - 18 - 24 - 4 - 10 - 16 - 22 - - - SIDES - - 5 - 31 - 2 - 242 - 127 - 128 - 0 - 4 - 0 - false - false - - - ICL DRS 20 - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 6 - 11 - 16 - 5 - 10 - 15 - 4 - 9 - 14 - 3 - 8 - 13 - 2 - 7 - 12 - - - - 1 - - 1 - 6 - 11 - 16 - 5 - 10 - 15 - 4 - 9 - 14 - 3 - 8 - 13 - 2 - 7 - 12 - - - SIDES - - 5 - 31 - 3 - 158 - 255 - 192 - 0 - 2 - 0 - false - false - - - ICL DRS 300 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 350 - 127 - 192 - 0 - 4 - 0 - false - false - - - ICL Model 35/36 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 391 - 127 - 192 - 0 - 0 - 36 - false - false - - - IMS 5000 - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 9 - 2 - 10 - 3 - 11 - 4 - 12 - 5 - 13 - 6 - 14 - 7 - 15 - 8 - 16 - - - - 3 - 7 - 0 - 147 - 63 - 192 - 0 - 3 - 0 - false - false - - - IMS 5000 TurboDOS - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 390 - 127 - 192 - 0 - 4 - 0 - false - false - - - IMS 5000 TurboDOS - SSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 1 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 4 - 15 - 0 - 308 - 191 - 224 - 0 - 0 - 0 - false - false - - - IMS 5000 CP/M - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - - - CYLINDERS - - 4 - 15 - 0 - 395 - 255 - 240 - 0 - 2 - 0 - false - false - - - Intel iPDS 100 - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 307 - 255 - 240 - 0 - 6 - 0 - false - false - - - Intuit - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 3 - 7 - 0 - 190 - 127 - 240 - 0 - 2 - 0 - false - false - - - Insight Enterprises - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 155 - 63 - 128 - 0 - 2 - 0 - false - false - - - Ithaca Intersystems - SSDD 96 tpi 5.25" - 256 x 18 - MFM - LOW - 80 - 1 - 18 - 256 - 2 - - 0 - - 1 - 2 - 5 - 6 - 9 - 10 - 13 - 14 - 17 - 18 - 3 - 4 - 7 - 8 - 11 - 12 - 15 - 16 - - - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - Ithaca Intersystems - SSDD 8" - 512 x 15 - MFM - HIGH - 77 - 1 - 15 - 512 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - - - - 4 - 15 - 0 - 284 - 191 - 224 - 0 - 1 - 0 - false - false - - - Ithaca Intersystems - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - - - - 1 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - - - SIDES - - 5 - 31 - 1 - 284 - 255 - 192 - 0 - 1 - 0 - false - false - - - ITT 3030 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 35 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 3 - 7 - 0 - 247 - 63 - 192 - 0 - 4 - 0 - false - false - - - ITT 3030 - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 70 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 4 - 15 - 0 - 270 - 127 - 192 - 0 - 4 - 0 - false - false - - - Sel ITT 3030 - 70 Tracks 560 kB - 256 x 16 - MFM - LOW - 70 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - EAGLE - - 4 - 15 - 0 - 271 - 127 - 192 - 0 - 4 - 0 - false - false - - - Jonos - SSDD 3.5" - 512 x 9 - MFM - LOW - 70 - 1 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 1 - 152 - 63 - 128 - 0 - 2 - 0 - false - false - - - Kaypro II/2 - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 194 - 63 - 240 - 0 - 1 - 0 - false - false - - - Kaypro 2X/4/10 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 0 - - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - - - SIDES - - 4 - 15 - 1 - 196 - 63 - 192 - 0 - 1 - 0 - false - false - - - Kaypro 2X/4/10 (Alternate) - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - - - SIDES - - 4 - 15 - 1 - 196 - 63 - 192 - 0 - 1 - 0 - false - false - - - Kaypro, Pro-8 ROM - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 0 - - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - - - SIDES - - 5 - 31 - 3 - 196 - 95 - 128 - 0 - 2 - 0 - false - false - - - Kaypro Advent TurboROM - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 11 - 12 - 13 - 14 - 15 - - - SIDES - - 4 - 15 - 1 - 195 - 255 - 240 - 0 - 2 - 0 - false - false - - - Kaypro Advent TurboROM - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 3 - 7 - 0 - 185 - 31 - 192 - 0 - 3 - 0 - false - false - - - Kaypro Advent TurboROM - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 21 - 22 - 23 - 24 - 25 - - - SIDES - - 4 - 15 - 0 - 395 - 255 - 240 - 0 - 2 - 0 - false - false - - - Kontron - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - - - CYLINDERS - - 4 - 15 - 0 - 489 - 255 - 240 - 0 - 3 - 0 - false - false - - - Kontron/Zeiss - DSDD 96 tpi 5.25" - 128 x 16 - FM - LOW - 35 - 2 - 16 - 128 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - CYLINDERS - - 3 - 7 - 0 - 106 - 63 - 192 - 0 - 17 - 0 - false - false - - - Kontron Transient Recorder- DSDD 96 tpi 5.25"/3.5" - 256 x 16 - MFM - LOW - 77 - 2 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - EAGLE - - 4 - 15 - 0 - 299 - 255 - 240 - 0 - 4 - 0 - false - false - - - Lanier LTD READ-ONLY - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 4 - 15 - 0 - 318 - 127 - 192 - 0 - 1 - 0 - false - false - - - Lexoriter - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 4 - 15 - 1 - 159 - 127 - 192 - 0 - 0 - 0 - false - false - - - Lobo Max-80 - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 3 - 7 - 0 - 165 - 63 - 192 - 0 - 3 - 0 - false - false - - - Lobo Max-80 (256) - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - SIDES - - 4 - 15 - 0 - 172 - 127 - 192 - 0 - 3 - 0 - false - false - - - Lobo Max-80 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 191 - 127 - 192 - 0 - 3 - 0 - false - false - - - Lobo Max-80 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 391 - 255 - 240 - 0 - 3 - 0 - false - false - - - Lobo CP/M 2.2 - SSHD 8" - 256 x 30 - MFM - HIGH - 77 - 1 - 30 - 256 - 3 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - - - - 4 - 15 - 0 - 280 - 127 - 192 - 0 - 2 - 0 - false - false - - - LNW 2 - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 0 - - 0 - - 1 - 6 - 11 - 16 - 3 - 8 - 13 - 18 - 5 - 10 - 15 - 2 - 7 - 12 - 17 - 4 - 9 - 14 - - - - 4 - 15 - 1 - 82 - 63 - 128 - 0 - 3 - 0 - false - false - - - Lockheed-Martin Wire Harness Tester - DSDD 3.5" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 1 - - 1 - 4 - 2 - 5 - 3 - - - SIDES - - 4 - 15 - 0 - 394 - 127 - 192 - 0 - 2 - 0 - false - false - - - Macsym 150 - SSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 1 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 4 - 15 - 1 - 155 - 127 - 192 - 0 - 2 - 0 - false - false - - - MAI Basic Four - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 312 - 127 - 192 - 0 - 3 - 0 - false - false - - - Marconi Midata 510 - DSDD 3.5" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 3 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - EAGLE - - 5 - 31 - 3 - 197 - 127 - 128 - 0 - 2 - 0 - false - false - - - Memotech MaxBP - DSDD 3.5" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 394 - 191 - 224 - 0 - 2 - 0 - false - false - - - Memotech FDX - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 156 - 63 - 128 - 0 - 0 - 26 - false - false - - - Micro Source M6000 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 0 - - 11 - 15 - 19 - 13 - 17 - 12 - 16 - 20 - 14 - 18 - - - SIDES - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - Michels and Kleberhoff CP/M 3 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - EAGLE - - 4 - 15 - 0 - 394 - 127 - 192 - 0 - 2 - 0 - true - false - - - Michels and Kleberhoff CP/M 3 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 35 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - CYLINDERS - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - true - false - - - MicroMint SB180 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - - - - 1 - - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - - - SIDES - - 4 - 15 - 1 - 200 - 127 - 192 - 0 - 0 - 0 - false - false - - - Molecular Series 9 - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 2 - SIDES - - 4 - 15 - 1 - 179 - 127 - 192 - 0 - 4 - 0 - false - false - - - Molecular/Durango Poppy 54 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 3 - - 0 - - 128 - 129 - 130 - 131 - 132 - 133 - 134 - 135 - 136 - 137 - - - - 1 - - 138 - 139 - 140 - 141 - 142 - 143 - 144 - 145 - 146 - 147 - - - SIDES - - 4 - 15 - 0 - 389 - 127 - 192 - 0 - 4 - 0 - false - false - - - Molecular - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 4 - 15 - 1 - 249 - 127 - 192 - 0 - 0 - 0 - false - false - - - Monroe 8800 Series - SSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - - 4 - 15 - 1 - 153 - 63 - 128 - 0 - 3 - 0 - false - false - - - Monroe System 2000 - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 315 - 127 - 192 - 0 - 2 - 0 - false - false - - - Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 4 - 15 - 1 - 94 - 127 - 192 - 0 - 2 - 0 - false - false - - - Morrow MD3, 5, 11, 16, 34 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 1 - - 1 - 4 - 2 - 5 - 3 - - - SIDES - - 4 - 15 - 1 - 194 - 191 - 224 - 0 - 2 - 0 - false - false - - - Morrow TurboDOS - DSDD 48 tpi 5.25" - 1024 x 4 - MFM - LOW - 40 - 2 - 4 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - - - - 1 - - 1 - 2 - 3 - 4 - - - SIDES - - 4 - 15 - 0 - 155 - 127 - 192 - 0 - 2 - 0 - false - false - - - Morrow MD3...CP/M Plus - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 1 - - 1 - 4 - 2 - 5 - 3 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Morrow 5/11/34 - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 4 - 2 - 5 - 3 - - - - 4 - 15 - 1 - 92 - 127 - 192 - 0 - 3 - 0 - false - false - - - MOS 80 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - - 1 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - SIDES - - 5 - 31 - 0 - 244 - 251 - 192 - 0 - 3 - 0 - false - false - - - Multitech MIC-540 - DSDD 96 tpi 5.25" - 256 x 18 - MFM - LOW - 80 - 2 - 18 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - SIDES - - 4 - 15 - 0 - 356 - 127 - 192 - 0 - 4 - 0 - false - false - - - MUPD/MDISK, Side I - SSSD 96 tpi 5.25" - 256 x 10 - FM - LOW - 80 - 1 - 10 - 256 - 0 - - 0 - - 0 - 2 - 4 - 6 - 8 - 1 - 3 - 5 - 7 - 9 - - - - 4 - 15 - 1 - 96 - 127 - 192 - 0 - 3 - 0 - false - false - - - MUPD/MDISK, Side II - SSSD 96 tpi 5.25" - 256 x 10 - FM - LOW - 80 - 2 - 10 - 256 - 0 - - 0 - - 0 - 2 - 4 - 6 - 8 - 1 - 3 - 5 - 7 - 9 - - - - 0 - - 0 - 2 - 4 - 6 - 8 - 1 - 3 - 5 - 7 - 9 - - - EAGLE - - 4 - 15 - 1 - 96 - 127 - 192 - 0 - 83 - 0 - false - false - - - MSD Systems PSC-1 POS - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 5 - 31 - 3 - 158 - 127 - 128 - 0 - 1 - 0 - false - false - - - NCHQ System II - SSSD 48tpi 5.25" - 128 x 18 - FM - LOW - 40 - 1 - 18 - 128 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 3 - 7 - 0 - 84 - 63 - 192 - 0 - 3 - 0 - false - false - - - NCR Decision Mate V - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - EAGLE - - 4 - 15 - 1 - 153 - 127 - 192 - 0 - 3 - 0 - false - false - - - NCR FirstStep - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 16 - 4 - 8 - 12 - 15 - 3 - 7 - 11 - 14 - 2 - 6 - 10 - - - - 1 - - 1 - 5 - 9 - 13 - 16 - 4 - 8 - 12 - 15 - 3 - 7 - 11 - 14 - 2 - 6 - 10 - - - SIDES - - 4 - 15 - 0 - 275 - 255 - 240 - 0 - 6 - 0 - false - false - - - NEC PC-8801A - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 6 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - - - SIDES - - 5 - 31 - 3 - 242 - 127 - 128 - 0 - 4 - 0 - false - false - - - NEC PC-8801A - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 6 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - - - SIDES - - 5 - 31 - 1 - 280 - 127 - 128 - 0 - 4 - 0 - false - false - - - NEC PC-8801A - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 599 - 255 - 240 - 0 - 4 - 0 - false - false - - - NEC PC-8001A - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 3 - 7 - 0 - 151 - 63 - 192 - 0 - 2 - 0 - false - false - - - NEC PC-8001B - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 151 - 63 - 128 - 0 - 2 - 0 - false - false - - - NEC PC 8801A - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 1 - 151 - 127 - 192 - 0 - 4 - 0 - false - false - - - NEC PC 8801A - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - NEC PC 8500/8431A, Starlet - DSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 4 - 15 - 1 - 151 - 127 - 192 - 0 - 4 - 0 - false - false - - - NEC APC CP/M-86 - DSHD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - - - - 4 - 15 - 0 - 494 - 255 - 240 - 0 - 2 - 0 - false - false - - - NEC APC TurboDOS - SSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 1 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 4 - 15 - 0 - 308 - 224 - 224 - 0 - 0 - 0 - false - false - - - New Brain - SSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 5 - 31 - 3 - 97 - 127 - 128 - 0 - 2 - 0 - false - false - - - Niat - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - - 1 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - CYLINDERS - - 5 - 31 - 3 - 157 - 127 - 128 - 0 - 2 - 0 - false - false - - - Nixdorf 8810/30 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 384 - 127 - 192 - 0 - 6 - 0 - false - false - - - Norsonic 830/836 - DSDD 3.5" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 199 - 127 - 192 - 0 - 0 - 0 - false - false - - - Numeridex 7000 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 1 - - 28 - 34 - 40 - 46 - 52 - 32 - 38 - 44 - 50 - 30 - 36 - 42 - 48 - - - SIDES - - 5 - 31 - 3 - 248 - 127 - 128 - 0 - 2 - 0 - false - false - - - Octagon 8/16 - SSDD 8" - 1024 x 9 - MFM - HIGH - 77 - 1 - 9 - 1024 - 3 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 5 - 31 - 1 - 167 - 127 - 128 - 0 - 2 - 0 - false - false - - - OEM Screen Typist - SSDD 3.5" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 1 - 94 - 63 - 128 - 0 - 2 - 0 - false - false - - - Olivetti ETV300 - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Olivetti M20 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 3 - 7 - 0 - 255 - 63 - 192 - 0 - 3 - 0 - false - false - - - Olivetti 250, CWP1 - SSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - SIDES - - 4 - 15 - 1 - 157 - 63 - 128 - 0 - 1 - 0 - false - false - - - Olivetti ETV 1010, CP/M 86 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 198 - 127 - 192 - 0 - 1 - 0 - false - false - - - Olivetti ETV 112 - SSDD 3.5" - 256 x 18 - MFM - LOW - 80 - 1 - 18 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 4 - 15 - 0 - 174 - 191 - 224 - 0 - 2 - 0 - false - false - - - Olympia EX-100 - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - Olympia ETX II - SSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 170 - 127 - 240 - 0 - 2 - 0 - false - false - - - Olympia Olytext 20 - DSDD 3.5" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 312 - 127 - 192 - 0 - 4 - 0 - false - false - - - Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10 - FM - LOW - 40 - 1 - 10 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 4 - 15 - 1 - 45 - 63 - 128 - 0 - 3 - 0 - false - false - - - Osborne 1 - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 3 - 7 - 0 - 184 - 63 - 192 - 0 - 3 - 0 - false - false - - - Osborne G2 System - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - Osborne G2 System - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 389 - 255 - 240 - 0 - 4 - 0 - false - false - - - Osborne 1 + Osmosis - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - SIDES - - 4 - 15 - 0 - 384 - 127 - 192 - 0 - 6 - 0 - false - false - - - Osborne Nuevo - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 6 - 8 - 10 - 7 - 9 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Osborne Vixen - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Osborne Executive w/Z3 - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 0 - 395 - 127 - 248 - 0 - 2 - 0 - false - false - - - Osborne Executive Dig. Arts - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 248 - 0 - 2 - 0 - false - false - - - Osborne Nuevo 2.1 - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 394 - 255 - 240 - 0 - 2 - 0 - false - false - - - OSM Zeus 4 - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 311 - 127 - 192 - 0 - 4 - 0 - false - false - - - Otrona Attache - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - EAGLE - - 4 - 15 - 1 - 181 - 127 - 192 - 0 - 3 - 0 - false - false - - - Otrona Attache - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - CYLINDERS - - 4 - 15 - 0 - 386 - 127 - 192 - 0 - 3 - 0 - false - false - - - Potter & Brumfield - SSSD 48 tpi 5.25" - 128 x 18 - FM - LOW - 40 - 1 - 18 - 128 - 0 - - 0 - - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - - - - 3 - 7 - 0 - 83 - 63 - 192 - 0 - 3 - 0 - false - false - - - Pegasus Data Logger - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - 9 - - - SIDES - - 4 - 15 - 0 - 170 - 63 - 128 - 0 - 6 - 0 - false - false - - - People's World Computer - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - CYLINDERS - - 4 - 15 - 0 - 398 - 127 - 120 - 0 - 0 - 0 - false - false - - - People's World Computer Boot - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - CYLINDERS - - 4 - 15 - 0 - 397 - 127 - 240 - 0 - 0 - 0 - false - false - - - Pericom - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 0 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 0 - 395 - 127 - 192 - 0 - 2 - 0 - false - false - - - Philips PC-2010 - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 3 - 7 - 0 - 151 - 63 - 192 - 0 - 2 - 0 - false - false - - - Philips PC-2012 - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - SIDES - - 5 - 31 - 3 - 157 - 127 - 128 - 0 - 2 - 0 - false - false - - - Philips PC-3000 - 3004 - SSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 4 - 15 - 1 - 147 - 63 - 192 - 0 - 3 - 0 - false - false - - - Physical Acoutstics - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 3 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - CYLINDERS - - 4 - 15 - 1 - 173 - 127 - 192 - 0 - 3 - 0 - false - false - - - Pied Piper - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - SIDES - - 4 - 15 - 0 - 391 - 255 - 240 - 0 - 3 - 0 - false - false - - - Proglas 770K - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 388 - 255 - 240 - 0 - 2 - 0 - false - false - - - Pulsar LBB - SSHD 8" - 512 x 17 - MFM - HIGH - 77 - 1 - 17 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 2 - 5 - 8 - 11 - 14 - 17 - 3 - 6 - 9 - 12 - 15 - - - - 4 - 15 - 0 - 317 - 127 - 192 - 0 - 2 - 0 - false - false - - - Research Machines Limited 380Z - 128 x 16 - FM - LOW - 40 - 1 - 16 - 128 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 3 - 7 - 0 - 74 - 63 - 192 - 0 - 3 - 0 - false - false - - - Royal Alphatronic - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 151 - 127 - 192 - 0 - 4 - 0 - false - false - - - Sage IV - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 4 - 15 - 1 - 155 - 63 - 128 - 0 - 2 - 0 - false - false - - - Sage IV - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 315 - 63 - 128 - 0 - 2 - 0 - false - false - - - Sanyo MBC-1000, MBC-1150 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - SIDES - - 4 - 15 - 1 - 155 - 63 - 128 - 0 - 2 - 0 - false - false - - - Sanyo MBC-2000 - SSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 1 - 16 - 256 - 0 - - 0 - - 1 - 6 - 11 - 16 - 5 - 10 - 15 - 4 - 9 - 14 - 3 - 8 - 13 - 2 - 7 - 12 - - - - 4 - 15 - 1 - 152 - 63 - 128 - 0 - 4 - 0 - false - false - - - Sanyo MBC-3000 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 1 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - SIDES - - 5 - 31 - 3 - 237 - 127 - 128 - 0 - 4 - 0 - false - false - - - Sanco 8001 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - - 4 - 15 - 0 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - Schneider CPC 6128 Side 1 - DSDD 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 2 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 180 - 63 - 192 - 0 - 0 - 0 - false - false - - - Schneider CPC 6128 Side 2 - DSDD 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 180 - 63 - 192 - 0 - 40 - 0 - false - false - - - S.D. Systems 40 track - SSDD 3.5" - 256 x 18 - MFM - LOW - 80 - 1 - 18 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 4 - 15 - 0 - 84 - 127 - 192 - 0 - 2 - 0 - false - false - - - S.D. Systems 80 track - DSDD 3.5" - 256 x 18 - MFM - LOW - 80 - 2 - 18 - 256 - 0 - SIDES - - 5 - 31 - 0 - 176 - 127 - 128 - 0 - 2 - 0 - false - false - - - S.D. Systems 80 track - SSDD 5.25" - 256 x 18 - MFM - LOW - 80 - 1 - 18 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 4 - 15 - 0 - 175 - 127 - 192 - 0 - 2 - 0 - false - false - - - S.D. Systems - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 1 - - 0 - - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 3 - 7 - 11 - 15 - 19 - 23 - 2 - 6 - 10 - 14 - 18 - 22 - 26 - - - - 4 - 15 - 1 - 240 - 127 - 192 - 0 - 3 - 0 - false - false - - - Seiko - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 315 - 127 - 192 - 0 - 2 - 0 - false - false - - - SemiDisk DT42 - DSHD 96 tpi 5.25" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 2 - 5 - 8 - 11 - 14 - 3 - 6 - 9 - 12 - 15 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 2 - 5 - 8 - 11 - 14 - 3 - 6 - 9 - 12 - 15 - - - SIDES - - 4 - 15 - 0 - 562 - 255 - 240 - 0 - 4 - 0 - false - false - - - Sharp MZ-80 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 1 - 169 - 127 - 192 - 0 - 2 - 0 - true - false - - - Sharp MZ-80B - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 1 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 1 - 195 - 127 - 192 - 0 - 2 - 0 - true - false - - - Sharp 3500/5500 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - SIDES - - 4 - 15 - 1 - 151 - 127 - 192 - 0 - 4 - 0 - false - false - - - Sharp 5600 - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - - - SIDES - - 4 - 15 - 0 - 312 - 127 - 192 - 0 - 4 - 0 - false - false - - - Sharp MZ 3541 - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Shelton SIG/NET 2 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - SIDES - - 4 - 15 - 1 - 195 - 63 - 128 - 0 - 2 - 0 - true - false - - - Shelton SIG/NET 2 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - SIDES - - 4 - 15 - 0 - 395 - 255 - 240 - 0 - 2 - 0 - true - false - - - Siemens PG-685 DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 350 - 255 - 240 - 0 - 4 - 0 - false - false - - - Siemens PG-675 DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 170 - 63 - 128 - 0 - 4 - 0 - false - false - - - Silver-Reed WP System - DSDD 3.5" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 3 - 5 - 2 - 4 - - - - 1 - - 1 - 3 - 5 - 2 - 4 - - - SIDES - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - Smart Aleck - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Sorbus TurboDOS - 5.25" DSHD (or 8" DSDD) - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 5 - 31 - 1 - 308 - 255 - 192 - 0 - 0 - 0 - false - false - - - Sony SMC-70 - SSDD 3.5" - 256 x 16 - MFM - LOW - 70 - 1 - 16 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 3 - 6 - 9 - 12 - 15 - 2 - 5 - 8 - 11 - 14 - - - - 4 - 15 - 1 - 135 - 127 - 192 - 0 - 2 - 0 - false - false - - - Spectravideo 318/328 - SSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 1 - 17 - 256 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 3 - 7 - 0 - 156 - 63 - 192 - 0 - 3 - 0 - false - false - - - Spectravideo SV-328 - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 2 - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - CYLINDERS - - 4 - 15 - 1 - 162 - 63 - 128 - 0 - 3 - 0 - false - false - - - Sperry UTS 30, UTS 5000 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 354 - 383 - 252 - 0 - 2 - 0 - false - false - - - Spectravideo - SSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 1 - 17 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 3 - 7 - 0 - 157 - 63 - 192 - 0 - 3 - 0 - false - false - - - Spectravideo - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - CYLINDERS - - 4 - 15 - 1 - 163 - 63 - 128 - 0 - 3 - 0 - false - false - - - Spectravideo - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 1 - 197 - 63 - 128 - 0 - 1 - 0 - false - false - - - Spectravideo - SSDD 3.5" - 512 x 9 - MFM - LOW - 80 - 1 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 1 - 163 - 63 - 128 - 0 - 3 - 0 - false - false - - - Superbrain JR - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 35 - 1 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 4 - 15 - 1 - 81 - 63 - 128 - 0 - 2 - 0 - true - false - - - Superbrain 40 track - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 4 - 15 - 1 - 94 - 63 - 128 - 0 - 2 - 0 - true - false - - - Superbrain QD - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 35 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - CYLINDERS - - 4 - 15 - 1 - 169 - 63 - 128 - 0 - 2 - 0 - true - false - - - Superbrain II - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - CYLINDERS - - 5 - 31 - 3 - 196 - 127 - 192 - 0 - 3 - 0 - true - false - - - Superbrain - SSDD 48 tpi 5.25" - 128 x 30 - MFM - LOW - 40 - 1 - 30 - 128 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 28 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - 29 - - - - 3 - 7 - 0 - 142 - 63 - 192 - 0 - 2 - 0 - true - false - - - System Group 2800 - DSDD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 5 - 31 - 1 - 303 - 255 - 192 - 0 - 2 - 0 - false - false - - - Tarbell - DSDD 8" - 512 x 15 - MFM - HIGH - 77 - 2 - 15 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 12 - 13 - 14 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 12 - 13 - 14 - - - SIDES - - 5 - 31 - 0 - 303 - 169 - 192 - 0 - 2 - 0 - false - false - - - Tatung TPC2000 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 3 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - EAGLE - - 4 - 15 - 0 - 354 - 127 - 192 - 0 - 2 - 0 - false - false - - - Techron TEF 10 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - - 1 - - 1 - 4 - 7 - 10 - 3 - 6 - 9 - 2 - 5 - 8 - - - SIDES - - 4 - 15 - 0 - 394 - 319 - 248 - 0 - 2 - 0 - false - false - - - Techron TEF 12 - DSHD 96 tpi 5.25" - 512 x 17 - MFM - HIGH - 80 - 2 - 17 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - SIDES - - 4 - 15 - 0 - 670 - 767 - 255 - 240 - 4 - 0 - false - false - - - Tektronix 4170 - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - CYLINDERS - - 4 - 15 - 0 - 153 - 63 - 128 - 0 - 1 - 0 - false - false - - - Teletek - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 4 - 15 - 1 - 242 - 127 - 192 - 0 - 2 - 0 - false - false - - - Teletek Systemaster - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 7 - 13 - 2 - 8 - 14 - 3 - 9 - 15 - 4 - 10 - 16 - 5 - 11 - 17 - 6 - 12 - 18 - - - - 1 - - 1 - 7 - 13 - 2 - 8 - 14 - 3 - 9 - 15 - 4 - 10 - 16 - 5 - 11 - 17 - 6 - 12 - 18 - - - CYLINDERS - - 4 - 15 - 1 - 172 - 127 - 192 - 0 - 3 - 0 - false - false - - - Teletek Systemaster - DSDD 96 tpi 5.25" - 256 x 18 - MFM - LOW - 80 - 2 - 18 - 256 - 0 - - 0 - - 1 - 7 - 13 - 2 - 8 - 14 - 3 - 9 - 15 - 4 - 10 - 16 - 5 - 11 - 17 - 6 - 12 - 18 - - - - 1 - - 1 - 7 - 13 - 2 - 8 - 14 - 3 - 9 - 15 - 4 - 10 - 16 - 5 - 11 - 17 - 6 - 12 - 18 - - - EAGLE - - 4 - 15 - 0 - 353 - 127 - 192 - 0 - 3 - 0 - false - false - - - TeleVideo 8nn/TPC-1 CP/M - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 6 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - SIDES - - 4 - 15 - 0 - 170 - 63 - 128 - 0 - 4 - 0 - false - false - - - TeleVideo 1603 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 354 - 127 - 192 - 0 - 2 - 0 - false - false - - - TeleVideo 806 TurboDOS - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 200 - 127 - 192 - 0 - 0 - 0 - false - false - - - TeleVideo 8nn TurboDOS - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 6 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - SIDES - - 4 - 15 - 1 - 170 - 63 - 128 - 0 - 4 - 0 - false - false - - - Timex/Sinclair 2068+AERCO FD-68 RP/M - DSDD 48 tpi 5.25" -1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 189 - 127 - 192 - 0 - 4 - 0 - false - false - - - Tokyo Electron 80W - DSHD 3.5" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 6 - 63 - 3 - 160 - 255 - 128 - 0 - 0 - 0 - false - false - - - Toshiba T100, T200 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - - 1 - - 1 - 5 - 9 - 13 - 2 - 6 - 10 - 14 - 3 - 7 - 11 - 15 - 4 - 8 - 12 - 16 - - - SIDES - - 3 - 7 - 0 - 255 - 63 - 192 - 0 - 6 - 0 - false - false - - - Toshiba 300 - DSDD 96 tpi 5.25" - 512 x 8 - MFM - LOW - 80 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 0 - 318 - 127 - 192 - 0 - 1 - 0 - false - false - - - Toshiba T-250 - DSHD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - - - - 1 - - 1 - 4 - 7 - 10 - 13 - 16 - 19 - 22 - 25 - 2 - 5 - 8 - 11 - 14 - 17 - 20 - 23 - 26 - 3 - 6 - 9 - 12 - 15 - 18 - 21 - 24 - - - SIDES - - 4 - 15 - 0 - 487 - 63 - 128 - 0 - 4 - 0 - false - false - - - Transtec - SSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18 - FM - LOW - 35 - 1 - 18 - 128 - 0 - - 0 - - 1 - 5 - 9 - 13 - 17 - 3 - 7 - 11 - 15 - 2 - 6 - 10 - 14 - 18 - 4 - 8 - 12 - 16 - - - - 3 - 7 - 0 - 71 - 63 - 192 - 0 - 3 - 0 - false - false - - - TRS-80 Model 1, Bigmem CP/M - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 0 - - 0 - - 1 - 7 - 13 - 19 - 25 - 5 - 11 - 17 - 23 - 3 - 9 - 15 - 21 - 2 - 8 - 14 - - - - 4 - 15 - 1 - 243 - 63 - 128 - 0 - 2 - 0 - false - false - - - TRS-80 Model 1, ColorPower II - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - TRS-80, Pickles & Trout CP/M - SSDD 8" - 512 x 16 - MFM - HIGH - 77 - 1 - 16 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 4 - 15 - 0 - 299 - 127 - 192 - 0 - 2 - 0 - false - false - - - TRS-80, Holmes CP/M - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 4 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - - - SIDES - - 4 - 15 - 1 - 190 - 63 - 240 - 0 - 2 - 0 - false - false - - - TRS-80, MM CP/M - SSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 1 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 4 - 15 - 1 - 94 - 127 - 192 - 0 - 2 - 0 - false - false - - - TRS-80 Model 4, 4P; MT CP/M - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 4 - 15 - 1 - 84 - 127 - 192 - 0 - 2 - 0 - false - false - - - TRS-80 Model 4, 4P; MT CP/M - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - SIDES - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - TRS-80 Model 4, 4P - SSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 1 - 8 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 3 - 7 - 0 - 155 - 63 - 192 - 0 - 1 - 0 - false - false - - - TRS-80 Model 4P-Montezuma800K - DSDD 96tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - 10 - - - SIDES - - 4 - 15 - 0 - 399 - 127 - 192 - 0 - 0 - 0 - false - false - - - TRS-80 II/12/16 Aton CP/M - DSHD 8" - 1024 x 8 - MFM - HIGH - 77 - 2 - 8 - 1024 - 3 - - 0 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - - 1 - - 1 - 4 - 7 - 2 - 5 - 8 - 3 - 6 - - - SIDES - - 4 - 15 - 0 - 608 - 191 - 224 - 0 - 2 - 0 - false - false - - - TRS-80 II/12/16 Pickles & Trout - DSHD 8" - 512 x 16 - MFM - HIGH - 77 - 2 - 16 - 512 - 4 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 4 - 15 - 0 - 608 - 191 - 224 - 0 - 2 - 0 - false - false - - - TRS-80 Model 4, Montezuma - DSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 2 - 18 - 256 - 0 - - 0 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - - 1 - - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 2 - 4 - 6 - 8 - 10 - 12 - 14 - 16 - 18 - - - EAGLE - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - U-Micro 1000 - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 4 - 15 - 0 - 395 - 127 - 192 - 0 - 2 - 0 - false - false - - - Varian Spectra AA/20, DS-15 - DSDD 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - EAGLE - - 3 - 7 - 0 - 317 - 63 - 96 - 0 - 0 - 2 - false - false - - - Vector 4 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - EAGLE - - 4 - 15 - 0 - 356 - 127 - 192 - 0 - 1 - 0 - false - false - - - Visual 1050 - SSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 1 - 10 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 2 - 0 - false - false - - - Wangwriter - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 1 - 155 - 127 - 192 - 0 - 2 - 0 - false - false - - - Wave Mate Bullet - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 3 - 7 - 0 - 189 - 63 - 192 - 0 - 2 - 0 - false - false - - - Wave Mate Bullet - DSDD 96 tpi 5.25" - 1024 x 5 - MFM - LOW - 80 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 394 - 127 - 192 - 0 - 2 - 0 - false - false - - - Wave Mate Bullet - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - Wave Mate Bullet - SSHD 8" - 1024 x 9 - MFM - HIGH - 77 - 1 - 9 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 0 - 336 - 127 - 192 - 0 - 2 - 0 - false - false - - - Xerox - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - CYLINDERS - - 4 - 15 - 1 - 170 - 127 - 192 - 0 - 2 - 0 - false - false - - - Xerox 820 - SSSD 48 tpi 5.25" - 128 x 18 - FM - LOW - 40 - 1 - 18 - 128 - 0 - - 0 - - 1 - 6 - 11 - 16 - 3 - 8 - 13 - 18 - 5 - 10 - 15 - 2 - 7 - 12 - 17 - 4 - 9 - 14 - - - - 3 - 7 - 0 - 83 - 31 - 128 - 0 - 3 - 0 - false - false - - - Xerox 820 II - SSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 1 - 17 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 3 - 7 - 0 - 156 - 63 - 192 - 0 - 3 - 0 - false - false - - - Xerox 820-II, 16/8 - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - EAGLE - - 4 - 15 - 1 - 162 - 63 - 128 - 0 - 3 - 0 - false - false - - - Xerox 16/8 - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 5 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 4 - 15 - 1 - 242 - 127 - 192 - 0 - 2 - 0 - false - false - - - XEROX 16/8 - DSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 2 - 9 - 512 - 2 - CYLINDERS - - 4 - 15 - 1 - 162 - 63 - 128 - 0 - 2 - 0 - false - false - - - Xerox 820, S/W Publishers DD - SSDD 48 tpi 5.25" - 256 x 18 - MFM - LOW - 40 - 1 - 18 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - - - - 3 - 7 - 0 - 166 - 63 - 192 - 0 - 3 - 0 - false - false - - - Xerox 3700 Laser Printer - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 3 - CYLINDERS - - 4 - 15 - 1 - 162 - 63 - 192 - 0 - 3 - 0 - false - false - - - Xerox 16/8, 820 II - SSDD 48 tpi 5.25" - MFM - LOW - 40 - 1 - 17 - 256 - 3 - - 3 - 7 - 0 - 156 - 63 - 192 - 0 - 3 - 0 - false - false - - - Xerox 16/8 - SSDD 48 tpi 5.25" - 512 x 9 - MFM - LOW - 40 - 1 - 9 - 512 - 3 - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Xerox 16/8 Special - SSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 1 - 8 - 512 - 3 - - 3 - 7 - 0 - 151 - 63 - 192 - 0 - 2 - 0 - false - false - - - Xerox 16/8, 820-II - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 3 - EAGLE - - 4 - 15 - 1 - 162 - 63 - 128 - 0 - 3 - 0 - false - false - - - Xerox 16/8 Special - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 3 - CYLINDERS - - 4 - 15 - 1 - 155 - 63 - 128 - 0 - 2 - 0 - false - false - - - Xerox 3700 Laser Printer - DSDD 48 tpi 5.25" - 256 x 17 - MFM - LOW - 40 - 2 - 17 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - - - CYLINDERS - - 4 - 15 - 1 - 162 - 63 - 192 - 0 - 3 - 0 - false - false - - - Xor 5 - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 6 - 2 - 7 - 3 - 8 - 4 - 9 - 5 - 10 - - - - 0 - - 1 - 6 - 2 - 7 - 3 - 8 - 4 - 9 - 5 - 10 - - - SIDES - - 4 - 15 - 1 - 191 - 127 - 192 - 0 - 3 - 0 - false - false - - - XYZ - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 0 - - 0 - - 1 - 5 - 9 - 3 - 7 - 2 - 6 - 10 - 4 - 8 - - - - 1 - - 11 - 15 - 19 - 13 - 17 - 12 - 16 - 20 - 14 - 18 - - - SIDES - - 4 - 15 - 1 - 194 - 127 - 192 - 0 - 4 - 0 - false - false - - - Zeiss Video Analysis System - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - CYLINDERS - - 4 - 15 - 0 - 299 - 255 - 240 - 0 - 4 - 0 - false - false - - - Zenith Z-37 Disk - SSSD 48 tpi 5.25" - 256 x 10 - FM - LOW - 40 - 1 - 10 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 3 - 7 - 0 - 91 - 63 - 192 - 0 - 3 - 0 - false - false - - - Zenith Z-37 Disk - DSDD 96 tpi 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 315 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z89, Heath H89 - DSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 155 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z90 - SSDD 48 tpi 5.25" - 256 x 16 - MFM - LOW - 40 - 1 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 3 - 7 - 0 - 151 - 127 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z-100 - SSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 1 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 3 - 7 - 0 - 151 - 127 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z-100 - DSDD 48 tpi 5.25" - 512 x 8 - MFM - LOW - 40 - 2 - 8 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - SIDES - - 4 - 15 - 1 - 155 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z-100 - SSDD 8" - 256 x 26 - MFM - HIGH - 77 - 1 - 26 - 256 - 0 - - 0 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - - - - 4 - 15 - 1 - 242 - 127 - 192 - 0 - 2 - 0 - false - false - - - Zenith Z-37 Disk - DSDD 96 (Half drive) 5.25" - 256 x 16 - MFM - LOW - 80 - 2 - 16 - 256 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - SIDES - - 4 - 15 - 0 - 155 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith/Heath H-89 Ext Density - DSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 2 - 5 - 1024 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 195 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z-100, Heath H-47 - DSDD 8" - 256 x 26 - MFM - HIGH - 77 - 2 - 26 - 256 - 0 - - 0 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - 15 - 24 - 7 - 16 - 25 - 8 - 17 - 26 - 9 - 18 - - - - 1 - - 1 - 10 - 19 - 2 - 11 - 20 - 3 - 12 - 21 - 4 - 13 - 22 - 5 - 14 - 23 - 6 - 15 - 24 - 7 - 16 - 25 - 8 - 17 - 26 - 9 - 18 - - - SIDES - - 4 - 15 - 0 - 497 - 255 - 240 - 0 - 2 - 0 - false - false - - - Zenith Z-37 - SSDD 48 tpi 5.25" - 1024 x 5 - MFM - LOW - 40 - 1 - 5 - 1024 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 3 - 7 - 0 - 190 - 127 - 240 - 0 - 2 - 0 - false - false - - - Zenith/Heath H89/H90 Magnolia 7736 - SSHD 8" - 512 x 16 - MFM - HIGH - 77 - 1 - 16 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 4 - 15 - 0 - 299 - 191 - 224 - 0 - 2 - 0 - false - false - - - Zorba - DSDD 48 tpi 5.25" - 512 x 10 - MFM - LOW - 40 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - SIDES - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - Zorba - DSDD 96 tpi 5.25" - 512 x 10 - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - SIDES - - 5 - 31 - 3 - 194 - 127 - 128 - 0 - 2 - 0 - false - false - - - PIC-DISK SSDD 96tpi 3.5" - MFM - LOW - 80 - 1 - 9 - 512 - 1 - - 0 - - 1 - 3 - 5 - 7 - 9 - 2 - 4 - 6 - 8 - - - - 4 - 15 - 1 - 194 - 63 - 128 - 0 - 2 - 0 - false - false - - - SAM COUPE Pro-DOS - DSDD 160 tpi 3.5" - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 356 - 255 - 240 - 0 - 1 - 0 - false - false - - - Acorn CPM - MFM - LOW - 80 - 2 - 10 - 256 - 5 - - 0 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - CYLINDERS - - 4 - 15 - 1 - 200 - 127 - 192 - 0 - 3 - 0 - false - false - - - CPC 178K Data 40trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 40 - 2 - 9 - 512 - 5 - - 0 - - 0 - - - - 0 - - 0 - - - EAGLE - - 3 - 7 - 0 - 179 - 63 - 192 - 0 - 40 - 0 - false - false - - - CPC 187K Data 42trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 42 - 2 - 9 - 512 - 5 - - 0 - - 0 - - - - 0 - - 0 - - - EAGLE - - 3 - 7 - 0 - 188 - 63 - 192 - 0 - 42 - 0 - false - false - - - CPC-B360 358K Data 80trk 9sct 64dir 2Kpb Side 1 - MFM - LOW - 80 - 1 - 9 - 512 - 2 - - 0 - - 0 - - - - 4 - 15 - 1 - 179 - 63 - 128 - 0 - 0 - 0 - false - false - - - CPC-B360 358K Data 80trk 9sct 64dir 2Kpb Side 2 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 0 - - - - 0 - - 0 - - - EAGLE - - 4 - 15 - 1 - 179 - 63 - 128 - 0 - 80 - 0 - false - false - - - CPC 356K Data 40trk 9sct 128dir 2Kpb Two Sides - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 0 - - - - 1 - - 0 - - - SIDES - - 4 - 15 - 1 - 179 - 127 - 192 - 0 - 0 - 0 - false - false - - - DOBBERTIN 716K Data 80trk 9sct 128dir 4Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 0 - - - - 1 - - 0 - - - SIDES - - 5 - 31 - 3 - 179 - 127 - 128 - 0 - 0 - 0 - false - false - - - CPC-STD 169K System 40trk 9sct 64dir 1Kpb Side 1 - MFM - LOW - 40 - 1 - 9 - 512 - 5 - - 0 - - 41 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - CPC 169K System 40trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 40 - 2 - 9 - 512 - 5 - - 0 - - 41 - - - - 0 - - 41 - - - EAGLE - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 42 - 0 - false - false - - - CPC 178K System 42trk 9sct 64dir 1Kpb Side 1 - MFM - LOW - 42 - 1 - 9 - 512 - 5 - - 0 - - 41 - - - - 3 - 7 - 0 - 179 - 63 - 192 - 0 - 2 - 0 - false - false - - - CPC 178K System 42trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 42 - 2 - 9 - 512 - 5 - - 0 - - 41 - - - - 0 - - 41 - - - EAGLE - - 3 - 7 - 0 - 179 - 63 - 192 - 0 - 44 - 0 - false - false - - - CPC 253K System 60trk 9sct 64dir 1Kpb Side 1 - MFM - LOW - 60 - 1 - 9 - 512 - 5 - - 0 - - 41 - - - - 3 - 7 - 0 - 254 - 63 - 192 - 0 - 2 - 0 - false - false - - - CPC 253K System 60trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 60 - 2 - 9 - 512 - 5 - - 0 - - 41 - - - - 0 - - 41 - - - EAGLE - - 3 - 7 - 0 - 254 - 63 - 192 - 0 - 62 - 0 - false - false - - - CPC-B360 348K System 80trk 9sct 64dir 2Kpb Side 1 - MFM - LOW - 80 - 1 - 9 - 512 - 2 - - 0 - - 41 - - - - 4 - 15 - 1 - 174 - 63 - 128 - 0 - 2 - 0 - false - false - - - CPC-B360 348K System 80trk 9sct 64dir 2Kpb Side 2 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 41 - - - - 0 - - 41 - - - EAGLE - - 4 - 15 - 1 - 174 - 63 - 128 - 0 - 82 - 0 - false - false - - - CPC 346K System 40trk 9sct 128dir 2Kpb Two Sides - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 41 - - - - 1 - - 41 - - - SIDES - - 4 - 15 - 1 - 174 - 127 - 192 - 0 - 2 - 0 - false - false - - - CPC 344K System 80trk 9sct 128dir 4Kpb Side 1 - MFM - LOW - 80 - 1 - 9 - 512 - 5 - - 0 - - 41 - - - - 5 - 31 - 3 - 86 - 127 - 128 - 0 - 2 - 0 - false - false - - - CPC 344K System 80trk 9sct 128dir 4Kpb Side 2 - MFM - LOW - 80 - 2 - 9 - 512 - 5 - - 0 - - 41 - - - - 0 - - 41 - - - EAGLE - - 5 - 31 - 3 - 86 - 127 - 128 - 0 - 82 - 0 - false - false - - - DOBBERTIN 704K System 80trk 9sct 128dir 4Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 41 - - - - 1 - - 41 - - - SIDES - - 5 - 31 - 3 - 176 - 127 - 128 - 0 - 2 - 0 - false - false - - - ReadBIG 706K System 80trk 9sct 128dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 41 - - - - 1 - - 41 - - - SIDES - - 4 - 15 - 0 - 354 - 127 - 192 - 0 - 2 - 0 - false - false - - - CPC-STD 154K Ibm-Cpm86 40trk 8sct 64dir 1Kpb Side 1 - MFM - LOW - 40 - 1 - 8 - 512 - 2 - - 0 - - 1 - - - - 3 - 7 - 0 - 155 - 63 - 192 - 0 - 1 - 0 - false - false - - - CPC 154K Ibm-Cpm86 40trk 8sct 64dir 1Kpb Side 2 - MFM - LOW - 40 - 2 - 8 - 512 - 2 - - 0 - - 1 - - - - 0 - - 1 - - - EAGLE - - 3 - 7 - 0 - 155 - 63 - 192 - 0 - 41 - 0 - false - false - - - PCW-STD 173K Format 40trk 9sct 64dir 1Kpb Side 1 - MFM - LOW - 40 - 1 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 174 - 63 - 192 - 0 - 1 - 0 - false - false - - - PCW 173K Format 40trk 9sct 64dir 1Kpb Side 2 - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - EAGLE - - 3 - 7 - 0 - 174 - 63 - 192 - 0 - 41 - 0 - false - false - - - PCW 346K Format 40trk 9sct 256dir 2Kpb Two Sides - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 176 - 255 - 240 - 0 - 1 - 0 - false - false - - - PCW 706K Format 80trk 9sct 256dir 2Kpb Two Sides - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 4 - 15 - 0 - 356 - 255 - 240 - 0 - 1 - 0 - false - false - - - PCW 784K Format 80trk 10sct 256dir 4Kpb Two Sides - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 5 - 31 - 3 - 197 - 255 - 192 - 0 - 1 - 0 - false - false - - - DiskPara3 796K Format 80trk 10sct 128dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - - - - 1 - - 1 - - - SIDES - - 4 - 15 - 0 - 399 - 127 - 192 - 0 - 0 - 0 - false - false - - - DiskPara 824K Format 83trk 10sct 192dir 2Kpb Two Sides - MFM - LOW - 83 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 0 - - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - - - SIDES - - 4 - 15 - 0 - 414 - 191 - 224 - 0 - 0 - 0 - false - false - - - VORTEX 704K Format 80trk 9sct 128dir 4Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - - - - 1 - - 1 - - - SIDES - - 5 - 31 - 3 - 176 - 127 - 128 - 0 - 2 - 0 - false - false - - - RAMDOS-D1 716K Format 80trk 9sct 128dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 1 - - - - 1 - - 1 - - - SIDES - - 4 - 15 - 0 - 359 - 127 - 192 - 0 - 0 - 0 - false - false - - - RAMDOS-D10 796K Format 80trk 10sct 128dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 11 - - - - 1 - - 11 - - - SIDES - - 4 - 15 - 0 - 399 - 127 - 192 - 0 - 0 - 0 - false - false - - - RAMDOS-D2 712K Format 80trk 9sct 256dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 9 - 512 - 0 - - 0 - - 21 - - - - 1 - - 21 - - - SIDES - - 4 - 15 - 0 - 359 - 255 - 240 - 0 - 0 - 0 - false - false - - - RAMDOS-D20 792K Format 80trk 10sct 256dir 2Kpb Two Sides - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 31 - - - - 1 - - 31 - - - SIDES - - 4 - 15 - 0 - 399 - 255 - 240 - 0 - 0 - 0 - false - false - - - Amstrad ZX Spectrum +3 - SSDD 64dir 1Kpb 180K - 173K user free - MFM - LOW - 40 - 1 - 9 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 174 - 63 - 192 - 0 - 1 - 0 - false - false - - - Amstrad ZX Spectrum +3 - DSDD 128dir 2Kpb 720K - 710K user free - MFM - LOW - 80 - 2 - 9 - 512 - 3 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 356 - 127 - 192 - 0 - 1 - 0 - false - false - - - Altos Series 5 - DSDD 96 tpi 5.25" - 512 x 9 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 176 - 255 - 192 - 0 - 64 - 0 - false - false - - - PC1715 SCP (80*2* 5,1024 4 OFS 4k DIR) 5.25" - MFM - LOW - 80 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 389 - 127 - 192 - 0 - 4 - 0 - false - false - - - PC1715 CPA (80*2* 5,1024 0 OFS 6k DIR) 5.25" - MFM - LOW - 80 - 2 - 5 - 1024 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - - - SIDES - - 4 - 15 - 0 - 399 - 191 - 224 - 0 - 0 - 0 - false - false - - - Amstrad PCW8256 - DSDD 48 tpi 5.25" - MFM - LOW - 40 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 4 - 15 - 0 - 356 - 255 - 240 - 0 - 1 - 0 - false - false - - - Amstrad PCW8256 - SSDD 48 tpi 3" (JOYCE-SYSTEM) - MFM - LOW - 40 - 1 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 3 - 7 - 0 - 174 - 63 - 192 - 0 - 1 - 0 - false - false - - - Amstrad CPC System - SSDD 48 tpi 3" or 5.25" - MFM - LOW - 40 - 1 - 9 - 512 - 5 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 3 - 7 - 0 - 170 - 63 - 192 - 0 - 2 - 0 - false - false - - - Amstrad CPC-Data - SSDD 48 tpi 3" or 5.25" - MFM - LOW - 40 - 1 - 9 - 512 - 5 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 179 - 63 - 192 - 0 - 0 - 0 - false - false - - - Amstrad B360K - SSDD 96 tpi 5.25" SKEW 2 - MFM - LOW - 80 - 1 - 9 - 512 - 2 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 4 - 15 - 1 - 174 - 63 - 128 - 0 - 2 - 0 - false - false - - - Amstrad VORTEX - DSDD 96 tpi 5.25" - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 176 - 127 - 128 - 0 - 2 - 0 - false - false - - - Amstrad CPC System DSDD 96tpi 5.25" - DOBBERTIN - - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - - 1 - - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - - - SIDES - - 5 - 31 - 3 - 176 - 127 - 128 - 0 - 2 - 0 - false - false - - - Amstrad DOBBERTIN DATA DSDD 96 tpi 5.25" Skew 5 - MFM - LOW - 80 - 2 - 9 - 512 - 2 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 1 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 5 - 31 - 3 - 179 - 127 - 128 - 0 - 0 - 0 - false - false - - - Amstrad PCW8256 - DSDD 96 tpi 5.25" 10 x 512 788K - MFM - LOW - 80 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 5 - 31 - 3 - 197 - 255 - 192 - 0 - 1 - 0 - false - false - - - Amstrad PCW Joyce - SF2DD (824 kb - 256 entries) - MFM - LOW - 84 - 2 - 10 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - - SIDES - - 5 - 31 - 3 - 208 - 255 - 192 - 0 - 1 - 0 - false - false - - - Amstrad PCW Joyce - 168 Track DD (740 kb - 256 entries) - MFM - LOW - 84 - 2 - 9 - 512 - 2 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - - - SIDES - - 5 - 31 - 3 - 187 - 255 - 192 - 0 - 1 - 0 - false - false - - - Extended CPC 3" 43-track - MFM - LOW - 43 - 1 - 9 - 512 - 2 - - 0 - - 193 - 194 - 195 - 196 - 197 - 198 - 199 - 200 - 201 - - - - 3 - 7 - 0 - 193 - 63 - 192 - 0 - 0 - 0 - false - false - - - Apple // CPM card 13-sector - GCR - LOW - 35 - 1 - 13 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - - - - 3 - 7 - 0 - 103 - 47 - 192 - 0 - 3 - 0 - false - false - - - Apple // CPM card 16-sector - GCR - LOW - 35 - 1 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 3 - 7 - 0 - 127 - 63 - 192 - 0 - 3 - 0 - false - false - - - Apple // CPM card special - GCR - LOW - 80 - 2 - 16 - 256 - 0 - - 0 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 1 - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - - - - 4 - 15 - 0 - 313 - 255 - 240 - 0 - 3 - 0 - false - false - - - 2016-08-24T02:44:59.045767Z + + + + Generic CP/M - SSSD 8" - 128 x 26 + FM + HIGH + 77 + 1 + 26 + 128 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + 20 + 26 + 6 + 12 + 18 + 24 + 4 + 10 + 16 + 22 + + + + 3 + 7 + 0 + 242 + 63 + 192 + 0 + 2 + 0 + false + false + + + ABC-80 - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 8 + 15 + 6 + 13 + 4 + 11 + 2 + 9 + 16 + 7 + 14 + 5 + 12 + 3 + 10 + + + + 3 + 7 + 0 + 151 + 63 + 192 + 0 + 2 + 0 + false + false + + + A. B. Dick Magna III - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 0 + + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + + + SIDES + + 3 + 7 + 0 + 255 + 255 + 255 + 0 + 4 + 0 + false + false + + + Actrix (Access Matrix) - SSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Actrix (Access Matrix) - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 1 + 174 + 63 + 128 + 0 + 2 + 0 + false + false + + + Adler Textriter - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 3 + 7 + 0 + 159 + 31 + 128 + 0 + 0 + 0 + false + false + + + Advanced Digital Super 6 - SSDD 48 tpi 5.25" - 1024 x 4 + MFM + LOW + 40 + 1 + 4 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + + + + 4 + 15 + 0 + 77 + 63 + 128 + 0 + 1 + 0 + false + false + + + Advanced Digital Super 6 - DSDD 48 tpi 5.25" - 1024 x 4 + MFM + LOW + 40 + 2 + 4 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + + + + 0 + + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 0 + 155 + 127 + 192 + 0 + 2 + 0 + false + false + + + Advanced Digital Super 6 - DSDD 96 tpi 5.25" - 1024 x 4 + MFM + LOW + 80 + 2 + 4 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + + + + 1 + + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 0 + 300 + 127 + 192 + 0 + 2 + 0 + false + false + + + Advanced Digital Super 8 - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 608 + 255 + 240 + 0 + 2 + 0 + false + false + + + Advanced Digital TurboDOS 312K - DSDD 48 tpi 5.25" - 1024 x 4 + MFM + LOW + 40 + 2 + 4 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + + + + 0 + + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 1 + 155 + 127 + 192 + 0 + 2 + 0 + false + false + + + Advanced Digital TurboDOS 366K - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 182 + 127 + 192 + 0 + 6 + 0 + false + false + + + Advanced Controls - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 0 + 385 + 127 + 192 + 0 + 6 + 0 + false + false + + + Allen-Bradley Advisor+ - DSDD 3.5" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 318 + 127 + 192 + 0 + 0 + 1 + false + false + + + Alspa - SSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 1 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 4 + 15 + 0 + 300 + 127 + 192 + 0 + 2 + 0 + false + false + + + Altos - SSSD 8" - 128 x 26 + FM + HIGH + 77 + 1 + 26 + 128 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 3 + 7 + 0 + 242 + 63 + 192 + 0 + 2 + 0 + false + false + + + Altos - DSSD 8" - 128 x 26 + FM + HIGH + 77 + 2 + 26 + 128 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + 20 + 26 + 6 + 12 + 18 + 24 + 4 + 10 + 16 + 22 + + + + 1 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + 20 + 26 + 6 + 12 + 18 + 24 + 4 + 10 + 16 + 22 + + + SIDES + + 5 + 31 + 3 + 122 + 127 + 128 + 0 + 2 + 0 + false + false + + + Altos - SSDD 8" - 512 x 15 + MFM + HIGH + 77 + 1 + 15 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 5 + 31 + 3 + 139 + 127 + 128 + 0 + 2 + 0 + false + false + + + Altos - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + SIDES + + 5 + 31 + 1 + 284 + 255 + 192 + 0 + 2 + 0 + false + false + + + Altos Series 5 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 176 + 176 + 192 + 0 + 2 + 0 + false + false + + + Amigo - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 3 + 7 + 0 + 189 + 63 + 192 + 0 + 2 + 0 + false + false + + + Amigo - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 195 + 63 + 128 + 0 + 2 + 0 + false + false + + + Ampro - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 4 + 15 + 1 + 94 + 63 + 128 + 0 + 2 + 0 + false + false + + + Ampro - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + + 1 + + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Ampro - SSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 1 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Ampro - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 2 + + 0 + + 17 + 18 + 19 + 20 + 21 + + + + 1 + + 17 + 18 + 19 + 20 + 21 + + + SIDES + + 4 + 15 + 0 + 394 + 255 + 240 + 0 + 2 + 0 + false + false + + + Amstrad PCW 8256 - SSDD 48 tpi 3.00" + MFM + LOW + 40 + 1 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 175 + 63 + 192 + 0 + 1 + 0 + false + false + + + Amstrad PCW 8256 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 356 + 255 + 240 + 0 + 1 + 0 + false + false + + + Amstrad CPC464 - SSDD 48 tpi 5.25"/3" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 5 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 3 + 7 + 0 + 171 + 63 + 192 + 0 + 2 + 0 + false + false + + + Amstrad CPC464 - SSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 1 + 9 + 512 + 5 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 5 + 31 + 3 + 87 + 127 + 128 + 0 + 2 + 0 + false + false + + + Amstrad PCW 8512 - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 356 + 255 + 240 + 0 + 1 + 0 + false + false + + + Amstrad CPC 6128 - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 1 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + SIDES + + 4 + 15 + 1 + 175 + 127 + 192 + 0 + 2 + 0 + false + false + + + Amstrad CPC 6128 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 1 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + SIDES + + 5 + 31 + 3 + 175 + 127 + 128 + 0 + 2 + 0 + false + false + + + Amstrad CPC 6128 Side 1 - SSDD 3.5" / 3" - 512 x 9 + MFM + LOW + 80 + 1 + 9 + 512 + 0 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 180 + 63 + 192 + 0 + 0 + 0 + false + false + + + Amstrad CPC 6128 Side 2 - SSDD 3.5" / 3" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 180 + 63 + 192 + 0 + 80 + 0 + false + false + + + Amstrad PCW w/DU49, Moonstone XFORMAT - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 5 + 31 + 3 + 198 + 255 + 192 + 0 + 1 + 0 + false + false + + + Amstrad CPC 6128 Vortex - DSDD 3.5"/96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 178 + 127 + 128 + 0 + 2 + 0 + false + false + + + Archive I - SSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Archive II & III - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 1 + + 1 + 4 + 2 + 5 + 3 + + + SIDES + + 4 + 15 + 0 + 394 + 319 + 248 + 0 + 2 + 0 + false + true + + + Arisia - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 3 + 7 + 0 + 147 + 127 + 240 + 0 + 2 + 0 + false + false + + + Associate - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + SIDES + + 4 + 15 + 1 + 195 + 127 + 192 + 0 + 2 + 0 + false + false + + + Aster CT-80 - DSDD 96 tpi 5.25" - 1024 x 5, 3:1 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 0 + 394 + 127 + 192 + 0 + 4 + 0 + false + false + + + ATR-8000 - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 3 + 7 + 0 + 189 + 63 + 192 + 0 + 2 + 0 + false + false + + + ATR-8000 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + ATR-8000 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + EAGLE + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 2 + 0 + false + false + + + ATT-7700 - DSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 1 + + 17 + 19 + 21 + 23 + 25 + 27 + 29 + 31 + 18 + 20 + 22 + 24 + 26 + 28 + 30 + 32 + + + SIDES + + 4 + 15 + 0 + 316 + 127 + 192 + 0 + 2 + 0 + false + false + + + Avatar - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 1 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + CYLINDERS + + 4 + 15 + 1 + 191 + 127 + 192 + 0 + 3 + 0 + false + false + + + Barudan - DSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + SIDES + + 5 + 31 + 3 + 155 + 127 + 128 + 0 + 4 + 0 + false + false + + + Beehive - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Beehive Microbee - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + + 1 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Beehive Microbee - SSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 0 + + 0 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Microbee Systems - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 22 + 25 + 28 + 21 + 24 + 27 + 30 + 23 + 26 + 29 + + + + 0 + + 22 + 25 + 28 + 21 + 24 + 27 + 30 + 23 + 26 + 29 + + + SIDES + + 5 + 31 + 3 + 194 + 127 + 128 + 0 + 4 + 0 + false + false + + + Microbee Dreamdisk format - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + + 1 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 0 + 391 + 255 + 240 + 0 + 2 + 0 + false + false + + + Computer Bell - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 192 + 127 + 192 + 0 + 3 + 0 + false + false + + + Big Board (512 bytes/sector) - SSDD 8" - 512 x 15 + MFM + HIGH + 77 + 1 + 15 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 4 + 15 + 0 + 280 + 127 + 192 + 0 + 2 + 0 + false + false + + + Big Board (512 bytes/sector) - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + CYLINDERS + + 4 + 15 + 0 + 569 + 127 + 192 + 0 + 2 + 0 + false + false + + + Big Board SWP 1024 bytes/sector - SSDD 8" - 1024 x 9 + MFM + HIGH + 77 + 1 + 9 + 1024 + 0 + + 4 + 15 + 0 + 336 + 127 + 192 + 0 + 2 + 0 + false + false + + + Bitelex - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 3 + 7 + 0 + 131 + 95 + 224 + 0 + 2 + 0 + false + false + + + BMC IF800 Model 20 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 7 + 13 + 19 + 5 + 11 + 17 + 3 + 9 + 15 + + + + 1 + + 1 + 7 + 13 + 19 + 5 + 11 + 17 + 3 + 9 + 15 + + + SIDES + + 4 + 15 + 0 + 191 + 127 + 192 + 0 + 3 + 0 + false + false + + + Bondwell 12 - SSDD 48 tpi 5.25" - 256 x 10 + MFM + LOW + 40 + 1 + 18 + 256 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 4 + 15 + 1 + 84 + 127 + 192 + 0 + 2 + 0 + false + false + + + Bondwell 14 - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + EAGLE + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + Bondwell 2 - SSDD 3.5" - 256 x 18 + MFM + LOW + 80 + 1 + 18 + 256 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + BOSS TurboDOS - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 616 + 255 + 240 + 0 + 0 + 0 + false + false + + + BTI Systems - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + EAGLE + + 4 + 15 + 1 + 175 + 127 + 192 + 0 + 2 + 0 + false + false + + + Burr-Brown - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 10 + 2 + 11 + 3 + 12 + 4 + 13 + 5 + 14 + 6 + 15 + 7 + 16 + 8 + 17 + 9 + 18 + + + + 1 + + 1 + 10 + 2 + 11 + 3 + 12 + 4 + 13 + 5 + 14 + 6 + 15 + 7 + 16 + 8 + 17 + 9 + 18 + + + SIDES + + 4 + 15 + 1 + 170 + 63 + 128 + 0 + 4 + 0 + false + false + + + Cal-PC - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Cashcom 100 - DSDD 96 tpi 5.25" - 1024 x 4 + MFM + LOW + 80 + 2 + 4 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + + + + 1 + + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 0 + 303 + 127 + 192 + 0 + 2 + 0 + false + false + + + Commodore Business Machines 1581 drive - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 397 + 127 + 192 + 0 + 0 + 0 + false + false + + + CCS (256 bytes/sector) - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + + + + 0 + + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + + + SIDES + + 4 + 15 + 1 + 165 + 63 + 128 + 0 + 6 + 0 + false + false + + + CCS (512 bytes/sector) - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + + 0 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + SIDES + + 4 + 15 + 1 + 184 + 63 + 128 + 0 + 6 + 0 + false + false + + + CCS (1024 bytes/sector) - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 0 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 1 + 184 + 63 + 128 + 0 + 6 + 0 + false + false + + + CCS 8 - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + SIDES + + 6 + 63 + 7 + 149 + 127 + 128 + 0 + 4 + 0 + false + false + + + CCS 2442 - SSDD 8" - 512 x 15 + MFM + HIGH + 77 + 1 + 15 + 512 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + + + + 5 + 31 + 3 + 139 + 127 + 128 + 0 + 2 + 0 + false + false + + + CCS (1024 bytes alternate) - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 1 + 184 + 63 + 128 + 0 + 6 + 0 + false + false + + + CDC-110 Viking - DSDD 8" - 512 x 16 + MFM + HIGH + 77 + 2 + 16 + 512 + 0 + + 0 + + 0 + 4 + 8 + 12 + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + + + + 1 + + 0 + 4 + 8 + 12 + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + + + SIDES + + 4 + 15 + 0 + 608 + 255 + 240 + 0 + 2 + 0 + false + false + + + CDI-5000 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 1 + + 1 + 4 + 2 + 5 + 3 + + + SIDES + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + COLEX 850 - SSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + COLEX 850 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 1 + + 11 + 15 + 19 + 13 + 17 + 12 + 16 + 20 + 14 + 18 + + + SIDES + + 4 + 15 + 0 + 389 + 127 + 192 + 0 + 4 + 0 + false + false + + + CMC Supersystem 2 - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 391 + 127 + 192 + 0 + 3 + 0 + false + false + + + Coin - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + + + EAGLE + + 4 + 15 + 0 + 392 + 127 + 192 + 0 + 3 + 0 + false + false + + + Coleco ADAM, 40 track - SSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 1 + 8 + 512 + 0 + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + + 3 + 7 + 0 + 146 + 63 + 192 + 0 + 0 + 26 + false + false + + + Coleco ADAM, 254K - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + EAGLE + + 3 + 7 + 0 + 255 + 63 + 192 + 0 + 0 + 26 + false + false + + + Coleco ADAM, 320K - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + EAGLE + + 4 + 15 + 1 + 152 + 63 + 128 + 0 + 0 + 26 + false + false + + + Coleco ADAM, 720K - DSDD 3.5" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + + 0 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + SIDES + + 4 + 15 + 0 + 354 + 127 + 192 + 0 + 0 + 26 + false + false + + + Coleco ADAM, 360K - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 1 + 179 + 63 + 128 + 0 + 0 + 4 + false + false + + + Coleco ADAM, E&T PROM 720K - DSDD 3.5" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + + 1 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + SIDES + + 4 + 15 + 0 + 354 + 127 + 192 + 0 + 0 + 26 + false + false + + + Coleco ADAM, 720K - DSDD 3.5" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + + 0 + + 1 + 5 + 9 + 4 + 8 + 3 + 7 + 2 + 6 + + + SIDES + + 4 + 15 + 0 + 358 + 127 + 192 + 0 + 0 + 4 + false + false + + + Coleco ADAM, 1.44M - DSHD 3.5" - 512 x 18 + MFM + HIGH + 80 + 2 + 18 + 512 + 0 + + 0 + + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + + + + 1 + + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + + + SIDES + + 4 + 15 + 0 + 712 + 255 + 240 + 0 + 2 + 0 + false + false + + + Coleco Adam TDOS - DSDD 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + + 1 + + 1 + 6 + 3 + 8 + 5 + 2 + 7 + 4 + + + EAGLE + + 3 + 7 + 0 + 255 + 63 + 192 + 0 + 0 + 26 + false + false + + + Columbia Commander 964 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + COLUMBIA + + 4 + 15 + 1 + 190 + 63 + 128 + 0 + 2 + 0 + false + false + + + Columbia 1600 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + COLUMBIA + + 5 + 31 + 3 + 197 + 255 + 192 + 0 + 2 + 0 + false + false + + + Columbia M64 - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 3 + 7 + 0 + 190 + 127 + 240 + 0 + 2 + 0 + true + false + + + Compis - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 4 + 15 + 0 + 317 + 127 + 192 + 0 + 1 + 0 + false + false + + + Compugraphic MCS-5 - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 3 + 7 + 0 + 155 + 63 + 192 + 0 + 1 + 0 + false + false + + + Compustar Model 30 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 35 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + EAGLE + + 4 + 15 + 1 + 169 + 63 + 128 + 0 + 2 + 0 + true + false + + + Compupro (Viasyn) - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 0 + 389 + 255 + 240 + 0 + 4 + 0 + false + false + + + Compupro (Viasyn) 8/16 - SSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 1 + 8 + 1024 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + + 4 + 15 + 0 + 299 + 127 + 192 + 0 + 2 + 0 + false + false + + + Compupro (Viasyn) 8/16 - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + SIDES + + 4 + 15 + 0 + 599 + 255 + 240 + 0 + 4 + 0 + false + false + + + Compupro (Viasyn) - SSDD 8" - 512 x 15 + MFM + HIGH + 77 + 1 + 15 + 512 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + + + + 4 + 15 + 0 + 280 + 127 + 192 + 0 + 2 + 0 + false + false + + + Compupro (Viasyn) - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 0 + + 0 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + + 4 + 15 + 0 + 242 + 127 + 192 + 0 + 2 + 0 + false + false + + + Compupro (Viasyn) 256 bytes/sector - DSHD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + + 1 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + + 4 + 15 + 0 + 487 + 255 + 240 + 0 + 4 + 0 + false + false + + + CPT Phoenix CP/M - DSDD 3.5" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 0 + 355 + 255 + 240 + 0 + 2 + 0 + false + false + + + Cromemco CDOS - SSSD 48 tpi 5.25" - 128 x 18 + FM + LOW + 40 + 1 + 18 + 128 + 0 + + 0 + + 1 + 6 + 11 + 16 + 3 + 8 + 13 + 18 + 5 + 10 + 15 + 2 + 7 + 12 + 17 + 4 + 9 + 14 + + + + 3 + 7 + 0 + 82 + 63 + 192 + 0 + 3 + 0 + false + false + + + Cromemco CDOS - DSSD 48 tpi 5.25" - 128 x 18 + FM + LOW + 40 + 2 + 128 + 18 + 0 + + 0 + + 1 + 6 + 11 + 16 + 3 + 8 + 13 + 18 + 5 + 10 + 15 + 2 + 7 + 12 + 17 + 4 + 9 + 14 + + + + 1 + + 1 + 6 + 11 + 16 + 3 + 8 + 13 + 18 + 5 + 10 + 15 + 2 + 7 + 12 + 17 + 4 + 9 + 14 + + + SIDES + + 3 + 7 + 0 + 172 + 63 + 192 + 0 + 3 + 0 + false + false + + + Cromemco CDOS - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 3 + 7 + 0 + 189 + 63 + 192 + 0 + 2 + 0 + false + false + + + Cromemco CDOS - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 1 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + SIDES + + 4 + 15 + 0 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Cromemco CDOS - DSDD 8" - 512 x 16 + MFM + HIGH + 77 + 2 + 16 + 512 + 0 + + 0 + + 1 + 12 + 7 + 2 + 13 + 8 + 3 + 14 + 9 + 4 + 15 + 10 + 5 + 16 + 11 + 6 + + + + 1 + + 1 + 12 + 7 + 2 + 13 + 8 + 3 + 14 + 9 + 4 + 15 + 10 + 5 + 16 + 11 + 6 + + + SIDES + + 4 + 15 + 0 + 608 + 255 + 240 + 0 + 2 + 0 + false + false + + + Cromemco CP/M - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + + 4 + 15 + 1 + 94 + 127 + 192 + 0 + 2 + 0 + false + false + + + Cromemco CP/M - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + + 1 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Cykey - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + + 1 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + SIDES + + 4 + 15 + 1 + 153 + 63 + 192 + 0 + 3 + 0 + false + false + + + Datavue DV80 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 3 + + 0 + + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + + + + 1 + + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + + + SIDES + + 5 + 31 + 3 + 94 + 127 + 128 + 0 + 4 + 0 + false + false + + + Datavue DV80 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 3 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + + + + 1 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + + + SIDES + + 5 + 31 + 3 + 194 + 127 + 128 + 0 + 4 + 0 + false + false + + + Davidge - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 0 + 384 + 127 + 192 + 0 + 6 + 0 + false + false + + + DEC DECMate II - SSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 4 + 15 + 1 + 195 + 127 + 192 + 0 + 2 + 0 + false + false + + + DEC VT-180 - SSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Dictaphone 6000 CP/M - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + SIDES + + 4 + 15 + 0 + 352 + 127 + 192 + 0 + 3 + 0 + false + false + + + Dictaphone 6000 CP/M - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 0 + 345 + 319 + 248 + 0 + 6 + 0 + false + false + + + Digilog 2500 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 35 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + + + EAGLE + + 4 + 15 + 1 + 166 + 63 + 128 + 0 + 3 + 0 + false + false + + + Digilog 1500 - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + CYLINDERS + + 4 + 15 + 0 + 392 + 127 + 192 + 0 + 3 + 0 + false + false + + + Digitech 500 series - SSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 1 + 199 + 319 + 248 + 0 + 0 + 0 + false + false + + + Digitech 500 series - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 398 + 319 + 248 + 0 + 0 + 0 + false + false + + + Digital Group, TVC-80 FDC - SSDD 8" - 1024 x 9 + MFM + HIGH + 77 + 1 + 9 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 0 + 342 + 127 + 192 + 0 + 1 + 0 + false + false + + + Dimension 68000 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 195 + 63 + 128 + 0 + 2 + 0 + false + false + + + Direct 1025 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 152 + 127 + 192 + 0 + 3 + 0 + false + false + + + Discovery - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 313 + 127 + 192 + 0 + 3 + 0 + false + false + + + Duet CP/M - DSDD 96tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + SIDES + + 4 + 15 + 0 + 355 + 255 + 240 + 0 + 2 + 0 + false + false + + + Eagle I, II - SSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 4 + 15 + 1 + 194 + 191 + 224 + 0 + 2 + 0 + false + false + + + Eagle III, IV, V - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + EAGLE + + 4 + 15 + 0 + 394 + 191 + 224 + 0 + 2 + 0 + false + false + + + Electroglas/Xynetics - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 3 + EAGLE + + 4 + 15 + 1 + 158 + 63 + 128 + 0 + 1 + 0 + false + false + + + Electroglas/Xynetics - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 3 + SIDES + + 4 + 15 + 0 + 397 + 255 + 240 + 0 + 1 + 0 + false + false + + + Epson QX-10 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + Epson QX-10 (256 bytes/sector) - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 139 + 63 + 128 + 0 + 8 + 0 + false + false + + + Epson PX-10/8 - DSDD 3.5" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 1 + 139 + 63 + 128 + 0 + 8 + 0 + false + false + + + Epson QX-16 640K - DSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 304 + 127 + 192 + 0 + 8 + 0 + false + false + + + Epson QX-16 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 389 + 255 + 252 + 0 + 4 + 0 + false + false + + + Ericsson DTC - SSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 5 + 31 + 3 + 77 + 127 + 128 + 0 + 2 + 0 + false + false + + + Ericsson DTC - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 5 + 31 + 3 + 157 + 127 + 128 + 0 + 2 + 0 + false + false + + + Ericsson Step One - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 174 + 127 + 128 + 0 + 4 + 0 + false + false + + + Estimation Inc. EST101 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + EAGLE + + 4 + 15 + 0 + 394 + 255 + 240 + 0 + 2 + 0 + false + false + + + Everett/Charles Kryterion 165 - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 6 + 63 + 3 + 151 + 255 + 192 + 0 + 2 + 0 + false + false + + + Eureka A4 - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + + 1 + + 2 + 5 + 8 + 1 + 4 + 7 + 10 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 0 + 399 + 255 + 240 + 0 + 0 + 0 + false + false + + + Exidy Sorcerer - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 6 + 11 + 16 + 5 + 10 + 15 + 4 + 9 + 14 + 3 + 8 + 13 + 2 + 7 + 12 + + + + 4 + 15 + 0 + 76 + 63 + 192 + 0 + 0 + 33 + false + false + + + EXO - SSDD 8" - 512 x 16 + MFM + HIGH + 77 + 1 + 16 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 5 + 31 + 3 + 149 + 127 + 128 + 0 + 2 + 0 + false + false + + + EXO - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + SIDES + + 5 + 31 + 1 + 303 + 127 + 128 + 0 + 2 + 0 + false + false + + + Florida Graphics - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 2 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + SIDES + + 4 + 15 + 0 + 295 + 127 + 192 + 0 + 12 + 0 + false + false + + + Formula 1 - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 2 + 5 + 6 + 9 + 10 + 13 + 14 + 17 + 18 + 3 + 4 + 7 + 8 + 11 + 12 + 15 + 16 + + + + 1 + + 1 + 2 + 5 + 6 + 9 + 10 + 13 + 14 + 17 + 18 + 3 + 4 + 7 + 8 + 11 + 12 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 172 + 127 + 192 + 0 + 3 + 0 + false + false + + + Fujitsu Micro 8 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 151 + 127 + 192 + 0 + 4 + 0 + false + false + + + Future FX-20 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 4 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 5 + 31 + 3 + 196 + 95 + 128 + 0 + 2 + 0 + false + false + + + Gemini Galaxy - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + EAGLE + + 5 + 31 + 3 + 196 + 127 + 128 + 0 + 2 + 0 + false + false + + + Globe 101 - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 319 + 127 + 192 + 0 + 0 + 13 + false + false + + + Gnat System 10 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 35 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + SIDES + + 4 + 15 + 0 + 169 + 127 + 192 + 0 + 2 + 0 + false + false + + + Graco OM-5000 - DSHD 5.25" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 5 + 31 + 3 + 248 + 127 + 128 + 0 + 2 + 0 + false + false + + + Hagiwara HPU 801 CP/M 68K - DSDD 3.5" Special - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + SIDES + + 4 + 15 + 0 + 486 + 127 + 192 + 0 + 4 + 0 + false + false + + + Hazeltine - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 77 + 2 + 10 + 512 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 379 + 255 + 240 + 0 + 2 + 0 + false + false + + + HCL System 2 - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 388 + 255 + 240 + 0 + 4 + 0 + false + false + + + Heath H89, Magnolia CP/M - SSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 1 + 82 + 95 + 192 + 0 + 3 + 0 + false + false + + + Heath H89, Magnolia CP/M - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + CYLINDERS + + 4 + 15 + 1 + 172 + 95 + 192 + 0 + 3 + 0 + false + false + + + Heath H89, Magnolia CP/M - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + CYLINDERS + + 5 + 31 + 3 + 176 + 127 + 128 + 0 + 3 + 0 + false + false + + + Heurikon MLZ-91A - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 5 + 6 + 9 + 10 + 13 + 14 + 3 + 4 + 7 + 8 + 11 + 12 + 15 + 16 + + + + 1 + + 1 + 2 + 5 + 6 + 9 + 10 + 13 + 14 + 3 + 4 + 7 + 8 + 11 + 12 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 315 + 127 + 192 + 0 + 2 + 0 + false + false + + + Hewlett-Packard HP86/87/120/125 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + SIDES + + 3 + 7 + 0 + 251 + 127 + 240 + 0 + 3 + 0 + false + false + + + Hewlett Packard HP 125 - SSSD 8" - 256 x 16 + FM + HIGH + 66 + 1 + 16 + 256 + 6 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 3 + 7 + 0 + 251 + 127 + 240 + 0 + 3 + 0 + false + false + + + Hewlett Packard HP 125 - SSDD 3.5" - 256 x 16 + MFM + LOW + 66 + 1 + 16 + 256 + 6 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 3 + 7 + 0 + 251 + 127 + 240 + 0 + 3 + 0 + false + false + + + Hitachi HPC-6000 CP/M 68K - DSHD 1.2M 3.5" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + SIDES + + 5 + 31 + 3 + 242 + 127 + 128 + 0 + 4 + 0 + false + false + + + Hitachi R-1500 CP/M 68K - DSHD 1.2M 5.25" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + SIDES + + 4 + 15 + 0 + 494 + 127 + 192 + 0 + 2 + 0 + false + false + + + Strippit Houdaille Fab/V - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 4 + 15 + 0 + 174 + 63 + 128 + 0 + 1 + 0 + false + false + + + IBM PC, CP/M-86 - SSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 1 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 3 + 7 + 0 + 155 + 63 + 192 + 0 + 1 + 0 + false + false + + + IBM PC, CP/M-86 - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 4 + 15 + 1 + 157 + 63 + 128 + 0 + 1 + 0 + false + false + + + IBS Ultraframe Turbo DOS - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 397 + 255 + 240 + 0 + 0 + 0 + false + false + + + IBEX 7300 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 5 + 31 + 3 + 246 + 127 + 128 + 0 + 2 + 0 + false + false + + + IBEX 7301 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + 20 + 26 + 6 + 12 + 18 + 24 + 4 + 10 + 16 + 22 + + + + 1 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + 20 + 26 + 6 + 12 + 18 + 24 + 4 + 10 + 16 + 22 + + + SIDES + + 5 + 31 + 2 + 242 + 127 + 128 + 0 + 4 + 0 + false + false + + + ICL DRS 20 - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 6 + 11 + 16 + 5 + 10 + 15 + 4 + 9 + 14 + 3 + 8 + 13 + 2 + 7 + 12 + + + + 1 + + 1 + 6 + 11 + 16 + 5 + 10 + 15 + 4 + 9 + 14 + 3 + 8 + 13 + 2 + 7 + 12 + + + SIDES + + 5 + 31 + 3 + 158 + 255 + 192 + 0 + 2 + 0 + false + false + + + ICL DRS 300 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 350 + 127 + 192 + 0 + 4 + 0 + false + false + + + ICL Model 35/36 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 391 + 127 + 192 + 0 + 0 + 36 + false + false + + + IMS 5000 - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 9 + 2 + 10 + 3 + 11 + 4 + 12 + 5 + 13 + 6 + 14 + 7 + 15 + 8 + 16 + + + + 3 + 7 + 0 + 147 + 63 + 192 + 0 + 3 + 0 + false + false + + + IMS 5000 TurboDOS - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 390 + 127 + 192 + 0 + 4 + 0 + false + false + + + IMS 5000 TurboDOS - SSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 1 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 4 + 15 + 0 + 308 + 191 + 224 + 0 + 0 + 0 + false + false + + + IMS 5000 CP/M - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + + + CYLINDERS + + 4 + 15 + 0 + 395 + 255 + 240 + 0 + 2 + 0 + false + false + + + Intel iPDS 100 - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 307 + 255 + 240 + 0 + 6 + 0 + false + false + + + Intuit - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 3 + 7 + 0 + 190 + 127 + 240 + 0 + 2 + 0 + false + false + + + Insight Enterprises - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 155 + 63 + 128 + 0 + 2 + 0 + false + false + + + Ithaca Intersystems - SSDD 96 tpi 5.25" - 256 x 18 + MFM + LOW + 80 + 1 + 18 + 256 + 2 + + 0 + + 1 + 2 + 5 + 6 + 9 + 10 + 13 + 14 + 17 + 18 + 3 + 4 + 7 + 8 + 11 + 12 + 15 + 16 + + + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + Ithaca Intersystems - SSDD 8" - 512 x 15 + MFM + HIGH + 77 + 1 + 15 + 512 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + + + + 4 + 15 + 0 + 284 + 191 + 224 + 0 + 1 + 0 + false + false + + + Ithaca Intersystems - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + + + + 1 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + + + SIDES + + 5 + 31 + 1 + 284 + 255 + 192 + 0 + 1 + 0 + false + false + + + ITT 3030 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 35 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 3 + 7 + 0 + 247 + 63 + 192 + 0 + 4 + 0 + false + false + + + ITT 3030 - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 70 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 4 + 15 + 0 + 270 + 127 + 192 + 0 + 4 + 0 + false + false + + + Sel ITT 3030 - 70 Tracks 560 kB - 256 x 16 + MFM + LOW + 70 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + EAGLE + + 4 + 15 + 0 + 271 + 127 + 192 + 0 + 4 + 0 + false + false + + + Jonos - SSDD 3.5" - 512 x 9 + MFM + LOW + 70 + 1 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 1 + 152 + 63 + 128 + 0 + 2 + 0 + false + false + + + Kaypro II/2 - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 194 + 63 + 240 + 0 + 1 + 0 + false + false + + + Kaypro 2X/4/10 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 0 + + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + + + SIDES + + 4 + 15 + 1 + 196 + 63 + 192 + 0 + 1 + 0 + false + false + + + Kaypro 2X/4/10 (Alternate) - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + + + SIDES + + 4 + 15 + 1 + 196 + 63 + 192 + 0 + 1 + 0 + false + false + + + Kaypro, Pro-8 ROM - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 0 + + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + + + SIDES + + 5 + 31 + 3 + 196 + 95 + 128 + 0 + 2 + 0 + false + false + + + Kaypro Advent TurboROM - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 11 + 12 + 13 + 14 + 15 + + + SIDES + + 4 + 15 + 1 + 195 + 255 + 240 + 0 + 2 + 0 + false + false + + + Kaypro Advent TurboROM - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 3 + 7 + 0 + 185 + 31 + 192 + 0 + 3 + 0 + false + false + + + Kaypro Advent TurboROM - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 21 + 22 + 23 + 24 + 25 + + + SIDES + + 4 + 15 + 0 + 395 + 255 + 240 + 0 + 2 + 0 + false + false + + + Kontron - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + + + CYLINDERS + + 4 + 15 + 0 + 489 + 255 + 240 + 0 + 3 + 0 + false + false + + + Kontron/Zeiss - DSDD 96 tpi 5.25" - 128 x 16 + FM + LOW + 35 + 2 + 16 + 128 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + CYLINDERS + + 3 + 7 + 0 + 106 + 63 + 192 + 0 + 17 + 0 + false + false + + + Kontron Transient Recorder- DSDD 96 tpi 5.25"/3.5" - 256 x 16 + MFM + LOW + 77 + 2 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + EAGLE + + 4 + 15 + 0 + 299 + 255 + 240 + 0 + 4 + 0 + false + false + + + Lanier LTD READ-ONLY - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 4 + 15 + 0 + 318 + 127 + 192 + 0 + 1 + 0 + false + false + + + Lexoriter - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 4 + 15 + 1 + 159 + 127 + 192 + 0 + 0 + 0 + false + false + + + Lobo Max-80 - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 3 + 7 + 0 + 165 + 63 + 192 + 0 + 3 + 0 + false + false + + + Lobo Max-80 (256) - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + SIDES + + 4 + 15 + 0 + 172 + 127 + 192 + 0 + 3 + 0 + false + false + + + Lobo Max-80 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 191 + 127 + 192 + 0 + 3 + 0 + false + false + + + Lobo Max-80 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 391 + 255 + 240 + 0 + 3 + 0 + false + false + + + Lobo CP/M 2.2 - SSHD 8" - 256 x 30 + MFM + HIGH + 77 + 1 + 30 + 256 + 3 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + + + + 4 + 15 + 0 + 280 + 127 + 192 + 0 + 2 + 0 + false + false + + + LNW 2 - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 0 + + 0 + + 1 + 6 + 11 + 16 + 3 + 8 + 13 + 18 + 5 + 10 + 15 + 2 + 7 + 12 + 17 + 4 + 9 + 14 + + + + 4 + 15 + 1 + 82 + 63 + 128 + 0 + 3 + 0 + false + false + + + Lockheed-Martin Wire Harness Tester - DSDD 3.5" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 1 + + 1 + 4 + 2 + 5 + 3 + + + SIDES + + 4 + 15 + 0 + 394 + 127 + 192 + 0 + 2 + 0 + false + false + + + Macsym 150 - SSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 1 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 4 + 15 + 1 + 155 + 127 + 192 + 0 + 2 + 0 + false + false + + + MAI Basic Four - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 312 + 127 + 192 + 0 + 3 + 0 + false + false + + + Marconi Midata 510 - DSDD 3.5" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 3 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + EAGLE + + 5 + 31 + 3 + 197 + 127 + 128 + 0 + 2 + 0 + false + false + + + Memotech MaxBP - DSDD 3.5" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 394 + 191 + 224 + 0 + 2 + 0 + false + false + + + Memotech FDX - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 156 + 63 + 128 + 0 + 0 + 26 + false + false + + + Micro Source M6000 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 0 + + 11 + 15 + 19 + 13 + 17 + 12 + 16 + 20 + 14 + 18 + + + SIDES + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + Michels and Kleberhoff CP/M 3 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + EAGLE + + 4 + 15 + 0 + 394 + 127 + 192 + 0 + 2 + 0 + true + false + + + Michels and Kleberhoff CP/M 3 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 35 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + CYLINDERS + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + true + false + + + MicroMint SB180 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + + + + 1 + + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + + + SIDES + + 4 + 15 + 1 + 200 + 127 + 192 + 0 + 0 + 0 + false + false + + + Molecular Series 9 - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 2 + SIDES + + 4 + 15 + 1 + 179 + 127 + 192 + 0 + 4 + 0 + false + false + + + Molecular/Durango Poppy 54 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 3 + + 0 + + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + + + + 1 + + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 145 + 146 + 147 + + + SIDES + + 4 + 15 + 0 + 389 + 127 + 192 + 0 + 4 + 0 + false + false + + + Molecular - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 4 + 15 + 1 + 249 + 127 + 192 + 0 + 0 + 0 + false + false + + + Monroe 8800 Series - SSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + + 4 + 15 + 1 + 153 + 63 + 128 + 0 + 3 + 0 + false + false + + + Monroe System 2000 - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 315 + 127 + 192 + 0 + 2 + 0 + false + false + + + Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 4 + 15 + 1 + 94 + 127 + 192 + 0 + 2 + 0 + false + false + + + Morrow MD3, 5, 11, 16, 34 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 1 + + 1 + 4 + 2 + 5 + 3 + + + SIDES + + 4 + 15 + 1 + 194 + 191 + 224 + 0 + 2 + 0 + false + false + + + Morrow TurboDOS - DSDD 48 tpi 5.25" - 1024 x 4 + MFM + LOW + 40 + 2 + 4 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + + + + 1 + + 1 + 2 + 3 + 4 + + + SIDES + + 4 + 15 + 0 + 155 + 127 + 192 + 0 + 2 + 0 + false + false + + + Morrow MD3...CP/M Plus - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 1 + + 1 + 4 + 2 + 5 + 3 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Morrow 5/11/34 - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 4 + 2 + 5 + 3 + + + + 4 + 15 + 1 + 92 + 127 + 192 + 0 + 3 + 0 + false + false + + + MOS 80 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + + 1 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + SIDES + + 5 + 31 + 0 + 244 + 251 + 192 + 0 + 3 + 0 + false + false + + + Multitech MIC-540 - DSDD 96 tpi 5.25" - 256 x 18 + MFM + LOW + 80 + 2 + 18 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + SIDES + + 4 + 15 + 0 + 356 + 127 + 192 + 0 + 4 + 0 + false + false + + + MUPD/MDISK, Side I - SSSD 96 tpi 5.25" - 256 x 10 + FM + LOW + 80 + 1 + 10 + 256 + 0 + + 0 + + 0 + 2 + 4 + 6 + 8 + 1 + 3 + 5 + 7 + 9 + + + + 4 + 15 + 1 + 96 + 127 + 192 + 0 + 3 + 0 + false + false + + + MUPD/MDISK, Side II - SSSD 96 tpi 5.25" - 256 x 10 + FM + LOW + 80 + 2 + 10 + 256 + 0 + + 0 + + 0 + 2 + 4 + 6 + 8 + 1 + 3 + 5 + 7 + 9 + + + + 0 + + 0 + 2 + 4 + 6 + 8 + 1 + 3 + 5 + 7 + 9 + + + EAGLE + + 4 + 15 + 1 + 96 + 127 + 192 + 0 + 83 + 0 + false + false + + + MSD Systems PSC-1 POS - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 5 + 31 + 3 + 158 + 127 + 128 + 0 + 1 + 0 + false + false + + + NCHQ System II - SSSD 48tpi 5.25" - 128 x 18 + FM + LOW + 40 + 1 + 18 + 128 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 3 + 7 + 0 + 84 + 63 + 192 + 0 + 3 + 0 + false + false + + + NCR Decision Mate V - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + EAGLE + + 4 + 15 + 1 + 153 + 127 + 192 + 0 + 3 + 0 + false + false + + + NCR FirstStep - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 16 + 4 + 8 + 12 + 15 + 3 + 7 + 11 + 14 + 2 + 6 + 10 + + + + 1 + + 1 + 5 + 9 + 13 + 16 + 4 + 8 + 12 + 15 + 3 + 7 + 11 + 14 + 2 + 6 + 10 + + + SIDES + + 4 + 15 + 0 + 275 + 255 + 240 + 0 + 6 + 0 + false + false + + + NEC PC-8801A - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 6 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + + + SIDES + + 5 + 31 + 3 + 242 + 127 + 128 + 0 + 4 + 0 + false + false + + + NEC PC-8801A - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 6 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + + + SIDES + + 5 + 31 + 1 + 280 + 127 + 128 + 0 + 4 + 0 + false + false + + + NEC PC-8801A - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 599 + 255 + 240 + 0 + 4 + 0 + false + false + + + NEC PC-8001A - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 3 + 7 + 0 + 151 + 63 + 192 + 0 + 2 + 0 + false + false + + + NEC PC-8001B - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 151 + 63 + 128 + 0 + 2 + 0 + false + false + + + NEC PC 8801A - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 1 + 151 + 127 + 192 + 0 + 4 + 0 + false + false + + + NEC PC 8801A - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + NEC PC 8500/8431A, Starlet - DSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 4 + 15 + 1 + 151 + 127 + 192 + 0 + 4 + 0 + false + false + + + NEC APC CP/M-86 - DSHD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + + + + 4 + 15 + 0 + 494 + 255 + 240 + 0 + 2 + 0 + false + false + + + NEC APC TurboDOS - SSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 1 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 4 + 15 + 0 + 308 + 224 + 224 + 0 + 0 + 0 + false + false + + + New Brain - SSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 5 + 31 + 3 + 97 + 127 + 128 + 0 + 2 + 0 + false + false + + + Niat - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + + 1 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + CYLINDERS + + 5 + 31 + 3 + 157 + 127 + 128 + 0 + 2 + 0 + false + false + + + Nixdorf 8810/30 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 384 + 127 + 192 + 0 + 6 + 0 + false + false + + + Norsonic 830/836 - DSDD 3.5" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 199 + 127 + 192 + 0 + 0 + 0 + false + false + + + Numeridex 7000 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 1 + + 28 + 34 + 40 + 46 + 52 + 32 + 38 + 44 + 50 + 30 + 36 + 42 + 48 + + + SIDES + + 5 + 31 + 3 + 248 + 127 + 128 + 0 + 2 + 0 + false + false + + + Octagon 8/16 - SSDD 8" - 1024 x 9 + MFM + HIGH + 77 + 1 + 9 + 1024 + 3 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 5 + 31 + 1 + 167 + 127 + 128 + 0 + 2 + 0 + false + false + + + OEM Screen Typist - SSDD 3.5" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 1 + 94 + 63 + 128 + 0 + 2 + 0 + false + false + + + Olivetti ETV300 - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Olivetti M20 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 3 + 7 + 0 + 255 + 63 + 192 + 0 + 3 + 0 + false + false + + + Olivetti 250, CWP1 - SSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + SIDES + + 4 + 15 + 1 + 157 + 63 + 128 + 0 + 1 + 0 + false + false + + + Olivetti ETV 1010, CP/M 86 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 198 + 127 + 192 + 0 + 1 + 0 + false + false + + + Olivetti ETV 112 - SSDD 3.5" - 256 x 18 + MFM + LOW + 80 + 1 + 18 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 4 + 15 + 0 + 174 + 191 + 224 + 0 + 2 + 0 + false + false + + + Olympia EX-100 - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + Olympia ETX II - SSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 170 + 127 + 240 + 0 + 2 + 0 + false + false + + + Olympia Olytext 20 - DSDD 3.5" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 312 + 127 + 192 + 0 + 4 + 0 + false + false + + + Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10 + FM + LOW + 40 + 1 + 10 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 4 + 15 + 1 + 45 + 63 + 128 + 0 + 3 + 0 + false + false + + + Osborne 1 - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 3 + 7 + 0 + 184 + 63 + 192 + 0 + 3 + 0 + false + false + + + Osborne G2 System - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + Osborne G2 System - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 389 + 255 + 240 + 0 + 4 + 0 + false + false + + + Osborne 1 + Osmosis - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + SIDES + + 4 + 15 + 0 + 384 + 127 + 192 + 0 + 6 + 0 + false + false + + + Osborne Nuevo - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 6 + 8 + 10 + 7 + 9 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Osborne Vixen - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Osborne Executive w/Z3 - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 0 + 395 + 127 + 248 + 0 + 2 + 0 + false + false + + + Osborne Executive Dig. Arts - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 248 + 0 + 2 + 0 + false + false + + + Osborne Nuevo 2.1 - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 394 + 255 + 240 + 0 + 2 + 0 + false + false + + + OSM Zeus 4 - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 311 + 127 + 192 + 0 + 4 + 0 + false + false + + + Otrona Attache - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + EAGLE + + 4 + 15 + 1 + 181 + 127 + 192 + 0 + 3 + 0 + false + false + + + Otrona Attache - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + CYLINDERS + + 4 + 15 + 0 + 386 + 127 + 192 + 0 + 3 + 0 + false + false + + + Potter & Brumfield - SSSD 48 tpi 5.25" - 128 x 18 + FM + LOW + 40 + 1 + 18 + 128 + 0 + + 0 + + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + + + + 3 + 7 + 0 + 83 + 63 + 192 + 0 + 3 + 0 + false + false + + + Pegasus Data Logger - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + 9 + + + SIDES + + 4 + 15 + 0 + 170 + 63 + 128 + 0 + 6 + 0 + false + false + + + People's World Computer - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + CYLINDERS + + 4 + 15 + 0 + 398 + 127 + 120 + 0 + 0 + 0 + false + false + + + People's World Computer Boot - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + CYLINDERS + + 4 + 15 + 0 + 397 + 127 + 240 + 0 + 0 + 0 + false + false + + + Pericom - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 0 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 0 + 395 + 127 + 192 + 0 + 2 + 0 + false + false + + + Philips PC-2010 - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 3 + 7 + 0 + 151 + 63 + 192 + 0 + 2 + 0 + false + false + + + Philips PC-2012 - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + SIDES + + 5 + 31 + 3 + 157 + 127 + 128 + 0 + 2 + 0 + false + false + + + Philips PC-3000 - 3004 - SSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 4 + 15 + 1 + 147 + 63 + 192 + 0 + 3 + 0 + false + false + + + Physical Acoutstics - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 3 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + CYLINDERS + + 4 + 15 + 1 + 173 + 127 + 192 + 0 + 3 + 0 + false + false + + + Pied Piper - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + SIDES + + 4 + 15 + 0 + 391 + 255 + 240 + 0 + 3 + 0 + false + false + + + Proglas 770K - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 388 + 255 + 240 + 0 + 2 + 0 + false + false + + + Pulsar LBB - SSHD 8" - 512 x 17 + MFM + HIGH + 77 + 1 + 17 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 2 + 5 + 8 + 11 + 14 + 17 + 3 + 6 + 9 + 12 + 15 + + + + 4 + 15 + 0 + 317 + 127 + 192 + 0 + 2 + 0 + false + false + + + Research Machines Limited 380Z - 128 x 16 + FM + LOW + 40 + 1 + 16 + 128 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 3 + 7 + 0 + 74 + 63 + 192 + 0 + 3 + 0 + false + false + + + Royal Alphatronic - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 151 + 127 + 192 + 0 + 4 + 0 + false + false + + + Sage IV - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 4 + 15 + 1 + 155 + 63 + 128 + 0 + 2 + 0 + false + false + + + Sage IV - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 315 + 63 + 128 + 0 + 2 + 0 + false + false + + + Sanyo MBC-1000, MBC-1150 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + SIDES + + 4 + 15 + 1 + 155 + 63 + 128 + 0 + 2 + 0 + false + false + + + Sanyo MBC-2000 - SSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 1 + 16 + 256 + 0 + + 0 + + 1 + 6 + 11 + 16 + 5 + 10 + 15 + 4 + 9 + 14 + 3 + 8 + 13 + 2 + 7 + 12 + + + + 4 + 15 + 1 + 152 + 63 + 128 + 0 + 4 + 0 + false + false + + + Sanyo MBC-3000 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 1 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + SIDES + + 5 + 31 + 3 + 237 + 127 + 128 + 0 + 4 + 0 + false + false + + + Sanco 8001 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + + 4 + 15 + 0 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + Schneider CPC 6128 Side 1 - DSDD 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 2 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 180 + 63 + 192 + 0 + 0 + 0 + false + false + + + Schneider CPC 6128 Side 2 - DSDD 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 180 + 63 + 192 + 0 + 40 + 0 + false + false + + + S.D. Systems 40 track - SSDD 3.5" - 256 x 18 + MFM + LOW + 80 + 1 + 18 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 4 + 15 + 0 + 84 + 127 + 192 + 0 + 2 + 0 + false + false + + + S.D. Systems 80 track - DSDD 3.5" - 256 x 18 + MFM + LOW + 80 + 2 + 18 + 256 + 0 + SIDES + + 5 + 31 + 0 + 176 + 127 + 128 + 0 + 2 + 0 + false + false + + + S.D. Systems 80 track - SSDD 5.25" - 256 x 18 + MFM + LOW + 80 + 1 + 18 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 4 + 15 + 0 + 175 + 127 + 192 + 0 + 2 + 0 + false + false + + + S.D. Systems - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 1 + + 0 + + 1 + 5 + 9 + 13 + 17 + 21 + 25 + 3 + 7 + 11 + 15 + 19 + 23 + 2 + 6 + 10 + 14 + 18 + 22 + 26 + + + + 4 + 15 + 1 + 240 + 127 + 192 + 0 + 3 + 0 + false + false + + + Seiko - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 315 + 127 + 192 + 0 + 2 + 0 + false + false + + + SemiDisk DT42 - DSHD 96 tpi 5.25" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 2 + 5 + 8 + 11 + 14 + 3 + 6 + 9 + 12 + 15 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 2 + 5 + 8 + 11 + 14 + 3 + 6 + 9 + 12 + 15 + + + SIDES + + 4 + 15 + 0 + 562 + 255 + 240 + 0 + 4 + 0 + false + false + + + Sharp MZ-80 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 1 + 169 + 127 + 192 + 0 + 2 + 0 + true + false + + + Sharp MZ-80B - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 1 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 1 + 195 + 127 + 192 + 0 + 2 + 0 + true + false + + + Sharp 3500/5500 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + SIDES + + 4 + 15 + 1 + 151 + 127 + 192 + 0 + 4 + 0 + false + false + + + Sharp 5600 - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + SIDES + + 4 + 15 + 0 + 312 + 127 + 192 + 0 + 4 + 0 + false + false + + + Sharp MZ 3541 - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Shelton SIG/NET 2 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + SIDES + + 4 + 15 + 1 + 195 + 63 + 128 + 0 + 2 + 0 + true + false + + + Shelton SIG/NET 2 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + SIDES + + 4 + 15 + 0 + 395 + 255 + 240 + 0 + 2 + 0 + true + false + + + Siemens PG-685 DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 350 + 255 + 240 + 0 + 4 + 0 + false + false + + + Siemens PG-675 DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 170 + 63 + 128 + 0 + 4 + 0 + false + false + + + Silver-Reed WP System - DSDD 3.5" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 3 + 5 + 2 + 4 + + + + 1 + + 1 + 3 + 5 + 2 + 4 + + + SIDES + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + Smart Aleck - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Sorbus TurboDOS - 5.25" DSHD (or 8" DSDD) - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 5 + 31 + 1 + 308 + 255 + 192 + 0 + 0 + 0 + false + false + + + Sony SMC-70 - SSDD 3.5" - 256 x 16 + MFM + LOW + 70 + 1 + 16 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 3 + 6 + 9 + 12 + 15 + 2 + 5 + 8 + 11 + 14 + + + + 4 + 15 + 1 + 135 + 127 + 192 + 0 + 2 + 0 + false + false + + + Spectravideo 318/328 - SSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 1 + 17 + 256 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 3 + 7 + 0 + 156 + 63 + 192 + 0 + 3 + 0 + false + false + + + Spectravideo SV-328 - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 2 + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + CYLINDERS + + 4 + 15 + 1 + 162 + 63 + 128 + 0 + 3 + 0 + false + false + + + Sperry UTS 30, UTS 5000 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 354 + 383 + 252 + 0 + 2 + 0 + false + false + + + Spectravideo - SSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 1 + 17 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 3 + 7 + 0 + 157 + 63 + 192 + 0 + 3 + 0 + false + false + + + Spectravideo - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + CYLINDERS + + 4 + 15 + 1 + 163 + 63 + 128 + 0 + 3 + 0 + false + false + + + Spectravideo - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 1 + 197 + 63 + 128 + 0 + 1 + 0 + false + false + + + Spectravideo - SSDD 3.5" - 512 x 9 + MFM + LOW + 80 + 1 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 1 + 163 + 63 + 128 + 0 + 3 + 0 + false + false + + + Superbrain JR - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 35 + 1 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 4 + 15 + 1 + 81 + 63 + 128 + 0 + 2 + 0 + true + false + + + Superbrain 40 track - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 4 + 15 + 1 + 94 + 63 + 128 + 0 + 2 + 0 + true + false + + + Superbrain QD - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 35 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + CYLINDERS + + 4 + 15 + 1 + 169 + 63 + 128 + 0 + 2 + 0 + true + false + + + Superbrain II - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + CYLINDERS + + 5 + 31 + 3 + 196 + 127 + 192 + 0 + 3 + 0 + true + false + + + Superbrain - SSDD 48 tpi 5.25" - 128 x 30 + MFM + LOW + 40 + 1 + 30 + 128 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 28 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 29 + + + + 3 + 7 + 0 + 142 + 63 + 192 + 0 + 2 + 0 + true + false + + + System Group 2800 - DSDD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 5 + 31 + 1 + 303 + 255 + 192 + 0 + 2 + 0 + false + false + + + Tarbell - DSDD 8" - 512 x 15 + MFM + HIGH + 77 + 2 + 15 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 12 + 13 + 14 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 12 + 13 + 14 + + + SIDES + + 5 + 31 + 0 + 303 + 169 + 192 + 0 + 2 + 0 + false + false + + + Tatung TPC2000 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 3 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + EAGLE + + 4 + 15 + 0 + 354 + 127 + 192 + 0 + 2 + 0 + false + false + + + Techron TEF 10 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + + 1 + + 1 + 4 + 7 + 10 + 3 + 6 + 9 + 2 + 5 + 8 + + + SIDES + + 4 + 15 + 0 + 394 + 319 + 248 + 0 + 2 + 0 + false + false + + + Techron TEF 12 - DSHD 96 tpi 5.25" - 512 x 17 + MFM + HIGH + 80 + 2 + 17 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + SIDES + + 4 + 15 + 0 + 670 + 767 + 255 + 240 + 4 + 0 + false + false + + + Tektronix 4170 - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + CYLINDERS + + 4 + 15 + 0 + 153 + 63 + 128 + 0 + 1 + 0 + false + false + + + Teletek - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 4 + 15 + 1 + 242 + 127 + 192 + 0 + 2 + 0 + false + false + + + Teletek Systemaster - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 7 + 13 + 2 + 8 + 14 + 3 + 9 + 15 + 4 + 10 + 16 + 5 + 11 + 17 + 6 + 12 + 18 + + + + 1 + + 1 + 7 + 13 + 2 + 8 + 14 + 3 + 9 + 15 + 4 + 10 + 16 + 5 + 11 + 17 + 6 + 12 + 18 + + + CYLINDERS + + 4 + 15 + 1 + 172 + 127 + 192 + 0 + 3 + 0 + false + false + + + Teletek Systemaster - DSDD 96 tpi 5.25" - 256 x 18 + MFM + LOW + 80 + 2 + 18 + 256 + 0 + + 0 + + 1 + 7 + 13 + 2 + 8 + 14 + 3 + 9 + 15 + 4 + 10 + 16 + 5 + 11 + 17 + 6 + 12 + 18 + + + + 1 + + 1 + 7 + 13 + 2 + 8 + 14 + 3 + 9 + 15 + 4 + 10 + 16 + 5 + 11 + 17 + 6 + 12 + 18 + + + EAGLE + + 4 + 15 + 0 + 353 + 127 + 192 + 0 + 3 + 0 + false + false + + + TeleVideo 8nn/TPC-1 CP/M - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 6 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + SIDES + + 4 + 15 + 0 + 170 + 63 + 128 + 0 + 4 + 0 + false + false + + + TeleVideo 1603 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 354 + 127 + 192 + 0 + 2 + 0 + false + false + + + TeleVideo 806 TurboDOS - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 200 + 127 + 192 + 0 + 0 + 0 + false + false + + + TeleVideo 8nn TurboDOS - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 6 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + SIDES + + 4 + 15 + 1 + 170 + 63 + 128 + 0 + 4 + 0 + false + false + + + Timex/Sinclair 2068+AERCO FD-68 RP/M - DSDD 48 tpi 5.25" -1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 189 + 127 + 192 + 0 + 4 + 0 + false + false + + + Tokyo Electron 80W - DSHD 3.5" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 6 + 63 + 3 + 160 + 255 + 128 + 0 + 0 + 0 + false + false + + + Toshiba T100, T200 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + + 1 + + 1 + 5 + 9 + 13 + 2 + 6 + 10 + 14 + 3 + 7 + 11 + 15 + 4 + 8 + 12 + 16 + + + SIDES + + 3 + 7 + 0 + 255 + 63 + 192 + 0 + 6 + 0 + false + false + + + Toshiba 300 - DSDD 96 tpi 5.25" - 512 x 8 + MFM + LOW + 80 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 0 + 318 + 127 + 192 + 0 + 1 + 0 + false + false + + + Toshiba T-250 - DSHD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + + + + 1 + + 1 + 4 + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 2 + 5 + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 3 + 6 + 9 + 12 + 15 + 18 + 21 + 24 + + + SIDES + + 4 + 15 + 0 + 487 + 63 + 128 + 0 + 4 + 0 + false + false + + + Transtec - SSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18 + FM + LOW + 35 + 1 + 18 + 128 + 0 + + 0 + + 1 + 5 + 9 + 13 + 17 + 3 + 7 + 11 + 15 + 2 + 6 + 10 + 14 + 18 + 4 + 8 + 12 + 16 + + + + 3 + 7 + 0 + 71 + 63 + 192 + 0 + 3 + 0 + false + false + + + TRS-80 Model 1, Bigmem CP/M - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 0 + + 0 + + 1 + 7 + 13 + 19 + 25 + 5 + 11 + 17 + 23 + 3 + 9 + 15 + 21 + 2 + 8 + 14 + + + + 4 + 15 + 1 + 243 + 63 + 128 + 0 + 2 + 0 + false + false + + + TRS-80 Model 1, ColorPower II - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + TRS-80, Pickles & Trout CP/M - SSDD 8" - 512 x 16 + MFM + HIGH + 77 + 1 + 16 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 4 + 15 + 0 + 299 + 127 + 192 + 0 + 2 + 0 + false + false + + + TRS-80, Holmes CP/M - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 4 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + + + SIDES + + 4 + 15 + 1 + 190 + 63 + 240 + 0 + 2 + 0 + false + false + + + TRS-80, MM CP/M - SSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 1 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 4 + 15 + 1 + 94 + 127 + 192 + 0 + 2 + 0 + false + false + + + TRS-80 Model 4, 4P; MT CP/M - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 4 + 15 + 1 + 84 + 127 + 192 + 0 + 2 + 0 + false + false + + + TRS-80 Model 4, 4P; MT CP/M - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + SIDES + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + TRS-80 Model 4, 4P - SSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 1 + 8 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 3 + 7 + 0 + 155 + 63 + 192 + 0 + 1 + 0 + false + false + + + TRS-80 Model 4P-Montezuma800K - DSDD 96tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + 10 + + + SIDES + + 4 + 15 + 0 + 399 + 127 + 192 + 0 + 0 + 0 + false + false + + + TRS-80 II/12/16 Aton CP/M - DSHD 8" - 1024 x 8 + MFM + HIGH + 77 + 2 + 8 + 1024 + 3 + + 0 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + + 1 + + 1 + 4 + 7 + 2 + 5 + 8 + 3 + 6 + + + SIDES + + 4 + 15 + 0 + 608 + 191 + 224 + 0 + 2 + 0 + false + false + + + TRS-80 II/12/16 Pickles & Trout - DSHD 8" - 512 x 16 + MFM + HIGH + 77 + 2 + 16 + 512 + 4 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 4 + 15 + 0 + 608 + 191 + 224 + 0 + 2 + 0 + false + false + + + TRS-80 Model 4, Montezuma - DSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 2 + 18 + 256 + 0 + + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + + 1 + + 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + + + EAGLE + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + U-Micro 1000 - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 4 + 15 + 0 + 395 + 127 + 192 + 0 + 2 + 0 + false + false + + + Varian Spectra AA/20, DS-15 - DSDD 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + EAGLE + + 3 + 7 + 0 + 317 + 63 + 96 + 0 + 0 + 2 + false + false + + + Vector 4 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + EAGLE + + 4 + 15 + 0 + 356 + 127 + 192 + 0 + 1 + 0 + false + false + + + Visual 1050 - SSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 1 + 10 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 2 + 0 + false + false + + + Wangwriter - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 1 + 155 + 127 + 192 + 0 + 2 + 0 + false + false + + + Wave Mate Bullet - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 3 + 7 + 0 + 189 + 63 + 192 + 0 + 2 + 0 + false + false + + + Wave Mate Bullet - DSDD 96 tpi 5.25" - 1024 x 5 + MFM + LOW + 80 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 394 + 127 + 192 + 0 + 2 + 0 + false + false + + + Wave Mate Bullet - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + Wave Mate Bullet - SSHD 8" - 1024 x 9 + MFM + HIGH + 77 + 1 + 9 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 0 + 336 + 127 + 192 + 0 + 2 + 0 + false + false + + + Xerox - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + CYLINDERS + + 4 + 15 + 1 + 170 + 127 + 192 + 0 + 2 + 0 + false + false + + + Xerox 820 - SSSD 48 tpi 5.25" - 128 x 18 + FM + LOW + 40 + 1 + 18 + 128 + 0 + + 0 + + 1 + 6 + 11 + 16 + 3 + 8 + 13 + 18 + 5 + 10 + 15 + 2 + 7 + 12 + 17 + 4 + 9 + 14 + + + + 3 + 7 + 0 + 83 + 31 + 128 + 0 + 3 + 0 + false + false + + + Xerox 820 II - SSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 1 + 17 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 3 + 7 + 0 + 156 + 63 + 192 + 0 + 3 + 0 + false + false + + + Xerox 820-II, 16/8 - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + EAGLE + + 4 + 15 + 1 + 162 + 63 + 128 + 0 + 3 + 0 + false + false + + + Xerox 16/8 - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 5 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 4 + 15 + 1 + 242 + 127 + 192 + 0 + 2 + 0 + false + false + + + XEROX 16/8 - DSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 2 + 9 + 512 + 2 + CYLINDERS + + 4 + 15 + 1 + 162 + 63 + 128 + 0 + 2 + 0 + false + false + + + Xerox 820, S/W Publishers DD - SSDD 48 tpi 5.25" - 256 x 18 + MFM + LOW + 40 + 1 + 18 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + + + + 3 + 7 + 0 + 166 + 63 + 192 + 0 + 3 + 0 + false + false + + + Xerox 3700 Laser Printer - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 3 + CYLINDERS + + 4 + 15 + 1 + 162 + 63 + 192 + 0 + 3 + 0 + false + false + + + Xerox 16/8, 820 II - SSDD 48 tpi 5.25" + MFM + LOW + 40 + 1 + 17 + 256 + 3 + + 3 + 7 + 0 + 156 + 63 + 192 + 0 + 3 + 0 + false + false + + + Xerox 16/8 - SSDD 48 tpi 5.25" - 512 x 9 + MFM + LOW + 40 + 1 + 9 + 512 + 3 + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Xerox 16/8 Special - SSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 1 + 8 + 512 + 3 + + 3 + 7 + 0 + 151 + 63 + 192 + 0 + 2 + 0 + false + false + + + Xerox 16/8, 820-II - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 3 + EAGLE + + 4 + 15 + 1 + 162 + 63 + 128 + 0 + 3 + 0 + false + false + + + Xerox 16/8 Special - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 3 + CYLINDERS + + 4 + 15 + 1 + 155 + 63 + 128 + 0 + 2 + 0 + false + false + + + Xerox 3700 Laser Printer - DSDD 48 tpi 5.25" - 256 x 17 + MFM + LOW + 40 + 2 + 17 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + CYLINDERS + + 4 + 15 + 1 + 162 + 63 + 192 + 0 + 3 + 0 + false + false + + + Xor 5 - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 6 + 2 + 7 + 3 + 8 + 4 + 9 + 5 + 10 + + + + 0 + + 1 + 6 + 2 + 7 + 3 + 8 + 4 + 9 + 5 + 10 + + + SIDES + + 4 + 15 + 1 + 191 + 127 + 192 + 0 + 3 + 0 + false + false + + + XYZ - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 0 + + 0 + + 1 + 5 + 9 + 3 + 7 + 2 + 6 + 10 + 4 + 8 + + + + 1 + + 11 + 15 + 19 + 13 + 17 + 12 + 16 + 20 + 14 + 18 + + + SIDES + + 4 + 15 + 1 + 194 + 127 + 192 + 0 + 4 + 0 + false + false + + + Zeiss Video Analysis System - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + CYLINDERS + + 4 + 15 + 0 + 299 + 255 + 240 + 0 + 4 + 0 + false + false + + + Zenith Z-37 Disk - SSSD 48 tpi 5.25" - 256 x 10 + FM + LOW + 40 + 1 + 10 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 3 + 7 + 0 + 91 + 63 + 192 + 0 + 3 + 0 + false + false + + + Zenith Z-37 Disk - DSDD 96 tpi 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 315 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z89, Heath H89 - DSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 155 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z90 - SSDD 48 tpi 5.25" - 256 x 16 + MFM + LOW + 40 + 1 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 3 + 7 + 0 + 151 + 127 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z-100 - SSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 1 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 3 + 7 + 0 + 151 + 127 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z-100 - DSDD 48 tpi 5.25" - 512 x 8 + MFM + LOW + 40 + 2 + 8 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + SIDES + + 4 + 15 + 1 + 155 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z-100 - SSDD 8" - 256 x 26 + MFM + HIGH + 77 + 1 + 26 + 256 + 0 + + 0 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + + + + 4 + 15 + 1 + 242 + 127 + 192 + 0 + 2 + 0 + false + false + + + Zenith Z-37 Disk - DSDD 96 (Half drive) 5.25" - 256 x 16 + MFM + LOW + 80 + 2 + 16 + 256 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + SIDES + + 4 + 15 + 0 + 155 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith/Heath H-89 Ext Density - DSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 2 + 5 + 1024 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 195 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z-100, Heath H-47 - DSDD 8" - 256 x 26 + MFM + HIGH + 77 + 2 + 26 + 256 + 0 + + 0 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + 15 + 24 + 7 + 16 + 25 + 8 + 17 + 26 + 9 + 18 + + + + 1 + + 1 + 10 + 19 + 2 + 11 + 20 + 3 + 12 + 21 + 4 + 13 + 22 + 5 + 14 + 23 + 6 + 15 + 24 + 7 + 16 + 25 + 8 + 17 + 26 + 9 + 18 + + + SIDES + + 4 + 15 + 0 + 497 + 255 + 240 + 0 + 2 + 0 + false + false + + + Zenith Z-37 - SSDD 48 tpi 5.25" - 1024 x 5 + MFM + LOW + 40 + 1 + 5 + 1024 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 3 + 7 + 0 + 190 + 127 + 240 + 0 + 2 + 0 + false + false + + + Zenith/Heath H89/H90 Magnolia 7736 - SSHD 8" - 512 x 16 + MFM + HIGH + 77 + 1 + 16 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 4 + 15 + 0 + 299 + 191 + 224 + 0 + 2 + 0 + false + false + + + Zorba - DSDD 48 tpi 5.25" - 512 x 10 + MFM + LOW + 40 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + SIDES + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + Zorba - DSDD 96 tpi 5.25" - 512 x 10 + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + SIDES + + 5 + 31 + 3 + 194 + 127 + 128 + 0 + 2 + 0 + false + false + + + PIC-DISK SSDD 96tpi 3.5" + MFM + LOW + 80 + 1 + 9 + 512 + 1 + + 0 + + 1 + 3 + 5 + 7 + 9 + 2 + 4 + 6 + 8 + + + + 4 + 15 + 1 + 194 + 63 + 128 + 0 + 2 + 0 + false + false + + + SAM COUPE Pro-DOS - DSDD 160 tpi 3.5" + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 356 + 255 + 240 + 0 + 1 + 0 + false + false + + + Acorn CPM + MFM + LOW + 80 + 2 + 10 + 256 + 5 + + 0 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + CYLINDERS + + 4 + 15 + 1 + 200 + 127 + 192 + 0 + 3 + 0 + false + false + + + CPC 178K Data 40trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 40 + 2 + 9 + 512 + 5 + + 0 + + 0 + + + + 0 + + 0 + + + EAGLE + + 3 + 7 + 0 + 179 + 63 + 192 + 0 + 40 + 0 + false + false + + + CPC 187K Data 42trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 42 + 2 + 9 + 512 + 5 + + 0 + + 0 + + + + 0 + + 0 + + + EAGLE + + 3 + 7 + 0 + 188 + 63 + 192 + 0 + 42 + 0 + false + false + + + CPC-B360 358K Data 80trk 9sct 64dir 2Kpb Side 1 + MFM + LOW + 80 + 1 + 9 + 512 + 2 + + 0 + + 0 + + + + 4 + 15 + 1 + 179 + 63 + 128 + 0 + 0 + 0 + false + false + + + CPC-B360 358K Data 80trk 9sct 64dir 2Kpb Side 2 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 0 + + + + 0 + + 0 + + + EAGLE + + 4 + 15 + 1 + 179 + 63 + 128 + 0 + 80 + 0 + false + false + + + CPC 356K Data 40trk 9sct 128dir 2Kpb Two Sides + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 0 + + + + 1 + + 0 + + + SIDES + + 4 + 15 + 1 + 179 + 127 + 192 + 0 + 0 + 0 + false + false + + + DOBBERTIN 716K Data 80trk 9sct 128dir 4Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 0 + + + + 1 + + 0 + + + SIDES + + 5 + 31 + 3 + 179 + 127 + 128 + 0 + 0 + 0 + false + false + + + CPC-STD 169K System 40trk 9sct 64dir 1Kpb Side 1 + MFM + LOW + 40 + 1 + 9 + 512 + 5 + + 0 + + 41 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + CPC 169K System 40trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 40 + 2 + 9 + 512 + 5 + + 0 + + 41 + + + + 0 + + 41 + + + EAGLE + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 42 + 0 + false + false + + + CPC 178K System 42trk 9sct 64dir 1Kpb Side 1 + MFM + LOW + 42 + 1 + 9 + 512 + 5 + + 0 + + 41 + + + + 3 + 7 + 0 + 179 + 63 + 192 + 0 + 2 + 0 + false + false + + + CPC 178K System 42trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 42 + 2 + 9 + 512 + 5 + + 0 + + 41 + + + + 0 + + 41 + + + EAGLE + + 3 + 7 + 0 + 179 + 63 + 192 + 0 + 44 + 0 + false + false + + + CPC 253K System 60trk 9sct 64dir 1Kpb Side 1 + MFM + LOW + 60 + 1 + 9 + 512 + 5 + + 0 + + 41 + + + + 3 + 7 + 0 + 254 + 63 + 192 + 0 + 2 + 0 + false + false + + + CPC 253K System 60trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 60 + 2 + 9 + 512 + 5 + + 0 + + 41 + + + + 0 + + 41 + + + EAGLE + + 3 + 7 + 0 + 254 + 63 + 192 + 0 + 62 + 0 + false + false + + + CPC-B360 348K System 80trk 9sct 64dir 2Kpb Side 1 + MFM + LOW + 80 + 1 + 9 + 512 + 2 + + 0 + + 41 + + + + 4 + 15 + 1 + 174 + 63 + 128 + 0 + 2 + 0 + false + false + + + CPC-B360 348K System 80trk 9sct 64dir 2Kpb Side 2 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 41 + + + + 0 + + 41 + + + EAGLE + + 4 + 15 + 1 + 174 + 63 + 128 + 0 + 82 + 0 + false + false + + + CPC 346K System 40trk 9sct 128dir 2Kpb Two Sides + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 41 + + + + 1 + + 41 + + + SIDES + + 4 + 15 + 1 + 174 + 127 + 192 + 0 + 2 + 0 + false + false + + + CPC 344K System 80trk 9sct 128dir 4Kpb Side 1 + MFM + LOW + 80 + 1 + 9 + 512 + 5 + + 0 + + 41 + + + + 5 + 31 + 3 + 86 + 127 + 128 + 0 + 2 + 0 + false + false + + + CPC 344K System 80trk 9sct 128dir 4Kpb Side 2 + MFM + LOW + 80 + 2 + 9 + 512 + 5 + + 0 + + 41 + + + + 0 + + 41 + + + EAGLE + + 5 + 31 + 3 + 86 + 127 + 128 + 0 + 82 + 0 + false + false + + + DOBBERTIN 704K System 80trk 9sct 128dir 4Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 41 + + + + 1 + + 41 + + + SIDES + + 5 + 31 + 3 + 176 + 127 + 128 + 0 + 2 + 0 + false + false + + + ReadBIG 706K System 80trk 9sct 128dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 41 + + + + 1 + + 41 + + + SIDES + + 4 + 15 + 0 + 354 + 127 + 192 + 0 + 2 + 0 + false + false + + + CPC-STD 154K Ibm-Cpm86 40trk 8sct 64dir 1Kpb Side 1 + MFM + LOW + 40 + 1 + 8 + 512 + 2 + + 0 + + 1 + + + + 3 + 7 + 0 + 155 + 63 + 192 + 0 + 1 + 0 + false + false + + + CPC 154K Ibm-Cpm86 40trk 8sct 64dir 1Kpb Side 2 + MFM + LOW + 40 + 2 + 8 + 512 + 2 + + 0 + + 1 + + + + 0 + + 1 + + + EAGLE + + 3 + 7 + 0 + 155 + 63 + 192 + 0 + 41 + 0 + false + false + + + PCW-STD 173K Format 40trk 9sct 64dir 1Kpb Side 1 + MFM + LOW + 40 + 1 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 174 + 63 + 192 + 0 + 1 + 0 + false + false + + + PCW 173K Format 40trk 9sct 64dir 1Kpb Side 2 + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + EAGLE + + 3 + 7 + 0 + 174 + 63 + 192 + 0 + 41 + 0 + false + false + + + PCW 346K Format 40trk 9sct 256dir 2Kpb Two Sides + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 176 + 255 + 240 + 0 + 1 + 0 + false + false + + + PCW 706K Format 80trk 9sct 256dir 2Kpb Two Sides + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 4 + 15 + 0 + 356 + 255 + 240 + 0 + 1 + 0 + false + false + + + PCW 784K Format 80trk 10sct 256dir 4Kpb Two Sides + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 5 + 31 + 3 + 197 + 255 + 192 + 0 + 1 + 0 + false + false + + + DiskPara3 796K Format 80trk 10sct 128dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + + + + 1 + + 1 + + + SIDES + + 4 + 15 + 0 + 399 + 127 + 192 + 0 + 0 + 0 + false + false + + + DiskPara 824K Format 83trk 10sct 192dir 2Kpb Two Sides + MFM + LOW + 83 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 0 + + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + + + SIDES + + 4 + 15 + 0 + 414 + 191 + 224 + 0 + 0 + 0 + false + false + + + VORTEX 704K Format 80trk 9sct 128dir 4Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + + + + 1 + + 1 + + + SIDES + + 5 + 31 + 3 + 176 + 127 + 128 + 0 + 2 + 0 + false + false + + + RAMDOS-D1 716K Format 80trk 9sct 128dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 1 + + + + 1 + + 1 + + + SIDES + + 4 + 15 + 0 + 359 + 127 + 192 + 0 + 0 + 0 + false + false + + + RAMDOS-D10 796K Format 80trk 10sct 128dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 11 + + + + 1 + + 11 + + + SIDES + + 4 + 15 + 0 + 399 + 127 + 192 + 0 + 0 + 0 + false + false + + + RAMDOS-D2 712K Format 80trk 9sct 256dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 9 + 512 + 0 + + 0 + + 21 + + + + 1 + + 21 + + + SIDES + + 4 + 15 + 0 + 359 + 255 + 240 + 0 + 0 + 0 + false + false + + + RAMDOS-D20 792K Format 80trk 10sct 256dir 2Kpb Two Sides + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 31 + + + + 1 + + 31 + + + SIDES + + 4 + 15 + 0 + 399 + 255 + 240 + 0 + 0 + 0 + false + false + + + Amstrad ZX Spectrum +3 - SSDD 64dir 1Kpb 180K - 173K user free + MFM + LOW + 40 + 1 + 9 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 174 + 63 + 192 + 0 + 1 + 0 + false + false + + + Amstrad ZX Spectrum +3 - DSDD 128dir 2Kpb 720K - 710K user free + MFM + LOW + 80 + 2 + 9 + 512 + 3 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 356 + 127 + 192 + 0 + 1 + 0 + false + false + + + Altos Series 5 - DSDD 96 tpi 5.25" - 512 x 9 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 176 + 255 + 192 + 0 + 64 + 0 + false + false + + + PC1715 SCP (80*2* 5,1024 4 OFS 4k DIR) 5.25" + MFM + LOW + 80 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 389 + 127 + 192 + 0 + 4 + 0 + false + false + + + PC1715 CPA (80*2* 5,1024 0 OFS 6k DIR) 5.25" + MFM + LOW + 80 + 2 + 5 + 1024 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + + + SIDES + + 4 + 15 + 0 + 399 + 191 + 224 + 0 + 0 + 0 + false + false + + + Amstrad PCW8256 - DSDD 48 tpi 5.25" + MFM + LOW + 40 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 4 + 15 + 0 + 356 + 255 + 240 + 0 + 1 + 0 + false + false + + + Amstrad PCW8256 - SSDD 48 tpi 3" (JOYCE-SYSTEM) + MFM + LOW + 40 + 1 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 3 + 7 + 0 + 174 + 63 + 192 + 0 + 1 + 0 + false + false + + + Amstrad CPC System - SSDD 48 tpi 3" or 5.25" + MFM + LOW + 40 + 1 + 9 + 512 + 5 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 3 + 7 + 0 + 170 + 63 + 192 + 0 + 2 + 0 + false + false + + + Amstrad CPC-Data - SSDD 48 tpi 3" or 5.25" + MFM + LOW + 40 + 1 + 9 + 512 + 5 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 179 + 63 + 192 + 0 + 0 + 0 + false + false + + + Amstrad B360K - SSDD 96 tpi 5.25" SKEW 2 + MFM + LOW + 80 + 1 + 9 + 512 + 2 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 4 + 15 + 1 + 174 + 63 + 128 + 0 + 2 + 0 + false + false + + + Amstrad VORTEX - DSDD 96 tpi 5.25" + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 176 + 127 + 128 + 0 + 2 + 0 + false + false + + + Amstrad CPC System DSDD 96tpi 5.25" - DOBBERTIN - + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + + 1 + + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + + + SIDES + + 5 + 31 + 3 + 176 + 127 + 128 + 0 + 2 + 0 + false + false + + + Amstrad DOBBERTIN DATA DSDD 96 tpi 5.25" Skew 5 + MFM + LOW + 80 + 2 + 9 + 512 + 2 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 1 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 5 + 31 + 3 + 179 + 127 + 128 + 0 + 0 + 0 + false + false + + + Amstrad PCW8256 - DSDD 96 tpi 5.25" 10 x 512 788K + MFM + LOW + 80 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 5 + 31 + 3 + 197 + 255 + 192 + 0 + 1 + 0 + false + false + + + Amstrad PCW Joyce - SF2DD (824 kb - 256 entries) + MFM + LOW + 84 + 2 + 10 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + SIDES + + 5 + 31 + 3 + 208 + 255 + 192 + 0 + 1 + 0 + false + false + + + Amstrad PCW Joyce - 168 Track DD (740 kb - 256 entries) + MFM + LOW + 84 + 2 + 9 + 512 + 2 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + SIDES + + 5 + 31 + 3 + 187 + 255 + 192 + 0 + 1 + 0 + false + false + + + Extended CPC 3" 43-track + MFM + LOW + 43 + 1 + 9 + 512 + 2 + + 0 + + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + + + + 3 + 7 + 0 + 193 + 63 + 192 + 0 + 0 + 0 + false + false + + + Apple // CPM card 13-sector + GCR + LOW + 35 + 1 + 13 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + + + + 3 + 7 + 0 + 103 + 47 + 192 + 0 + 3 + 0 + false + false + + + Apple // CPM card 16-sector + GCR + LOW + 35 + 1 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 3 + 7 + 0 + 127 + 63 + 192 + 0 + 3 + 0 + false + false + + + Apple // CPM card special + GCR + LOW + 80 + 2 + 16 + 256 + 0 + + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + + + + 4 + 15 + 0 + 313 + 255 + 240 + 0 + 3 + 0 + false + false + + + 2016-08-24T02:44:59.045767Z \ No newline at end of file diff --git a/Aaru.Filesystems/Cram.cs b/Aaru.Filesystems/Cram.cs index 9f9df9d35..77f984f89 100644 --- a/Aaru.Filesystems/Cram.cs +++ b/Aaru.Filesystems/Cram.cs @@ -45,9 +45,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the CRAM filesystem - /// + /// Implements detection of the CRAM filesystem [SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class Cram : IFilesystem { @@ -58,13 +56,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Cram filesystem"; + public string Name => "Cram filesystem"; /// - public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); + public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ECMA67.cs b/Aaru.Filesystems/ECMA67.cs index 805f26d32..88cc2c8e9 100644 --- a/Aaru.Filesystems/ECMA67.cs +++ b/Aaru.Filesystems/ECMA67.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the filesystem described in ECMA-67 - /// + /// Implements detection of the filesystem described in ECMA-67 public sealed class ECMA67 : IFilesystem { readonly byte[] _magic = @@ -53,15 +51,15 @@ namespace Aaru.Filesystems }; /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "ECMA-67"; + public string Name => "ECMA-67"; /// - public Guid Id => new Guid("62A2D44A-CBC1-4377-B4B6-28C5C92034A1"); + public Guid Id => new Guid("62A2D44A-CBC1-4377-B4B6-28C5C92034A1"); /// public FileSystemType XmlFsType { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/EFS.cs b/Aaru.Filesystems/EFS.cs index 87969f6fb..181659147 100644 --- a/Aaru.Filesystems/EFS.cs +++ b/Aaru.Filesystems/EFS.cs @@ -45,9 +45,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements identification for the SGI Extent FileSystem - /// + /// Implements identification for the SGI Extent FileSystem public sealed class EFS : IFilesystem { const uint EFS_MAGIC = 0x00072959; @@ -56,13 +54,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Extent File System Plugin"; + public string Name => "Extent File System Plugin"; /// - public Guid Id => new Guid("52A43F90-9AF3-4391-ADFE-65598DEEABAB"); + public Guid Id => new Guid("52A43F90-9AF3-4391-ADFE-65598DEEABAB"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/F2FS.cs b/Aaru.Filesystems/F2FS.cs index 476e3875d..a0639d5bd 100644 --- a/Aaru.Filesystems/F2FS.cs +++ b/Aaru.Filesystems/F2FS.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Flash-Friendly File System (F2FS) - /// + /// Implements detection of the Flash-Friendly File System (F2FS) [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class F2FS : IFilesystem { @@ -55,18 +53,19 @@ namespace Aaru.Filesystems const uint F2FS_MIN_SECTOR = 512; const uint F2FS_MAX_SECTOR = 4096; const uint F2FS_BLOCK_SIZE = 4096; + // ReSharper restore InconsistentNaming /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "F2FS Plugin"; + public string Name => "F2FS Plugin"; /// - public Guid Id => new Guid("82B0920F-5F0D-4063-9F57-ADE0AE02ECE5"); + public Guid Id => new Guid("82B0920F-5F0D-4063-9F57-ADE0AE02ECE5"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/FAT/FAT.cs b/Aaru.Filesystems/FAT/FAT.cs index 519cf2ea3..9c765561d 100644 --- a/Aaru.Filesystems/FAT/FAT.cs +++ b/Aaru.Filesystems/FAT/FAT.cs @@ -43,9 +43,7 @@ namespace Aaru.Filesystems // TODO: Differentiate between Atari and X68k FAT, as this one uses a standard BPB. // X68K uses cdate/adate from direntry for extending filename /// - /// - /// Implements the File Allocation Table, aka FAT, filesystem (FAT12, FAT16 and FAT32 variants). - /// + /// Implements the File Allocation Table, aka FAT, filesystem (FAT12, FAT16 and FAT32 variants). public sealed partial class FAT : IReadOnlyFilesystem { uint _bytesPerCluster; @@ -74,11 +72,11 @@ namespace Aaru.Filesystems /// public Encoding Encoding { get; private set; } /// - public string Name => "Microsoft File Allocation Table"; + public string Name => "Microsoft File Allocation Table"; /// - public Guid Id => new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0"); + public Guid Id => new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public IEnumerable<(string name, Type type, string description)> SupportedOptions => diff --git a/Aaru.Filesystems/FAT/Info.cs b/Aaru.Filesystems/FAT/Info.cs index 02406b3a9..7c71ef3f5 100644 --- a/Aaru.Filesystems/FAT/Info.cs +++ b/Aaru.Filesystems/FAT/Info.cs @@ -325,8 +325,8 @@ namespace Aaru.Filesystems return true; } - byte fat2 = fatSector[1]; - byte fat3 = fatSector[2]; + byte fat2 = fatSector[1]; + byte fat3 = fatSector[2]; ushort fatCluster2 = (ushort)(((fat2 << 8) + fat3) & 0xFFF); AaruConsole.DebugWriteLine("FAT plugin", "1st fat cluster 1 = {0:X3}", fatCluster2); @@ -397,8 +397,8 @@ namespace Aaru.Filesystems byte[] fat2Sector = imagePlugin.ReadSector(fat2SectorNo); - fat2 = fat2Sector[1]; - fat3 = fat2Sector[2]; + fat2 = fat2Sector[1]; + fat3 = fat2Sector[2]; fatCluster2 = (ushort)(((fat2 << 8) + fat3) & 0xFFF); if(fatCluster2 < 0xFF0) diff --git a/Aaru.Filesystems/FATX/Dir.cs b/Aaru.Filesystems/FATX/Dir.cs index e38bae17c..e7201534a 100644 --- a/Aaru.Filesystems/FATX/Dir.cs +++ b/Aaru.Filesystems/FATX/Dir.cs @@ -124,8 +124,9 @@ namespace Aaru.Filesystems { DirectoryEntry dirent = _littleEndian ? Marshal. - ByteArrayToStructureLittleEndian(directoryBuffer, pos, Marshal.SizeOf()) + ByteArrayToStructureLittleEndian< + DirectoryEntry>(directoryBuffer, pos, + Marshal.SizeOf()) : Marshal.ByteArrayToStructureBigEndian(directoryBuffer, pos, Marshal.SizeOf()); diff --git a/Aaru.Filesystems/FATX/FATX.cs b/Aaru.Filesystems/FATX/FATX.cs index f10cb5267..8f7c8a961 100644 --- a/Aaru.Filesystems/FATX/FATX.cs +++ b/Aaru.Filesystems/FATX/FATX.cs @@ -41,9 +41,7 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements the Xbox File Allocation Table (FATX or XTAF) filesystem. - /// + /// Implements the Xbox File Allocation Table (FATX or XTAF) filesystem. public sealed partial class XboxFatPlugin : IReadOnlyFilesystem { uint _bytesPerCluster; @@ -65,13 +63,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "FATX Filesystem Plugin"; + public string Name => "FATX Filesystem Plugin"; /// - public Guid Id => new Guid("ED27A721-4A17-4649-89FD-33633B46E228"); + public Guid Id => new Guid("ED27A721-4A17-4649-89FD-33633B46E228"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public Errno ListXAttr(string path, out List xattrs) diff --git a/Aaru.Filesystems/FATX/Super.cs b/Aaru.Filesystems/FATX/Super.cs index 7cfdfb568..0d5302702 100644 --- a/Aaru.Filesystems/FATX/Super.cs +++ b/Aaru.Filesystems/FATX/Super.cs @@ -231,8 +231,9 @@ namespace Aaru.Filesystems { DirectoryEntry entry = _littleEndian ? Marshal. - ByteArrayToStructureLittleEndian(rootDirectoryBuffer, pos, Marshal.SizeOf()) + ByteArrayToStructureLittleEndian< + DirectoryEntry>(rootDirectoryBuffer, pos, + Marshal.SizeOf()) : Marshal.ByteArrayToStructureBigEndian(rootDirectoryBuffer, pos, Marshal.SizeOf()); diff --git a/Aaru.Filesystems/FFS.cs b/Aaru.Filesystems/FFS.cs index e9dd37701..843b85b26 100644 --- a/Aaru.Filesystems/FFS.cs +++ b/Aaru.Filesystems/FFS.cs @@ -48,9 +48,7 @@ namespace Aaru.Filesystems { // Using information from Linux kernel headers /// - /// - /// Implements detection of BSD Fast File System (FFS, aka UNIX File System) - /// + /// Implements detection of BSD Fast File System (FFS, aka UNIX File System) [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed class FFSPlugin : IFilesystem { @@ -100,13 +98,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "BSD Fast File System (aka UNIX File System, UFS)"; + public string Name => "BSD Fast File System (aka UNIX File System, UFS)"; /// - public Guid Id => new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3"); + public Guid Id => new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Fossil.cs b/Aaru.Filesystems/Fossil.cs index 6a05c1f63..037ea69a8 100644 --- a/Aaru.Filesystems/Fossil.cs +++ b/Aaru.Filesystems/Fossil.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection for the Plan-9 Fossil on-disk filesystem - /// + /// Implements detection for the Plan-9 Fossil on-disk filesystem public sealed class Fossil : IFilesystem { const uint FOSSIL_HDR_MAGIC = 0x3776AE89; @@ -57,13 +55,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Fossil Filesystem Plugin"; + public string Name => "Fossil Filesystem Plugin"; /// - public Guid Id => new Guid("932BF104-43F6-494F-973C-45EF58A51DA9"); + public Guid Id => new Guid("932BF104-43F6-494F-973C-45EF58A51DA9"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/HAMMER.cs b/Aaru.Filesystems/HAMMER.cs index 1dacdf124..e0644da30 100644 --- a/Aaru.Filesystems/HAMMER.cs +++ b/Aaru.Filesystems/HAMMER.cs @@ -48,9 +48,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection for the HAMMER filesystem - /// + /// Implements detection for the HAMMER filesystem public sealed class HAMMER : IFilesystem { const ulong HAMMER_FSBUF_VOLUME = 0xC8414D4DC5523031; @@ -61,13 +59,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "HAMMER Filesystem"; + public string Name => "HAMMER Filesystem"; /// - public Guid Id => new Guid("91A188BF-5FD7-4677-BBD3-F59EBA9C864D"); + public Guid Id => new Guid("91A188BF-5FD7-4677-BBD3-F59EBA9C864D"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/HPFS.cs b/Aaru.Filesystems/HPFS.cs index f529fba67..a1d046d55 100644 --- a/Aaru.Filesystems/HPFS.cs +++ b/Aaru.Filesystems/HPFS.cs @@ -44,21 +44,19 @@ namespace Aaru.Filesystems { // Information from an old unnamed document /// - /// - /// Implements detection of IBM's High Performance File System (HPFS) - /// + /// Implements detection of IBM's High Performance File System (HPFS) public sealed class HPFS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "OS/2 High Performance File System"; + public string Name => "OS/2 High Performance File System"; /// - public Guid Id => new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5"); + public Guid Id => new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/HPOFS/HPOFS.cs b/Aaru.Filesystems/HPOFS/HPOFS.cs index 23a37fce7..cfb423274 100644 --- a/Aaru.Filesystems/HPOFS/HPOFS.cs +++ b/Aaru.Filesystems/HPOFS/HPOFS.cs @@ -40,20 +40,18 @@ namespace Aaru.Filesystems // Information from test floppy images created with OS/2 HPOFS 2.0 // Need to get IBM document GA32-0224 -> IBM 3995 Optical Library Dataserver Products: Optical Disk Format /// - /// - /// Implements identification of IBM's High Performance Optical File System - /// + /// Implements identification of IBM's High Performance Optical File System public sealed partial class HPOFS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "High Performance Optical File System"; + public string Name => "High Performance Optical File System"; /// - public Guid Id => new Guid("1b72dcd5-d031-4757-8a9f-8d2fb18c59e2"); + public Guid Id => new Guid("1b72dcd5-d031-4757-8a9f-8d2fb18c59e2"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; } } \ No newline at end of file diff --git a/Aaru.Filesystems/ISO9660/ISO9660.cs b/Aaru.Filesystems/ISO9660/ISO9660.cs index 81790ec8e..d9b81c5c0 100644 --- a/Aaru.Filesystems/ISO9660/ISO9660.cs +++ b/Aaru.Filesystems/ISO9660/ISO9660.cs @@ -43,9 +43,7 @@ namespace Aaru.Filesystems { // This is coded following ECMA-119. /// - /// - /// Implements the High Sierra, ISO9660 and CD-i filesystems - /// + /// Implements the High Sierra, ISO9660 and CD-i filesystems [SuppressMessage("ReSharper", "UnusedType.Local")] public sealed partial class ISO9660 : IReadOnlyFilesystem { @@ -67,13 +65,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "ISO9660 Filesystem"; + public string Name => "ISO9660 Filesystem"; /// - public Guid Id => new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8"); + public Guid Id => new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public IEnumerable<(string name, Type type, string description)> SupportedOptions => diff --git a/Aaru.Filesystems/ISO9660/Info.cs b/Aaru.Filesystems/ISO9660/Info.cs index 3f321a0ef..33140efb2 100644 --- a/Aaru.Filesystems/ISO9660/Info.cs +++ b/Aaru.Filesystems/ISO9660/Info.cs @@ -152,8 +152,8 @@ namespace Aaru.Filesystems if(Encoding.GetString(vdMagic) != ISO_MAGIC && Encoding.GetString(hsMagic) != HIGH_SIERRA_MAGIC && - Encoding.GetString(vdMagic) != CDI_MAGIC - ) // Recognized, it is an ISO9660, now check for rest of data. + Encoding.GetString(vdMagic) != + CDI_MAGIC) // Recognized, it is an ISO9660, now check for rest of data. { if(counter == 0) return; @@ -790,8 +790,7 @@ namespace Aaru.Filesystems if(sectionEntry.bootable == ElToritoIndicator.Bootable) { bootImage = - sectionEntry.load_rba + partition.Start + sectionEntry.sector_count - 1 <= - partition.End + sectionEntry.load_rba + partition.Start + sectionEntry.sector_count - 1 <= partition.End ? imagePlugin.ReadSectors(sectionEntry.load_rba + partition.Start, sectionEntry.sector_count) : null; diff --git a/Aaru.Filesystems/JFS.cs b/Aaru.Filesystems/JFS.cs index 1c3f2f6d8..e413c9efc 100644 --- a/Aaru.Filesystems/JFS.cs +++ b/Aaru.Filesystems/JFS.cs @@ -45,9 +45,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of IBM's Journaled File System - /// + /// Implements detection of IBM's Journaled File System public sealed class JFS : IFilesystem { const uint JFS_BOOT_BLOCKS_SIZE = 0x8000; @@ -56,13 +54,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "JFS Plugin"; + public string Name => "JFS Plugin"; /// - public Guid Id => new Guid("D3BE2A41-8F28-4055-94DC-BB6C72A0E9C4"); + public Guid Id => new Guid("D3BE2A41-8F28-4055-94DC-BB6C72A0E9C4"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) @@ -203,8 +201,7 @@ namespace Aaru.Filesystems information = sb.ToString(); } - [Flags] - [SuppressMessage("ReSharper", "InconsistentNaming")] + [Flags, SuppressMessage("ReSharper", "InconsistentNaming")] enum Flags : uint { Unicode = 0x00000001, RemountRO = 0x00000002, Continue = 0x00000004, diff --git a/Aaru.Filesystems/LIF.cs b/Aaru.Filesystems/LIF.cs index 3055cc87a..2f06a652b 100644 --- a/Aaru.Filesystems/LIF.cs +++ b/Aaru.Filesystems/LIF.cs @@ -44,9 +44,7 @@ namespace Aaru.Filesystems { // Information from http://www.hp9845.net/9845/projects/hpdir/#lif_filesystem /// - /// - /// Implements detection of the LIF filesystem - /// + /// Implements detection of the LIF filesystem public sealed class LIF : IFilesystem { const uint LIF_MAGIC = 0x8000; @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "HP Logical Interchange Format Plugin"; + public string Name => "HP Logical Interchange Format Plugin"; /// - public Guid Id => new Guid("41535647-77A5-477B-9206-DA727ACDC704"); + public Guid Id => new Guid("41535647-77A5-477B-9206-DA727ACDC704"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/LisaFS/LisaFS.cs b/Aaru.Filesystems/LisaFS/LisaFS.cs index 61874bcb9..da22cabb7 100644 --- a/Aaru.Filesystems/LisaFS/LisaFS.cs +++ b/Aaru.Filesystems/LisaFS/LisaFS.cs @@ -41,9 +41,7 @@ namespace Aaru.Filesystems.LisaFS // All information by Natalia Portillo // Variable names from Lisa API /// - /// - /// Implements the Apple Lisa File System - /// + /// Implements the Apple Lisa File System public sealed partial class LisaFS : IReadOnlyFilesystem { bool _debug; @@ -55,15 +53,15 @@ namespace Aaru.Filesystems.LisaFS ulong _volumePrefix; /// - public string Name => "Apple Lisa File System"; + public string Name => "Apple Lisa File System"; /// - public Guid Id => new Guid("7E6034D1-D823-4248-A54D-239742B28391"); + public Guid Id => new Guid("7E6034D1-D823-4248-A54D-239742B28391"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// public FileSystemType XmlFsType { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; // TODO: Implement Lisa 7/7 namespace (needs decoding {!CATALOG} file) /// diff --git a/Aaru.Filesystems/Locus.cs b/Aaru.Filesystems/Locus.cs index 7f84ed5fb..012ebe109 100644 --- a/Aaru.Filesystems/Locus.cs +++ b/Aaru.Filesystems/Locus.cs @@ -68,9 +68,7 @@ using time_t = System.Int32; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Locus filesystem - /// + /// Implements detection of the Locus filesystem public sealed class Locus : IFilesystem { const int NICINOD = 325; @@ -86,13 +84,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Locus Filesystem Plugin"; + public string Name => "Locus Filesystem Plugin"; /// - public Guid Id => new Guid("1A70B30A-437D-479A-88E1-D0C9C1797FF4"); + public Guid Id => new Guid("1A70B30A-437D-479A-88E1-D0C9C1797FF4"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) @@ -186,6 +184,7 @@ namespace Aaru.Filesystems // ReSharper disable once InconsistentNaming string s_fsmnt = StringHandlers.CToString(locusSb.s_fsmnt, Encoding); + // ReSharper disable once InconsistentNaming string s_fpack = StringHandlers.CToString(locusSb.s_fpack, Encoding); diff --git a/Aaru.Filesystems/MicroDOS.cs b/Aaru.Filesystems/MicroDOS.cs index 841eacea5..511280662 100644 --- a/Aaru.Filesystems/MicroDOS.cs +++ b/Aaru.Filesystems/MicroDOS.cs @@ -44,11 +44,10 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection for the MicroDOS filesystem. - /// Information from http://www.owg.ru/mkt/BK/MKDOS.TXT - /// Thanks to tarlabnor for translating it - /// + /// + /// Implements detection for the MicroDOS filesystem. Information from http://www.owg.ru/mkt/BK/MKDOS.TXT Thanks + /// to tarlabnor for translating it + /// public sealed class MicroDOS : IFilesystem { const ushort MAGIC = 0xA72E; @@ -57,13 +56,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "MicroDOS file system"; + public string Name => "MicroDOS file system"; /// - public Guid Id => new Guid("9F9A364A-1A27-48A3-B730-7A7122000324"); + public Guid Id => new Guid("9F9A364A-1A27-48A3-B730-7A7122000324"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/MinixFS.cs b/Aaru.Filesystems/MinixFS.cs index 408fa831e..bc3dbcb4c 100644 --- a/Aaru.Filesystems/MinixFS.cs +++ b/Aaru.Filesystems/MinixFS.cs @@ -43,9 +43,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection of the MINIX filesystem - /// + /// Implements detection of the MINIX filesystem public sealed class MinixFS : IFilesystem { /// Minix v1, 14 char filenames @@ -74,13 +72,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Minix Filesystem"; + public string Name => "Minix Filesystem"; /// - public Guid Id => new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3"); + public Guid Id => new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/NILFS2.cs b/Aaru.Filesystems/NILFS2.cs index e9056d001..0532e81d5 100644 --- a/Aaru.Filesystems/NILFS2.cs +++ b/Aaru.Filesystems/NILFS2.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the New Implementation of a Log-structured File System v2 - /// + /// Implements detection of the New Implementation of a Log-structured File System v2 public sealed class NILFS2 : IFilesystem { const ushort NILFS2_MAGIC = 0x3434; @@ -55,13 +53,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "NILFS2 Plugin"; + public string Name => "NILFS2 Plugin"; /// - public Guid Id => new Guid("35224226-C5CC-48B5-8FFD-3781E91E86B6"); + public Guid Id => new Guid("35224226-C5CC-48B5-8FFD-3781E91E86B6"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/NTFS.cs b/Aaru.Filesystems/NTFS.cs index a25c916c4..3ae8c8d56 100644 --- a/Aaru.Filesystems/NTFS.cs +++ b/Aaru.Filesystems/NTFS.cs @@ -44,21 +44,19 @@ namespace Aaru.Filesystems { // Information from Inside Windows NT /// - /// - /// Implements detection of the New Technology File System (NTFS) - /// + /// Implements detection of the New Technology File System (NTFS) public sealed class NTFS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "New Technology File System (NTFS)"; + public string Name => "New Technology File System (NTFS)"; /// - public Guid Id => new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871"); + public Guid Id => new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Nintendo.cs b/Aaru.Filesystems/Nintendo.cs index 6e74faf71..d07c7f4fb 100644 --- a/Aaru.Filesystems/Nintendo.cs +++ b/Aaru.Filesystems/Nintendo.cs @@ -41,21 +41,19 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the filesystem used by Nintendo Gamecube and Wii discs - /// + /// Implements detection of the filesystem used by Nintendo Gamecube and Wii discs public sealed class NintendoPlugin : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Nintendo optical filesystems"; + public string Name => "Nintendo optical filesystems"; /// - public Guid Id => new Guid("4675fcb4-4418-4288-9e4a-33d6a4ac1126"); + public Guid Id => new Guid("4675fcb4-4418-4288-9e4a-33d6a4ac1126"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ODS.cs b/Aaru.Filesystems/ODS.cs index d65eb2ab3..1135b8e9f 100644 --- a/Aaru.Filesystems/ODS.cs +++ b/Aaru.Filesystems/ODS.cs @@ -53,21 +53,19 @@ namespace Aaru.Filesystems // Time is a 64 bit unsigned integer, tenths of microseconds since 1858/11/17 00:00:00. // TODO: Implement checksum /// - /// - /// Implements detection of DEC's On-Disk Structure, aka the ODS filesystem - /// + /// Implements detection of DEC's On-Disk Structure, aka the ODS filesystem public sealed class ODS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Files-11 On-Disk Structure"; + public string Name => "Files-11 On-Disk Structure"; /// - public Guid Id => new Guid("de20633c-8021-4384-aeb0-83b0df14491f"); + public Guid Id => new Guid("de20633c-8021-4384-aeb0-83b0df14491f"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Opera/Dir.cs b/Aaru.Filesystems/Opera/Dir.cs index f5b70a144..55966ea7d 100644 --- a/Aaru.Filesystems/Opera/Dir.cs +++ b/Aaru.Filesystems/Opera/Dir.cs @@ -61,8 +61,8 @@ namespace Aaru.Filesystems ? path.Substring(1).ToLower(CultureInfo.CurrentUICulture) : path.ToLower(CultureInfo.CurrentUICulture); - if(_directoryCache.TryGetValue(cutPath, out Dictionary currentDirectory) - ) + if(_directoryCache.TryGetValue(cutPath, + out Dictionary currentDirectory)) { contents = currentDirectory.Keys.ToList(); diff --git a/Aaru.Filesystems/Opera/Opera.cs b/Aaru.Filesystems/Opera/Opera.cs index 374af2718..6ef1a4b43 100644 --- a/Aaru.Filesystems/Opera/Opera.cs +++ b/Aaru.Filesystems/Opera/Opera.cs @@ -40,9 +40,7 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements the 3DO Opera filesystem - /// + /// Implements the 3DO Opera filesystem public sealed partial class OperaFS : IReadOnlyFilesystem { bool _debug; @@ -56,13 +54,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Opera Filesystem Plugin"; + public string Name => "Opera Filesystem Plugin"; /// - public Guid Id => new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd"); + public Guid Id => new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public Errno ListXAttr(string path, out List xattrs) diff --git a/Aaru.Filesystems/PCEngine.cs b/Aaru.Filesystems/PCEngine.cs index 3746fcfbc..750371fae 100644 --- a/Aaru.Filesystems/PCEngine.cs +++ b/Aaru.Filesystems/PCEngine.cs @@ -39,21 +39,19 @@ using Schemas; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the PC-Engine CD file headers - /// + /// Implements detection of the PC-Engine CD file headers public sealed class PCEnginePlugin : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "PC Engine CD Plugin"; + public string Name => "PC Engine CD Plugin"; /// - public Guid Id => new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3"); + public Guid Id => new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/PCFX.cs b/Aaru.Filesystems/PCFX.cs index 9d6adca64..d7769c2bb 100644 --- a/Aaru.Filesystems/PCFX.cs +++ b/Aaru.Filesystems/PCFX.cs @@ -44,22 +44,20 @@ namespace Aaru.Filesystems { // Not a filesystem, more like an executable header /// - /// - /// Implements detection of NEC PC-FX headers - /// + /// Implements detection of NEC PC-FX headers public sealed class PCFX : IFilesystem { - const string IDENTIFIER = "PC-FX:Hu_CD-ROM "; + const string IDENTIFIER = "PC-FX:Hu_CD-ROM "; /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "PC-FX Plugin"; + public string Name => "PC-FX Plugin"; /// - public Guid Id => new Guid("8BC27CCE-D9E9-48F8-BA93-C66A86EB565A"); + public Guid Id => new Guid("8BC27CCE-D9E9-48F8-BA93-C66A86EB565A"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/PFS.cs b/Aaru.Filesystems/PFS.cs index 6fdccdbe1..b3496b4ba 100644 --- a/Aaru.Filesystems/PFS.cs +++ b/Aaru.Filesystems/PFS.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Professional File System - /// + /// Implements detection of the Professional File System public sealed class PFS : IFilesystem { /// Identifier for AFS (PFS v1) @@ -63,13 +61,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Professional File System"; + public string Name => "Professional File System"; /// - public Guid Id => new Guid("68DE769E-D957-406A-8AE4-3781CA8CDA77"); + public Guid Id => new Guid("68DE769E-D957-406A-8AE4-3781CA8CDA77"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ProDOS.cs b/Aaru.Filesystems/ProDOS.cs index 13c50b91c..4a1b44e27 100644 --- a/Aaru.Filesystems/ProDOS.cs +++ b/Aaru.Filesystems/ProDOS.cs @@ -47,9 +47,7 @@ namespace Aaru.Filesystems { // Information from Apple ProDOS 8 Technical Reference /// - /// - /// Implements detection of Apple ProDOS filesystem - /// + /// Implements detection of Apple ProDOS filesystem [SuppressMessage("ReSharper", "UnusedMember.Local"), SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class ProDOSPlugin : IFilesystem { @@ -88,13 +86,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Apple ProDOS filesystem"; + public string Name => "Apple ProDOS filesystem"; /// - public Guid Id => new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF"); + public Guid Id => new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/QNX4.cs b/Aaru.Filesystems/QNX4.cs index 1654f01b0..2aad2b1ef 100644 --- a/Aaru.Filesystems/QNX4.cs +++ b/Aaru.Filesystems/QNX4.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of QNX 4 filesystem - /// + /// Implements detection of QNX 4 filesystem [SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class QNX4 : IFilesystem { @@ -58,13 +56,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "QNX4 Plugin"; + public string Name => "QNX4 Plugin"; /// - public Guid Id => new Guid("E73A63FA-B5B0-48BF-BF82-DA5F0A8170D2"); + public Guid Id => new Guid("E73A63FA-B5B0-48BF-BF82-DA5F0A8170D2"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/QNX6.cs b/Aaru.Filesystems/QNX6.cs index f9bb026a0..e717999cf 100644 --- a/Aaru.Filesystems/QNX6.cs +++ b/Aaru.Filesystems/QNX6.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of QNX 6 filesystem - /// + /// Implements detection of QNX 6 filesystem public sealed class QNX6 : IFilesystem { const uint QNX6_SUPER_BLOCK_SIZE = 0x1000; @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "QNX6 Plugin"; + public string Name => "QNX6 Plugin"; /// - public Guid Id => new Guid("3E610EA2-4D08-4D70-8947-830CD4C74FC0"); + public Guid Id => new Guid("3E610EA2-4D08-4D70-8947-830CD4C74FC0"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/RBF.cs b/Aaru.Filesystems/RBF.cs index d4b9ae4b8..f27b2af2c 100644 --- a/Aaru.Filesystems/RBF.cs +++ b/Aaru.Filesystems/RBF.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Locus filesystem - /// + /// Implements detection of the Locus filesystem public sealed class RBF : IFilesystem { /// Magic number for OS-9. Same for OS-9000? @@ -55,13 +53,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "OS-9 Random Block File Plugin"; + public string Name => "OS-9 Random Block File Plugin"; /// - public Guid Id => new Guid("E864E45B-0B52-4D29-A858-7BDFA9199FB2"); + public Guid Id => new Guid("E864E45B-0B52-4D29-A858-7BDFA9199FB2"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/RT11.cs b/Aaru.Filesystems/RT11.cs index d972e1050..cbfbcf647 100644 --- a/Aaru.Filesystems/RT11.cs +++ b/Aaru.Filesystems/RT11.cs @@ -45,21 +45,19 @@ namespace Aaru.Filesystems { // Information from http://www.trailing-edge.com/~shoppa/rt11fs/ /// - /// - /// Implements detection of the DEC RT-11 filesystem - /// + /// Implements detection of the DEC RT-11 filesystem public sealed class RT11 : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "RT-11 file system"; + public string Name => "RT-11 file system"; /// - public Guid Id => new Guid("DB3E2F98-8F98-463C-8126-E937843DA024"); + public Guid Id => new Guid("DB3E2F98-8F98-463C-8126-E937843DA024"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ReFS.cs b/Aaru.Filesystems/ReFS.cs index a60525f6f..6e5133600 100644 --- a/Aaru.Filesystems/ReFS.cs +++ b/Aaru.Filesystems/ReFS.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of Microsoft's Resilient filesystem (ReFS) - /// + /// Implements detection of Microsoft's Resilient filesystem (ReFS) public sealed class ReFS : IFilesystem { const uint FSRS = 0x53525346; @@ -55,15 +53,15 @@ namespace Aaru.Filesystems 0x52, 0x65, 0x46, 0x53, 0x00, 0x00, 0x00, 0x00 }; /// - public string Name => "Resilient File System plugin"; + public string Name => "Resilient File System plugin"; /// - public Guid Id => new Guid("37766C4E-EBF5-4113-A712-B758B756ABD6"); + public Guid Id => new Guid("37766C4E-EBF5-4113-A712-B758B756ABD6"); /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Register.cs b/Aaru.Filesystems/Register.cs index c2a124103..b5c156b14 100644 --- a/Aaru.Filesystems/Register.cs +++ b/Aaru.Filesystems/Register.cs @@ -71,9 +71,9 @@ namespace Aaru.Filesystems /// public List GetAllReadOnlyFilesystemPlugins() => Assembly.GetExecutingAssembly().GetTypes(). Where(t => t.GetInterfaces(). - Contains(typeof(IReadOnlyFilesystem - ))).Where(t => t.IsClass). - ToList(); + Contains(typeof( + IReadOnlyFilesystem))). + Where(t => t.IsClass).ToList(); /// public List GetAllWritableFloppyImagePlugins() => null; @@ -84,4 +84,4 @@ namespace Aaru.Filesystems /// public List GetAllArchivePlugins() => null; } -} +} \ No newline at end of file diff --git a/Aaru.Filesystems/Reiser.cs b/Aaru.Filesystems/Reiser.cs index ed9018bdd..7f1fde37e 100644 --- a/Aaru.Filesystems/Reiser.cs +++ b/Aaru.Filesystems/Reiser.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Reiser v3 filesystem - /// + /// Implements detection of the Reiser v3 filesystem public sealed class Reiser : IFilesystem { const uint REISER_SUPER_OFFSET = 0x10000; @@ -66,13 +64,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Reiser Filesystem Plugin"; + public string Name => "Reiser Filesystem Plugin"; /// - public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); + public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Reiser4.cs b/Aaru.Filesystems/Reiser4.cs index 1bbc95174..a6abdc507 100644 --- a/Aaru.Filesystems/Reiser4.cs +++ b/Aaru.Filesystems/Reiser4.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Reiser v4 filesystem - /// + /// Implements detection of the Reiser v4 filesystem public sealed class Reiser4 : IFilesystem { const uint REISER4_SUPER_OFFSET = 0x10000; @@ -58,13 +56,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Reiser4 Filesystem Plugin"; + public string Name => "Reiser4 Filesystem Plugin"; /// - public Guid Id => new Guid("301F2D00-E8D5-4F04-934E-81DFB21D15BA"); + public Guid Id => new Guid("301F2D00-E8D5-4F04-934E-81DFB21D15BA"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/SFS.cs b/Aaru.Filesystems/SFS.cs index 228935ff1..6be702cb5 100644 --- a/Aaru.Filesystems/SFS.cs +++ b/Aaru.Filesystems/SFS.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Smart File System - /// + /// Implements detection of the Smart File System public sealed class SFS : IFilesystem { /// Identifier for SFS v1 @@ -55,13 +53,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "SmartFileSystem"; + public string Name => "SmartFileSystem"; /// - public Guid Id => new Guid("26550C19-3671-4A2D-BC2F-F20CEB7F48DC"); + public Guid Id => new Guid("26550C19-3671-4A2D-BC2F-F20CEB7F48DC"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/SolarFS.cs b/Aaru.Filesystems/SolarFS.cs index f74aeb479..4a3823fac 100644 --- a/Aaru.Filesystems/SolarFS.cs +++ b/Aaru.Filesystems/SolarFS.cs @@ -43,21 +43,19 @@ namespace Aaru.Filesystems { // Based on FAT's BPB, cannot find a FAT or directory /// - /// - /// Implements detection of the Solar OS filesystem - /// + /// Implements detection of the Solar OS filesystem public sealed class SolarFS : IFilesystem { /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Solar_OS filesystem"; + public string Name => "Solar_OS filesystem"; /// - public Guid Id => new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65"); + public Guid Id => new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Squash.cs b/Aaru.Filesystems/Squash.cs index c7188ead1..ef406022f 100644 --- a/Aaru.Filesystems/Squash.cs +++ b/Aaru.Filesystems/Squash.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the squash filesystem - /// + /// Implements detection of the squash filesystem public sealed class Squash : IFilesystem { /// Identifier for Squash @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Squash filesystem"; + public string Name => "Squash filesystem"; /// - public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); + public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/SysV.cs b/Aaru.Filesystems/SysV.cs index 335c69075..b3b4cbbaa 100644 --- a/Aaru.Filesystems/SysV.cs +++ b/Aaru.Filesystems/SysV.cs @@ -45,9 +45,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection of the UNIX System V filesystem - /// + /// Implements detection of the UNIX System V filesystem [SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "UnusedMember.Local"), SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class SysVfs : IFilesystem @@ -76,13 +74,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "UNIX System V filesystem"; + public string Name => "UNIX System V filesystem"; /// - public Guid Id => new Guid("9B8D016A-8561-400E-A12A-A198283C211D"); + public Guid Id => new Guid("9B8D016A-8561-400E-A12A-A198283C211D"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) @@ -278,8 +276,8 @@ namespace Aaru.Filesystems if(magic == XENIX_MAGIC) { - xenix3 = true; - start = i; + xenix3 = true; + start = i; break; } @@ -297,8 +295,8 @@ namespace Aaru.Filesystems if(magic == SYSV_MAGIC) { - sysv = true; - start = i; + sysv = true; + start = i; break; } @@ -322,8 +320,8 @@ namespace Aaru.Filesystems (s_fname == COH_XXXXX && s_fpack == COH_XXXXX) || (s_fname == COH_XXXXS && s_fpack == COH_XXXXN)) { - coherent = true; - start = i; + coherent = true; + start = i; break; } diff --git a/Aaru.Filesystems/UCSDPascal/UCSDPascal.cs b/Aaru.Filesystems/UCSDPascal/UCSDPascal.cs index a586d2eb3..1f7f0521c 100644 --- a/Aaru.Filesystems/UCSDPascal/UCSDPascal.cs +++ b/Aaru.Filesystems/UCSDPascal/UCSDPascal.cs @@ -41,9 +41,7 @@ namespace Aaru.Filesystems.UCSDPascal { // Information from Call-A.P.P.L.E. Pascal Disk Directory Structure /// - /// - /// Implements the U.C.S.D. Pascal filesystem - /// + /// Implements the U.C.S.D. Pascal filesystem public sealed partial class PascalPlugin : IReadOnlyFilesystem { byte[] _bootBlocks; @@ -59,13 +57,13 @@ namespace Aaru.Filesystems.UCSDPascal /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "U.C.S.D. Pascal filesystem"; + public string Name => "U.C.S.D. Pascal filesystem"; /// - public Guid Id => new Guid("B0AC2CB5-72AA-473A-9200-270B5A2C2D53"); + public Guid Id => new Guid("B0AC2CB5-72AA-473A-9200-270B5A2C2D53"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public Errno ListXAttr(string path, out List xattrs) diff --git a/Aaru.Filesystems/UDF.cs b/Aaru.Filesystems/UDF.cs index 0b683a325..c72102be0 100644 --- a/Aaru.Filesystems/UDF.cs +++ b/Aaru.Filesystems/UDF.cs @@ -46,9 +46,7 @@ namespace Aaru.Filesystems { // TODO: Detect bootable /// - /// - /// Implements detection of the Universal Disk Format filesystem - /// + /// Implements detection of the Universal Disk Format filesystem [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class UDF : IFilesystem { @@ -61,13 +59,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Universal Disk Format"; + public string Name => "Universal Disk Format"; /// - public Guid Id => new Guid("83976FEC-A91B-464B-9293-56C719461BAB"); + public Guid Id => new Guid("83976FEC-A91B-464B-9293-56C719461BAB"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/UNICOS.cs b/Aaru.Filesystems/UNICOS.cs index 7abcc5aa0..18f28192e 100644 --- a/Aaru.Filesystems/UNICOS.cs +++ b/Aaru.Filesystems/UNICOS.cs @@ -52,9 +52,7 @@ using time_t = System.Int64; namespace Aaru.Filesystems { /// - /// - /// Implements detection for the Cray UNICOS filesystem - /// + /// Implements detection for the Cray UNICOS filesystem public sealed class UNICOS : IFilesystem { const int NC1_MAXPART = 64; @@ -66,13 +64,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "UNICOS Filesystem Plugin"; + public string Name => "UNICOS Filesystem Plugin"; /// - public Guid Id => new Guid("61712F04-066C-44D5-A2A0-1E44C66B33F0"); + public Guid Id => new Guid("61712F04-066C-44D5-A2A0-1E44C66B33F0"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/UNIXBFS.cs b/Aaru.Filesystems/UNIXBFS.cs index 0a16a81af..fb6fd7ee0 100644 --- a/Aaru.Filesystems/UNIXBFS.cs +++ b/Aaru.Filesystems/UNIXBFS.cs @@ -43,9 +43,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection of the UNIX boot filesystem - /// + /// Implements detection of the UNIX boot filesystem public sealed class BFS : IFilesystem { const uint BFS_MAGIC = 0x1BADFACE; @@ -53,13 +51,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "UNIX Boot filesystem"; + public string Name => "UNIX Boot filesystem"; /// - public Guid Id => new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155"); + public Guid Id => new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/VMfs.cs b/Aaru.Filesystems/VMfs.cs index 5c5971815..a55ba48f3 100644 --- a/Aaru.Filesystems/VMfs.cs +++ b/Aaru.Filesystems/VMfs.cs @@ -43,9 +43,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the VMware filesystem - /// + /// Implements detection of the VMware filesystem [SuppressMessage("ReSharper", "UnusedType.Local"), SuppressMessage("ReSharper", "IdentifierTypo"), SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class VMfs : IFilesystem @@ -57,13 +55,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "VMware filesystem"; + public string Name => "VMware filesystem"; /// - public Guid Id => new Guid("EE52BDB8-B49C-4122-A3DA-AD21CBE79843"); + public Guid Id => new Guid("EE52BDB8-B49C-4122-A3DA-AD21CBE79843"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/VxFS.cs b/Aaru.Filesystems/VxFS.cs index b9dca37c7..224d8981b 100644 --- a/Aaru.Filesystems/VxFS.cs +++ b/Aaru.Filesystems/VxFS.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of the Veritas filesystem - /// + /// Implements detection of the Veritas filesystem public sealed class VxFS : IFilesystem { /// Identifier for VxFS @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Veritas filesystem"; + public string Name => "Veritas filesystem"; /// - public Guid Id => new Guid("EC372605-7687-453C-8BEA-7E0DFF79CB03"); + public Guid Id => new Guid("EC372605-7687-453C-8BEA-7E0DFF79CB03"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/XFS.cs b/Aaru.Filesystems/XFS.cs index 40d8ed971..53ce88108 100644 --- a/Aaru.Filesystems/XFS.cs +++ b/Aaru.Filesystems/XFS.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Filesystems { /// - /// - /// Implements detection of SGI's XFS - /// + /// Implements detection of SGI's XFS public sealed class XFS : IFilesystem { const uint XFS_MAGIC = 0x58465342; @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "XFS Filesystem Plugin"; + public string Name => "XFS Filesystem Plugin"; /// - public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); + public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/Xia.cs b/Aaru.Filesystems/Xia.cs index ddea4463d..27513005e 100644 --- a/Aaru.Filesystems/Xia.cs +++ b/Aaru.Filesystems/Xia.cs @@ -44,9 +44,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection for the Xia filesystem - /// + /// Implements detection for the Xia filesystem [SuppressMessage("ReSharper", "UnusedMember.Local"), SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class Xia : IFilesystem { @@ -61,13 +59,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Xia filesystem"; + public string Name => "Xia filesystem"; /// - public Guid Id => new Guid("169E1DE5-24F2-4EF6-A04D-A4B2CA66DE9D"); + public Guid Id => new Guid("169E1DE5-24F2-4EF6-A04D-A4B2CA66DE9D"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ZFS.cs b/Aaru.Filesystems/ZFS.cs index 5bb15d6b1..65e6934b0 100644 --- a/Aaru.Filesystems/ZFS.cs +++ b/Aaru.Filesystems/ZFS.cs @@ -62,9 +62,7 @@ namespace Aaru.Filesystems * Because of this variations, ZFS stored a header indicating the used encoding and endianess before the encoded nvlist. */ /// - /// - /// Implements detection for the Zettabyte File System (ZFS) - /// + /// Implements detection for the Zettabyte File System (ZFS) [SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "UnusedType.Local"), SuppressMessage("ReSharper", "UnusedMember.Local"), SuppressMessage("ReSharper", "NotAccessedField.Local")] public sealed class ZFS : IFilesystem @@ -85,13 +83,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "ZFS Filesystem Plugin"; + public string Name => "ZFS Filesystem Plugin"; /// - public Guid Id => new Guid("0750014F-A714-4692-A369-E23F6EC3659C"); + public Guid Id => new Guid("0750014F-A714-4692-A369-E23F6EC3659C"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/dump.cs b/Aaru.Filesystems/dump.cs index d341d6dc0..0dc6ec524 100644 --- a/Aaru.Filesystems/dump.cs +++ b/Aaru.Filesystems/dump.cs @@ -45,9 +45,7 @@ using ufs_daddr_t = System.Int32; namespace Aaru.Filesystems { /// - /// - /// Implements identification of a dump(8) image (virtual filesystem on a file) - /// + /// Implements identification of a dump(8) image (virtual filesystem on a file) [SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class dump : IFilesystem { @@ -93,15 +91,15 @@ namespace Aaru.Filesystems const int NIADDR = 3; /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "dump(8) Plugin"; + public string Name => "dump(8) Plugin"; /// - public Guid Id => new Guid("E53B4D28-C858-4800-B092-DDAE80D361B9"); + public Guid Id => new Guid("E53B4D28-C858-4800-B092-DDAE80D361B9"); /// public FileSystemType XmlFsType { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/exFAT.cs b/Aaru.Filesystems/exFAT.cs index c4bc12ae0..ae35633a6 100644 --- a/Aaru.Filesystems/exFAT.cs +++ b/Aaru.Filesystems/exFAT.cs @@ -44,9 +44,7 @@ namespace Aaru.Filesystems { // Information from https://www.sans.org/reading-room/whitepapers/forensics/reverse-engineering-microsoft-exfat-file-system-33274 /// - /// - /// Implements detection of the exFAT filesystem - /// + /// Implements detection of the exFAT filesystem [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class exFAT : IFilesystem { @@ -60,13 +58,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Microsoft Extended File Allocation Table"; + public string Name => "Microsoft Extended File Allocation Table"; /// - public Guid Id => new Guid("8271D088-1533-4CB3-AC28-D802B68BB95C"); + public Guid Id => new Guid("8271D088-1533-4CB3-AC28-D802B68BB95C"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/ext2FS.cs b/Aaru.Filesystems/ext2FS.cs index 2738e6331..972b1abab 100644 --- a/Aaru.Filesystems/ext2FS.cs +++ b/Aaru.Filesystems/ext2FS.cs @@ -44,9 +44,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection of the Linux extended filesystem v2, v3 and v4 - /// + /// Implements detection of the Linux extended filesystem v2, v3 and v4 [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class ext2FS : IFilesystem { @@ -169,13 +167,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Name => "Linux extended Filesystem 2, 3 and 4"; + public string Name => "Linux extended Filesystem 2, 3 and 4"; /// - public Guid Id => new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184"); + public Guid Id => new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filesystems/extFS.cs b/Aaru.Filesystems/extFS.cs index 16fdc0b3e..adceb53e1 100644 --- a/Aaru.Filesystems/extFS.cs +++ b/Aaru.Filesystems/extFS.cs @@ -41,9 +41,7 @@ namespace Aaru.Filesystems { // Information from the Linux kernel /// - /// - /// Implements detection of the Linux extended filesystem - /// + /// Implements detection of the Linux extended filesystem public sealed class extFS : IFilesystem { const int SB_POS = 0x400; @@ -54,13 +52,13 @@ namespace Aaru.Filesystems /// public FileSystemType XmlFsType { get; private set; } /// - public string Name => "Linux extended Filesystem"; + public string Name => "Linux extended Filesystem"; /// - public Guid Id => new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2"); + public Guid Id => new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2"); /// - public Encoding Encoding { get; private set; } + public Encoding Encoding { get; private set; } /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public bool Identify(IMediaImage imagePlugin, Partition partition) diff --git a/Aaru.Filters/Aaru.Filters.csproj b/Aaru.Filters/Aaru.Filters.csproj index ea6bfb821..082d15006 100644 --- a/Aaru.Filters/Aaru.Filters.csproj +++ b/Aaru.Filters/Aaru.Filters.csproj @@ -53,22 +53,22 @@ false - + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -76,7 +76,7 @@ - + {CCAA7AFE-C094-4D82-A66D-630DE8A3F545} Aaru.Console @@ -87,39 +87,39 @@ - - + + - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Filters/AppleDouble.cs b/Aaru.Filters/AppleDouble.cs index 8de129619..dce5593ec 100644 --- a/Aaru.Filters/AppleDouble.cs +++ b/Aaru.Filters/AppleDouble.cs @@ -84,9 +84,9 @@ namespace Aaru.Filters Entry _rsrcFork; /// - public string Name => "AppleDouble"; + public string Name => "AppleDouble"; /// - public Guid Id => new Guid("1B2165EE-C9DF-4B21-BBBB-9E5892B2DF4D"); + public Guid Id => new Guid("1B2165EE-C9DF-4B21-BBBB-9E5892B2DF4D"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/AppleSingle.cs b/Aaru.Filters/AppleSingle.cs index 2dfa0c5ed..03f2c5a51 100644 --- a/Aaru.Filters/AppleSingle.cs +++ b/Aaru.Filters/AppleSingle.cs @@ -85,9 +85,9 @@ namespace Aaru.Filters Stream _stream; /// - public string Name => "AppleSingle"; + public string Name => "AppleSingle"; /// - public Guid Id => new Guid("A69B20E8-F4D3-42BB-BD2B-4A7263394A05"); + public Guid Id => new Guid("A69B20E8-F4D3-42BB-BD2B-4A7263394A05"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/BZip2.cs b/Aaru.Filters/BZip2.cs index 41e27ef32..fe2a9aa5f 100644 --- a/Aaru.Filters/BZip2.cs +++ b/Aaru.Filters/BZip2.cs @@ -51,9 +51,9 @@ namespace Aaru.Filters bool _opened; /// - public string Name => "BZip2"; + public string Name => "BZip2"; /// - public Guid Id => new Guid("FCCFB0C3-32EF-40D8-9714-2333F6AC72A9"); + public Guid Id => new Guid("FCCFB0C3-32EF-40D8-9714-2333F6AC72A9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/GZip.cs b/Aaru.Filters/GZip.cs index 6040c3869..705bb9a9a 100644 --- a/Aaru.Filters/GZip.cs +++ b/Aaru.Filters/GZip.cs @@ -51,9 +51,9 @@ namespace Aaru.Filters Stream _zStream; /// - public string Name => "GZip"; + public string Name => "GZip"; /// - public Guid Id => new Guid("F4996661-4A29-42C9-A2C7-3904EF40F3B0"); + public Guid Id => new Guid("F4996661-4A29-42C9-A2C7-3904EF40F3B0"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/LZip.cs b/Aaru.Filters/LZip.cs index ef0a6bbbb..0de57f6fa 100644 --- a/Aaru.Filters/LZip.cs +++ b/Aaru.Filters/LZip.cs @@ -51,9 +51,9 @@ namespace Aaru.Filters bool _opened; /// - public string Name => "LZip"; + public string Name => "LZip"; /// - public Guid Id => new Guid("09D715E9-20C0-48B1-A8D9-D8897CEC57C9"); + public Guid Id => new Guid("09D715E9-20C0-48B1-A8D9-D8897CEC57C9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/MacBinary.cs b/Aaru.Filters/MacBinary.cs index f17a09f53..8cc17c004 100644 --- a/Aaru.Filters/MacBinary.cs +++ b/Aaru.Filters/MacBinary.cs @@ -58,9 +58,9 @@ namespace Aaru.Filters Stream _stream; /// - public string Name => "MacBinary"; + public string Name => "MacBinary"; /// - public Guid Id => new Guid("D7C321D3-E51F-45DF-A150-F6BFDF0D7704"); + public Guid Id => new Guid("D7C321D3-E51F-45DF-A150-F6BFDF0D7704"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/OffsetStream.cs b/Aaru.Filters/OffsetStream.cs index aaf4e0d1a..5586d81c6 100644 --- a/Aaru.Filters/OffsetStream.cs +++ b/Aaru.Filters/OffsetStream.cs @@ -33,7 +33,6 @@ using System; using System.IO; using Microsoft.Win32.SafeHandles; - #if !NETSTANDARD2_0 #endif @@ -50,7 +49,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified stream, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified stream, both inclusive. /// /// Base stream /// Start position @@ -77,13 +77,23 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// A bitwise combination of the enumeration values that specifies additional file options. /// Start position /// Last readable position @@ -110,10 +120,14 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// /// Start position /// Last readable position /// Invalid range @@ -138,11 +152,18 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Start position /// Last readable position /// Invalid range @@ -167,11 +188,18 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Specifies whether to use asynchronous I/O or synchronous I/O. /// Start position /// Last readable position @@ -198,13 +226,23 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Specifies whether to use asynchronous I/O or synchronous I/O. /// Start position /// Last readable position @@ -231,13 +269,23 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Start position /// Last readable position /// Invalid range @@ -263,12 +311,19 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// /// Start position /// Last readable position /// Invalid range @@ -293,11 +348,15 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// /// Start position /// Last readable position /// Invalid range @@ -322,7 +381,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified file, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified file, both inclusive. /// /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. @@ -350,7 +410,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified byte array, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified byte array, both inclusive. /// /// The array of unsigned bytes to add at the end of this stream. /// The index into at which the stream begins. @@ -382,7 +443,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified byte array, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified byte array, both inclusive. /// /// The array of unsigned bytes to add at the end of this stream. /// The index into at which the stream begins. @@ -412,7 +474,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified byte array, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified byte array, both inclusive. /// /// The array of unsigned bytes to add at the end of this stream. /// The index into at which the stream begins. @@ -441,7 +504,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified byte array, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified byte array, both inclusive. /// /// The array of unsigned bytes to add at the end of this stream. /// The setting of the CanWrite property, currently ignored. @@ -469,7 +533,8 @@ namespace Aaru.Filters /// /// - /// Initializes a stream that only allows reading from to of the specified byte array, both inclusive. + /// Initializes a stream that only allows reading from to of the + /// specified byte array, both inclusive. /// /// The array of unsigned bytes to add at the end of this stream. /// Start position diff --git a/Aaru.Filters/PCExchange.cs b/Aaru.Filters/PCExchange.cs index 4efa27b29..53826bd45 100644 --- a/Aaru.Filters/PCExchange.cs +++ b/Aaru.Filters/PCExchange.cs @@ -61,9 +61,9 @@ namespace Aaru.Filters string _rsrcPath; /// - public string Name => "PCExchange"; + public string Name => "PCExchange"; /// - public Guid Id => new Guid("9264EB9F-D634-4F9B-BE12-C24CD44988C6"); + public Guid Id => new Guid("9264EB9F-D634-4F9B-BE12-C24CD44988C6"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/Register.cs b/Aaru.Filters/Register.cs index 003abb74b..28fab1f8d 100644 --- a/Aaru.Filters/Register.cs +++ b/Aaru.Filters/Register.cs @@ -79,4 +79,4 @@ namespace Aaru.Filters /// public List GetAllArchivePlugins() => null; } -} +} \ No newline at end of file diff --git a/Aaru.Filters/SplitJoinStream.cs b/Aaru.Filters/SplitJoinStream.cs index 80da974f7..b6d1bf5ce 100644 --- a/Aaru.Filters/SplitJoinStream.cs +++ b/Aaru.Filters/SplitJoinStream.cs @@ -9,9 +9,7 @@ using Microsoft.Win32.SafeHandles; namespace Aaru.Filters { /// - /// - /// Implements a stream that joins two or more files (sequentially) as a single stream - /// + /// Implements a stream that joins two or more files (sequentially) as a single stream public class SplitJoinStream : Stream { readonly Dictionary _baseStreams; @@ -54,14 +52,10 @@ namespace Aaru.Filters } } - /// - /// Gets a filter from this stream - /// + /// Gets a filter from this stream public IFilter Filter { get; } - /// - /// Adds a stream at the end of the current stream - /// + /// Adds a stream at the end of the current stream /// Stream to add /// The specified stream is non-readable or non-seekable public void Add(Stream stream) @@ -76,144 +70,162 @@ namespace Aaru.Filters _streamLength += stream.Length; } - - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// A bitwise combination of the enumeration values that specifies additional file options. public void Add(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, FileOptions options) => Add(new FileStream(path, mode, access, share, bufferSize, options)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// public void Add(SafeFileHandle handle, FileAccess access) => Add(new FileStream(handle, access)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// public void Add(SafeFileHandle handle, FileAccess access, int bufferSize) => Add(new FileStream(handle, access, bufferSize)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A file handle for the file that the stream will encapsulate. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Specifies whether to use asynchronous I/O or synchronous I/O. public void Add(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync) => Add(new FileStream(handle, access, bufferSize, isAsync)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// /// Specifies whether to use asynchronous I/O or synchronous I/O. public void Add(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync) => Add(new FileStream(path, mode, access, share, bufferSize, useAsync)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. - /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is 4096. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// + /// + /// A positive Int32 value greater than 0 indicating the buffer size. The default buffer size is + /// 4096. + /// public void Add(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize) => Add(new FileStream(path, mode, access, share, bufferSize)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. - /// A bitwise combination of the enumeration values that determines how the file will be shared by processes. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// + /// + /// A bitwise combination of the enumeration values that determines how the file will be shared by + /// processes. + /// public void Add(string path, FileMode mode, FileAccess access, FileShare share) => Add(new FileStream(path, mode, access, share)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. - /// A bitwise combination of the enumeration values that determines how the file can be accessed by a object. + /// + /// A bitwise combination of the enumeration values that determines how the file can be accessed by a + /// object. + /// public void Add(string path, FileMode mode, FileAccess access) => Add(new FileStream(path, mode, access)); - /// - /// Adds the specified file to the end of the current stream - /// + /// Adds the specified file to the end of the current stream /// A relative or absolute path for the file that the stream will encapsulate. /// One of the enumeration values that determines how to open or create the file. public void Add(string path, FileMode mode) => Add(new FileStream(path, mode)); - /// - /// Adds the specified byte array to the end of the current stream - /// + /// Adds the specified byte array to the end of the current stream /// The array of unsigned bytes to add at the end of this stream. - /// The index into at which the stream begins. + /// The index into at which the stream begins. /// The length in bytes to add to the end of the current stream. /// The setting of the CanWrite property, currently ignored. /// Currently ignored. public void Add(byte[] buffer, int index, int count, bool writable, bool publiclyVisible) => Add(new MemoryStream(buffer, index, count, writable, publiclyVisible)); - /// - /// Adds the specified byte array to the end of the current stream - /// + /// Adds the specified byte array to the end of the current stream /// The array of unsigned bytes to add at the end of this stream. - /// The index into at which the stream begins. + /// The index into at which the stream begins. /// The length in bytes to add to the end of the current stream. /// The setting of the CanWrite property, currently ignored. public void Add(byte[] buffer, int index, int count, bool writable) => Add(new MemoryStream(buffer, index, count, writable)); - /// - /// Adds the specified byte array to the end of the current stream - /// + /// Adds the specified byte array to the end of the current stream /// The array of unsigned bytes to add at the end of this stream. - /// The index into at which the stream begins. + /// The index into at which the stream begins. /// The length in bytes to add to the end of the current stream. public void Add(byte[] buffer, int index, int count) => Add(new MemoryStream(buffer, index, count)); - /// - /// Adds the specified byte array to the end of the current stream - /// + /// Adds the specified byte array to the end of the current stream /// The array of unsigned bytes to add at the end of this stream. /// The setting of the CanWrite property, currently ignored. public void Add(byte[] buffer, bool writable) => Add(new MemoryStream(buffer, writable)); - /// - /// Adds the specified byte array to the end of the current stream - /// + /// Adds the specified byte array to the end of the current stream /// The array of unsigned bytes to add at the end of this stream. public void Add(byte[] buffer) => Add(new MemoryStream(buffer)); - /// - /// Adds the data fork of the specified filter to the end of the current stream - /// + /// Adds the data fork of the specified filter to the end of the current stream /// Filter public void Add(IFilter filter) => Add(filter.GetDataForkStream()); - /// - /// Adds a range of files to the end of the current stream, alphabetically sorted - /// + /// Adds a range of files to the end of the current stream, alphabetically sorted /// Base file path, directory path only /// Counter format, includes filename and a formatting string /// Counter start, defaults to 0 diff --git a/Aaru.Filters/XZ.cs b/Aaru.Filters/XZ.cs index f53737664..80708dcfa 100644 --- a/Aaru.Filters/XZ.cs +++ b/Aaru.Filters/XZ.cs @@ -50,9 +50,9 @@ namespace Aaru.Filters bool _opened; /// - public string Name => "XZ"; + public string Name => "XZ"; /// - public Guid Id => new Guid("666A8617-0444-4C05-9F4F-DF0FD758D0D2"); + public Guid Id => new Guid("666A8617-0444-4C05-9F4F-DF0FD758D0D2"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Filters/ZZZNoFilter.cs b/Aaru.Filters/ZZZNoFilter.cs index 2b64e818c..21bbb118d 100644 --- a/Aaru.Filters/ZZZNoFilter.cs +++ b/Aaru.Filters/ZZZNoFilter.cs @@ -47,9 +47,9 @@ namespace Aaru.Filters bool _opened; /// - public string Name => "No filter"; + public string Name => "No filter"; /// - public Guid Id => new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); + public Guid Id => new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Gui/Aaru.Gui.csproj b/Aaru.Gui/Aaru.Gui.csproj index 053697e59..fc288b92f 100644 --- a/Aaru.Gui/Aaru.Gui.csproj +++ b/Aaru.Gui/Aaru.Gui.csproj @@ -21,306 +21,306 @@ true - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + %(Filename) Designer - + Designer @@ -416,7 +416,7 @@ - + diff --git a/Aaru.Gui/Assets/Logos/Media/AIT1.svg b/Aaru.Gui/Assets/Logos/Media/AIT1.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT1.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT1.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT1Turbo.svg b/Aaru.Gui/Assets/Logos/Media/AIT1Turbo.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT1Turbo.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT1Turbo.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT2.svg b/Aaru.Gui/Assets/Logos/Media/AIT2.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT2.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT2.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT2Turbo.svg b/Aaru.Gui/Assets/Logos/Media/AIT2Turbo.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT2Turbo.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT2Turbo.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT3.svg b/Aaru.Gui/Assets/Logos/Media/AIT3.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT3.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT3.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT3Ex.svg b/Aaru.Gui/Assets/Logos/Media/AIT3Ex.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT3Ex.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT3Ex.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT3Turbo.svg b/Aaru.Gui/Assets/Logos/Media/AIT3Turbo.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT3Turbo.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT3Turbo.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT4.svg b/Aaru.Gui/Assets/Logos/Media/AIT4.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT4.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT4.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AIT5.svg b/Aaru.Gui/Assets/Logos/Media/AIT5.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AIT5.svg +++ b/Aaru.Gui/Assets/Logos/Media/AIT5.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/AITETurbo.svg b/Aaru.Gui/Assets/Logos/Media/AITETurbo.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/AITETurbo.svg +++ b/Aaru.Gui/Assets/Logos/Media/AITETurbo.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/BDR.svg b/Aaru.Gui/Assets/Logos/Media/BDR.svg index 3210911bf..867965521 100644 --- a/Aaru.Gui/Assets/Logos/Media/BDR.svg +++ b/Aaru.Gui/Assets/Logos/Media/BDR.svg @@ -1,89 +1,59 @@ -image/svg+xml - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - + d="m 91.59,237.719 c -0.693,0 -3.053,0.693 -5.135,3.746 -2.081,3.053 -11.518,18.596 -13.183,21.51 -1.805,2.914 -1.249,4.164 0.693,4.164 1.665,0 2.082,0 4.163,0 1.943,0 3.747,-2.221 4.441,-3.748 0.972,-1.387 12.073,-19.428 13.877,-22.063 1.526,-2.638 0.556,-3.607 -0.694,-3.607 -1.108,-0.002 -4.162,-0.002 -4.162,-0.002 z" + id="path2" style="fill:#0095d5"/> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/BDRE.svg b/Aaru.Gui/Assets/Logos/Media/BDRE.svg index 3210911bf..867965521 100644 --- a/Aaru.Gui/Assets/Logos/Media/BDRE.svg +++ b/Aaru.Gui/Assets/Logos/Media/BDRE.svg @@ -1,89 +1,59 @@ -image/svg+xml - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - + d="m 91.59,237.719 c -0.693,0 -3.053,0.693 -5.135,3.746 -2.081,3.053 -11.518,18.596 -13.183,21.51 -1.805,2.914 -1.249,4.164 0.693,4.164 1.665,0 2.082,0 4.163,0 1.943,0 3.747,-2.221 4.441,-3.748 0.972,-1.387 12.073,-19.428 13.877,-22.063 1.526,-2.638 0.556,-3.607 -0.694,-3.607 -1.108,-0.002 -4.162,-0.002 -4.162,-0.002 z" + id="path2" style="fill:#0095d5"/> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/BDREXL.svg b/Aaru.Gui/Assets/Logos/Media/BDREXL.svg index 3210911bf..867965521 100644 --- a/Aaru.Gui/Assets/Logos/Media/BDREXL.svg +++ b/Aaru.Gui/Assets/Logos/Media/BDREXL.svg @@ -1,89 +1,59 @@ -image/svg+xml - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - + d="m 91.59,237.719 c -0.693,0 -3.053,0.693 -5.135,3.746 -2.081,3.053 -11.518,18.596 -13.183,21.51 -1.805,2.914 -1.249,4.164 0.693,4.164 1.665,0 2.082,0 4.163,0 1.943,0 3.747,-2.221 4.441,-3.748 0.972,-1.387 12.073,-19.428 13.877,-22.063 1.526,-2.638 0.556,-3.607 -0.694,-3.607 -1.108,-0.002 -4.162,-0.002 -4.162,-0.002 z" + id="path2" style="fill:#0095d5"/> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/BDROM.svg b/Aaru.Gui/Assets/Logos/Media/BDROM.svg index 3210911bf..867965521 100644 --- a/Aaru.Gui/Assets/Logos/Media/BDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/BDROM.svg @@ -1,89 +1,59 @@ -image/svg+xml - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - + d="m 91.59,237.719 c -0.693,0 -3.053,0.693 -5.135,3.746 -2.081,3.053 -11.518,18.596 -13.183,21.51 -1.805,2.914 -1.249,4.164 0.693,4.164 1.665,0 2.082,0 4.163,0 1.943,0 3.747,-2.221 4.441,-3.748 0.972,-1.387 12.073,-19.428 13.877,-22.063 1.526,-2.638 0.556,-3.607 -0.694,-3.607 -1.108,-0.002 -4.162,-0.002 -4.162,-0.002 z" + id="path2" style="fill:#0095d5"/> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/BDRXL.svg b/Aaru.Gui/Assets/Logos/Media/BDRXL.svg index 3210911bf..867965521 100644 --- a/Aaru.Gui/Assets/Logos/Media/BDRXL.svg +++ b/Aaru.Gui/Assets/Logos/Media/BDRXL.svg @@ -1,89 +1,59 @@ -image/svg+xml - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - + d="m 91.59,237.719 c -0.693,0 -3.053,0.693 -5.135,3.746 -2.081,3.053 -11.518,18.596 -13.183,21.51 -1.805,2.914 -1.249,4.164 0.693,4.164 1.665,0 2.082,0 4.163,0 1.943,0 3.747,-2.221 4.441,-3.748 0.972,-1.387 12.073,-19.428 13.877,-22.063 1.526,-2.638 0.556,-3.607 -0.694,-3.607 -1.108,-0.002 -4.162,-0.002 -4.162,-0.002 z" + id="path2" style="fill:#0095d5"/> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CD.svg b/Aaru.Gui/Assets/Logos/Media/CD.svg index fd0d67740..c32d52d58 100644 --- a/Aaru.Gui/Assets/Logos/Media/CD.svg +++ b/Aaru.Gui/Assets/Logos/Media/CD.svg @@ -1,63 +1,36 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CD32.svg b/Aaru.Gui/Assets/Logos/Media/CD32.svg index 4b79dcac6..529227d75 100644 --- a/Aaru.Gui/Assets/Logos/Media/CD32.svg +++ b/Aaru.Gui/Assets/Logos/Media/CD32.svg @@ -1,88 +1,44 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - + d="M 4.0644,0.307535 C 4.0640614,0.3203263 4.0636441,0.3308342 4.0632189,0.3345941 C 4.0599433,0.363413 4.0632189,0.377035 3.9801244,0.377035 C 3.8970378,0.377035 3.9003134,0.363413 3.8970378,0.3345941 C 3.8959748,0.32521221 3.8949827,0.2739012 3.895085,0.2498933 C 3.8951874,0.2258854 3.8959709,0.1745744 3.8970378,0.1651964 C 3.9003134,0.1363775 3.8970378,0.1227515 3.9801244,0.1227515 C 4.0632189,0.1227515 4.0599394,0.1363775 4.0632189,0.1651964 C 4.0636638,0.1691216 4.0640614,0.1804287 4.0643803,0.1939995 L 4.1780453,0.19399556 C 4.177317,0.16823576 4.1760965,0.14671206 4.1748209,0.13549556 C 4.1682697,0.077857763 4.1909744,0.022668563 3.9802539,0.022668563 C 3.7695369,0.022664626 3.7922419,0.077857563 3.7856869,0.13549556 C 3.783557,0.15425536 3.7815806,0.20187746 3.7817853,0.24989356 C 3.7819901,0.29790926 3.783557,0.34553136 3.7856869,0.36429556 C 3.792246,0.42192946 3.7695373,0.47712256 3.9802539,0.47712256 C 4.1909779,0.47712256 4.1682699,0.42192966 4.1748209,0.36429556 C 4.1760689,0.35333496 4.1771201,0.33252386 4.1778209,0.30753966 L 4.0643999,0.30753573 L 4.0644,0.307535 z " + style="fill:black" id="_58592456"/> + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDEG.svg b/Aaru.Gui/Assets/Logos/Media/CDEG.svg index 06e87d239..e0788fcff 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDEG.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDEG.svg @@ -1,197 +1,136 @@ - - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + d="M 4.56762,3.73632 L 4.56762,3.125308 C 4.56762,3.0600836 4.5147302,3.007202 4.449529,3.007202 L 0.213489,3.007202 C 0.1482843,3.007202 0.095398,3.0600839 0.095398,3.125308 L 0.095398,3.73632 L 4.567618,3.73632 L 4.56762,3.73632 z " + style="fill:black;stroke:black;stroke-width:0.0972205" id="_58961472"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDG.svg b/Aaru.Gui/Assets/Logos/Media/CDG.svg index 995fbc0fa..edf4a3734 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDG.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDG.svg @@ -1,161 +1,109 @@ - - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + d="M 4.45368,3.96939 C 4.5188847,3.96939 4.571767,3.916512 4.571767,3.851288 L 4.5717709,3.101386 C 4.5717709,3.0361616 4.5188811,2.98328 4.4536799,2.98328 L 0.21763994,2.98328 C 0.15243524,2.98328 0.099548937,3.0361619 0.099548937,3.101386 L 0.099548937,3.851288 C 0.099548937,3.9165085 0.15243474,3.969394 0.21763994,3.969394 L 4.4536799,3.9693901 L 4.45368,3.96939 z " + style="fill:none;stroke:black;stroke-width:0.0972205" id="_58008768"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDI.svg b/Aaru.Gui/Assets/Logos/Media/CDI.svg index 355884802..184ce47bb 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDI.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDI.svg @@ -1,95 +1,44 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDIREADY.svg b/Aaru.Gui/Assets/Logos/Media/CDIREADY.svg index 355884802..184ce47bb 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDIREADY.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDIREADY.svg @@ -1,95 +1,44 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDMIDI.svg b/Aaru.Gui/Assets/Logos/Media/CDMIDI.svg index ca26fabd4..bac3cfad3 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDMIDI.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDMIDI.svg @@ -1,104 +1,89 @@ -image/svg+xml \ No newline at end of file + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDPLUS.svg b/Aaru.Gui/Assets/Logos/Media/CDPLUS.svg index 7a35d3e64..06abc4c14 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDPLUS.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDPLUS.svg @@ -1,135 +1,67 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDR.svg b/Aaru.Gui/Assets/Logos/Media/CDR.svg index 2bf9b0ad6..6b7909179 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDR.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDR.svg @@ -1,94 +1,56 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDROM.svg b/Aaru.Gui/Assets/Logos/Media/CDROM.svg index 664e8ee9d..00c77c521 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDROM.svg @@ -1,76 +1,75 @@ -image/svg+xml + + + + + + + + + + + + + \ No newline at end of file + id="path6" /> + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDROM2.svg b/Aaru.Gui/Assets/Logos/Media/CDROM2.svg index 37be7b7f7..8346ff093 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDROM2.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDROM2.svg @@ -1,35 +1,21 @@ - - - - - image/svg+xml - - - - - - - - + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/CDRW.svg b/Aaru.Gui/Assets/Logos/Media/CDRW.svg index c2c7cbd1d..6096311d8 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDRW.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDRW.svg @@ -1,133 +1,87 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + d="M 4.50867,2.49025 V 3.156817 C 4.50867,3.19949 4.492201,3.239612 4.4623,3.269793 4.432406,3.29997 4.392658,3.316588 4.350391,3.316588 H 0.195261 C 0.1529933,3.316588 0.1132492,3.29997 0.083352,3.269793 0.0534503,3.2396119 0.0369858,3.1994899 0.0369858,3.156817 V 2.49025 c 0,-0.088098 0.071,-0.159772 0.158276,-0.159772 h 4.15513 c 0.042272,0 0.082012,0.016618 0.111909,0.046795 0.029902,0.030181 0.046366,0.070299 0.04637,0.112976 z M 4.403654,2.43538 C 4.389174,2.420762 4.370752,2.413034 4.35039,2.413034 l -4.15513,3.9e-6 c -0.019874,0 -0.0386811,0.00786 -0.0529567,0.02213 -0.0146772,0.014681 -0.0227598,0.03424 -0.0227598,0.055083 v 0.666567 c 0,0.020768 0.007976,0.040256 0.0224528,0.05487 0.0144843,0.014618 0.0329016,0.022343 0.0532638,0.022343 h 4.15513 c 0.020362,0 0.03878,-0.00773 0.05326,-0.022343 0.014484,-0.014618 0.022461,-0.034106 0.022461,-0.05487 v -0.666567 c 0,-0.020768 -0.00798,-0.040256 -0.022457,-0.054871 z" + style="fill:#000000" id="_122650584"/> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDTV.svg b/Aaru.Gui/Assets/Logos/Media/CDTV.svg index 8264b178f..a0f31dc45 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDTV.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDTV.svg @@ -1,121 +1,75 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CDV.svg b/Aaru.Gui/Assets/Logos/Media/CDV.svg index 33fb269cb..ab1ee281c 100644 --- a/Aaru.Gui/Assets/Logos/Media/CDV.svg +++ b/Aaru.Gui/Assets/Logos/Media/CDV.svg @@ -1,81 +1,43 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/CompactCassette.svg b/Aaru.Gui/Assets/Logos/Media/CompactCassette.svg index e9efcc6ff..f6b444da7 100644 --- a/Aaru.Gui/Assets/Logos/Media/CompactCassette.svg +++ b/Aaru.Gui/Assets/Logos/Media/CompactCassette.svg @@ -1,31 +1,18 @@ - - - - - image/svg+xml - - - - - - - + + + + + image/svg+xml + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DAT160.svg b/Aaru.Gui/Assets/Logos/Media/DAT160.svg index c8ab132a3..73c18c6a3 100644 --- a/Aaru.Gui/Assets/Logos/Media/DAT160.svg +++ b/Aaru.Gui/Assets/Logos/Media/DAT160.svg @@ -1,25 +1,13 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Digital Audio Tape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Audio Tape \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DAT320.svg b/Aaru.Gui/Assets/Logos/Media/DAT320.svg index c8ab132a3..73c18c6a3 100644 --- a/Aaru.Gui/Assets/Logos/Media/DAT320.svg +++ b/Aaru.Gui/Assets/Logos/Media/DAT320.svg @@ -1,25 +1,13 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Digital Audio Tape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Audio Tape \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DAT72.svg b/Aaru.Gui/Assets/Logos/Media/DAT72.svg index c8ab132a3..73c18c6a3 100644 --- a/Aaru.Gui/Assets/Logos/Media/DAT72.svg +++ b/Aaru.Gui/Assets/Logos/Media/DAT72.svg @@ -1,25 +1,13 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Digital Audio Tape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Audio Tape \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DDS1.svg b/Aaru.Gui/Assets/Logos/Media/DDS1.svg index bcb002e9e..e93c08f81 100644 --- a/Aaru.Gui/Assets/Logos/Media/DDS1.svg +++ b/Aaru.Gui/Assets/Logos/Media/DDS1.svg @@ -1,67 +1,45 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DDS2.svg b/Aaru.Gui/Assets/Logos/Media/DDS2.svg index bcb002e9e..e93c08f81 100644 --- a/Aaru.Gui/Assets/Logos/Media/DDS2.svg +++ b/Aaru.Gui/Assets/Logos/Media/DDS2.svg @@ -1,67 +1,45 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DDS3.svg b/Aaru.Gui/Assets/Logos/Media/DDS3.svg index bcb002e9e..e93c08f81 100644 --- a/Aaru.Gui/Assets/Logos/Media/DDS3.svg +++ b/Aaru.Gui/Assets/Logos/Media/DDS3.svg @@ -1,67 +1,45 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DDS4.svg b/Aaru.Gui/Assets/Logos/Media/DDS4.svg index bcb002e9e..e93c08f81 100644 --- a/Aaru.Gui/Assets/Logos/Media/DDS4.svg +++ b/Aaru.Gui/Assets/Logos/Media/DDS4.svg @@ -1,67 +1,45 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DLTtapeIII.svg b/Aaru.Gui/Assets/Logos/Media/DLTtapeIII.svg index bb6235aa7..06aa58aff 100644 --- a/Aaru.Gui/Assets/Logos/Media/DLTtapeIII.svg +++ b/Aaru.Gui/Assets/Logos/Media/DLTtapeIII.svg @@ -1,51 +1,32 @@ - - - - - image/svg+xml - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DLTtapeIIIxt.svg b/Aaru.Gui/Assets/Logos/Media/DLTtapeIIIxt.svg index bb6235aa7..06aa58aff 100644 --- a/Aaru.Gui/Assets/Logos/Media/DLTtapeIIIxt.svg +++ b/Aaru.Gui/Assets/Logos/Media/DLTtapeIIIxt.svg @@ -1,51 +1,32 @@ - - - - - image/svg+xml - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DLTtapeIV.svg b/Aaru.Gui/Assets/Logos/Media/DLTtapeIV.svg index bb6235aa7..06aa58aff 100644 --- a/Aaru.Gui/Assets/Logos/Media/DLTtapeIV.svg +++ b/Aaru.Gui/Assets/Logos/Media/DLTtapeIV.svg @@ -1,51 +1,32 @@ - - - - - image/svg+xml - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DLTtapeS4.svg b/Aaru.Gui/Assets/Logos/Media/DLTtapeS4.svg index bb6235aa7..06aa58aff 100644 --- a/Aaru.Gui/Assets/Logos/Media/DLTtapeS4.svg +++ b/Aaru.Gui/Assets/Logos/Media/DLTtapeS4.svg @@ -1,51 +1,32 @@ - - - - - image/svg+xml - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DVDDownload.svg b/Aaru.Gui/Assets/Logos/Media/DVDDownload.svg index 6f84da4b5..f486420b7 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDDownload.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDDownload.svg @@ -1,43 +1,24 @@ - - - - - image/svg+xml - - DVD logo - - - - - DVD logo - - - - + + + + + image/svg+xml + + DVD logo + + + + + DVD logo + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DVDPR.svg b/Aaru.Gui/Assets/Logos/Media/DVDPR.svg index 2e773cc07..7dcc7121b 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDPR.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDPR.svg @@ -1,39 +1,24 @@ -image/svg+xml + + \ No newline at end of file + id="path16" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 77.3242,0 69.8594,23.2344 H 74.418 L 80.6406,3.68359 h 0.0664 l 6.2305,19.55081 h 4.6172 L 84.0195,0 h -6.6953"/> \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DVDPRDL.svg b/Aaru.Gui/Assets/Logos/Media/DVDPRDL.svg index 28865e333..c02238464 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDPRDL.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDPRDL.svg @@ -1,22 +1,12 @@ -image/svg+xml + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DVDPRW.svg b/Aaru.Gui/Assets/Logos/Media/DVDPRW.svg index caddf811b..423e2a0e6 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDPRW.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDPRW.svg @@ -1,22 +1,12 @@ -image/svg+xml + + - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DVDRAM.svg b/Aaru.Gui/Assets/Logos/Media/DVDRAM.svg index 5cceed2b4..a85f0a1a2 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDRAM.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDRAM.svg @@ -1,38 +1,29 @@ -image/svg+xml \ No newline at end of file + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/DVDROM.svg b/Aaru.Gui/Assets/Logos/Media/DVDROM.svg index 7c3072552..14608d221 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDROM.svg @@ -1,14 +1,20 @@ - - + - - - - - - - - - + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DVDRW.svg b/Aaru.Gui/Assets/Logos/Media/DVDRW.svg index 043d91ed6..0dbb72b68 100644 --- a/Aaru.Gui/Assets/Logos/Media/DVDRW.svg +++ b/Aaru.Gui/Assets/Logos/Media/DVDRW.svg @@ -1,49 +1,35 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DigitalAudioTape.svg b/Aaru.Gui/Assets/Logos/Media/DigitalAudioTape.svg index c8ab132a3..73c18c6a3 100644 --- a/Aaru.Gui/Assets/Logos/Media/DigitalAudioTape.svg +++ b/Aaru.Gui/Assets/Logos/Media/DigitalAudioTape.svg @@ -1,25 +1,13 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Digital Audio Tape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Digital Audio Tape \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/Ditto.svg b/Aaru.Gui/Assets/Logos/Media/Ditto.svg index 19cdc20bc..d0e0295c9 100644 --- a/Aaru.Gui/Assets/Logos/Media/Ditto.svg +++ b/Aaru.Gui/Assets/Logos/Media/Ditto.svg @@ -1,35 +1,21 @@ - - - - - image/svg+xml - - - - - - - - + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/DittoMax.svg b/Aaru.Gui/Assets/Logos/Media/DittoMax.svg index 19cdc20bc..d0e0295c9 100644 --- a/Aaru.Gui/Assets/Logos/Media/DittoMax.svg +++ b/Aaru.Gui/Assets/Logos/Media/DittoMax.svg @@ -1,35 +1,21 @@ - - - - - image/svg+xml - - - - - - - - + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/ExpressCard34.svg b/Aaru.Gui/Assets/Logos/Media/ExpressCard34.svg index abf823d3e..a99c5c9d0 100644 --- a/Aaru.Gui/Assets/Logos/Media/ExpressCard34.svg +++ b/Aaru.Gui/Assets/Logos/Media/ExpressCard34.svg @@ -1,51 +1,35 @@ - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/ExpressCard54.svg b/Aaru.Gui/Assets/Logos/Media/ExpressCard54.svg index abf823d3e..a99c5c9d0 100644 --- a/Aaru.Gui/Assets/Logos/Media/ExpressCard54.svg +++ b/Aaru.Gui/Assets/Logos/Media/ExpressCard54.svg @@ -1,51 +1,35 @@ - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/GDR.svg b/Aaru.Gui/Assets/Logos/Media/GDR.svg index e337581fd..39e7155af 100644 --- a/Aaru.Gui/Assets/Logos/Media/GDR.svg +++ b/Aaru.Gui/Assets/Logos/Media/GDR.svg @@ -1,67 +1,31 @@ -image/svg+xml - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/GDROM.svg b/Aaru.Gui/Assets/Logos/Media/GDROM.svg index e337581fd..39e7155af 100644 --- a/Aaru.Gui/Assets/Logos/Media/GDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/GDROM.svg @@ -1,67 +1,31 @@ -image/svg+xml - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/GOD.svg b/Aaru.Gui/Assets/Logos/Media/GOD.svg index a128da89c..27c5e7b12 100644 --- a/Aaru.Gui/Assets/Logos/Media/GOD.svg +++ b/Aaru.Gui/Assets/Logos/Media/GOD.svg @@ -1,24 +1,12 @@ -image/svg+xml - + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - + + + - + - - - - - + + + + + - + - - + + - - - + + + - - + + - - - - - + + + + + - + - \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/HDDVDR.svg b/Aaru.Gui/Assets/Logos/Media/HDDVDR.svg index d63c057af..870c3f5bf 100644 --- a/Aaru.Gui/Assets/Logos/Media/HDDVDR.svg +++ b/Aaru.Gui/Assets/Logos/Media/HDDVDR.svg @@ -1,25 +1,13 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/HDDVDRAM.svg b/Aaru.Gui/Assets/Logos/Media/HDDVDRAM.svg index d63c057af..870c3f5bf 100644 --- a/Aaru.Gui/Assets/Logos/Media/HDDVDRAM.svg +++ b/Aaru.Gui/Assets/Logos/Media/HDDVDRAM.svg @@ -1,25 +1,13 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/HDDVDRDL.svg b/Aaru.Gui/Assets/Logos/Media/HDDVDRDL.svg index d63c057af..870c3f5bf 100644 --- a/Aaru.Gui/Assets/Logos/Media/HDDVDRDL.svg +++ b/Aaru.Gui/Assets/Logos/Media/HDDVDRDL.svg @@ -1,25 +1,13 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/HDDVDROM.svg b/Aaru.Gui/Assets/Logos/Media/HDDVDROM.svg index 1e22afd17..f026dcf22 100644 --- a/Aaru.Gui/Assets/Logos/Media/HDDVDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/HDDVDROM.svg @@ -1,22 +1,12 @@ -image/svg+xml + + -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/HDDVDRWDL.svg b/Aaru.Gui/Assets/Logos/Media/HDDVDRWDL.svg index d63c057af..870c3f5bf 100644 --- a/Aaru.Gui/Assets/Logos/Media/HDDVDRWDL.svg +++ b/Aaru.Gui/Assets/Logos/Media/HDDVDRWDL.svg @@ -1,25 +1,13 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/JaguarCD.svg b/Aaru.Gui/Assets/Logos/Media/JaguarCD.svg index a0cb11295..1e2d95682 100644 --- a/Aaru.Gui/Assets/Logos/Media/JaguarCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/JaguarCD.svg @@ -1,126 +1,60 @@ - - + - - + + -image/svg+xml - + image/svg+xml + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/Jaz.svg b/Aaru.Gui/Assets/Logos/Media/Jaz.svg index a7d663a88..4405b873b 100644 --- a/Aaru.Gui/Assets/Logos/Media/Jaz.svg +++ b/Aaru.Gui/Assets/Logos/Media/Jaz.svg @@ -1,47 +1,26 @@ - - - - - image/svg+xml - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/Jaz2.svg b/Aaru.Gui/Assets/Logos/Media/Jaz2.svg index 04b36b3b9..60d7a42c4 100644 --- a/Aaru.Gui/Assets/Logos/Media/Jaz2.svg +++ b/Aaru.Gui/Assets/Logos/Media/Jaz2.svg @@ -1,101 +1,59 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/LD.svg b/Aaru.Gui/Assets/Logos/Media/LD.svg index 8fd40868e..5dcc40e1d 100644 --- a/Aaru.Gui/Assets/Logos/Media/LD.svg +++ b/Aaru.Gui/Assets/Logos/Media/LD.svg @@ -1,104 +1,51 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + - - + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LDROM.svg b/Aaru.Gui/Assets/Logos/Media/LDROM.svg index 8fd40868e..5dcc40e1d 100644 --- a/Aaru.Gui/Assets/Logos/Media/LDROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LDROM.svg @@ -1,104 +1,51 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + - - + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LDROM2.svg b/Aaru.Gui/Assets/Logos/Media/LDROM2.svg index 548560f9e..52a46ffb9 100644 --- a/Aaru.Gui/Assets/Logos/Media/LDROM2.svg +++ b/Aaru.Gui/Assets/Logos/Media/LDROM2.svg @@ -1,161 +1,83 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - - - - - + + + + + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO.svg b/Aaru.Gui/Assets/Logos/Media/LTO.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO2.svg b/Aaru.Gui/Assets/Logos/Media/LTO2.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO2.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO2.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO3.svg b/Aaru.Gui/Assets/Logos/Media/LTO3.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO3.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO3.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO3WORM.svg b/Aaru.Gui/Assets/Logos/Media/LTO3WORM.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO3WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO3WORM.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO4.svg b/Aaru.Gui/Assets/Logos/Media/LTO4.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO4.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO4.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO4WORM.svg b/Aaru.Gui/Assets/Logos/Media/LTO4WORM.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO4WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO4WORM.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO5.svg b/Aaru.Gui/Assets/Logos/Media/LTO5.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO5.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO5.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO5WORM.svg b/Aaru.Gui/Assets/Logos/Media/LTO5WORM.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO5WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO5WORM.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO6.svg b/Aaru.Gui/Assets/Logos/Media/LTO6.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO6.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO6.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO6WORM.svg b/Aaru.Gui/Assets/Logos/Media/LTO6WORM.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO6WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO6WORM.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO7.svg b/Aaru.Gui/Assets/Logos/Media/LTO7.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO7.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO7.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LTO7WORM.svg b/Aaru.Gui/Assets/Logos/Media/LTO7WORM.svg index b56484150..1f72b2435 100644 --- a/Aaru.Gui/Assets/Logos/Media/LTO7WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LTO7WORM.svg @@ -1,110 +1,55 @@ -image/svg+xml - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/LVROM.svg b/Aaru.Gui/Assets/Logos/Media/LVROM.svg index 2052b12c5..deae69a5e 100644 --- a/Aaru.Gui/Assets/Logos/Media/LVROM.svg +++ b/Aaru.Gui/Assets/Logos/Media/LVROM.svg @@ -1,38 +1,23 @@ - - - - - image/svg+xml - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/MD.svg b/Aaru.Gui/Assets/Logos/Media/MD.svg index 25725942d..07fe16d1d 100644 --- a/Aaru.Gui/Assets/Logos/Media/MD.svg +++ b/Aaru.Gui/Assets/Logos/Media/MD.svg @@ -1,92 +1,44 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/MDData.svg b/Aaru.Gui/Assets/Logos/Media/MDData.svg index fb691802d..14c8492e2 100644 --- a/Aaru.Gui/Assets/Logos/Media/MDData.svg +++ b/Aaru.Gui/Assets/Logos/Media/MDData.svg @@ -1,53 +1,42 @@ -image/svg+xml \ No newline at end of file + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/MDData2.svg b/Aaru.Gui/Assets/Logos/Media/MDData2.svg index fb691802d..14c8492e2 100644 --- a/Aaru.Gui/Assets/Logos/Media/MDData2.svg +++ b/Aaru.Gui/Assets/Logos/Media/MDData2.svg @@ -1,53 +1,42 @@ -image/svg+xml \ No newline at end of file + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/MEGACD.svg b/Aaru.Gui/Assets/Logos/Media/MEGACD.svg index bc1504a96..aa46df62a 100644 --- a/Aaru.Gui/Assets/Logos/Media/MEGACD.svg +++ b/Aaru.Gui/Assets/Logos/Media/MEGACD.svg @@ -1,34 +1,20 @@ - - - - - - image/svg+xml - - - - - - - - + + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/MegaLD.svg b/Aaru.Gui/Assets/Logos/Media/MegaLD.svg index 548560f9e..52a46ffb9 100644 --- a/Aaru.Gui/Assets/Logos/Media/MegaLD.svg +++ b/Aaru.Gui/Assets/Logos/Media/MegaLD.svg @@ -1,161 +1,83 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - - - - - + + + + + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/MemoryStick.svg b/Aaru.Gui/Assets/Logos/Media/MemoryStick.svg index 11708b757..b257f7d95 100644 --- a/Aaru.Gui/Assets/Logos/Media/MemoryStick.svg +++ b/Aaru.Gui/Assets/Logos/Media/MemoryStick.svg @@ -1,85 +1,62 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/MemoryStickDuo.svg b/Aaru.Gui/Assets/Logos/Media/MemoryStickDuo.svg index 11708b757..b257f7d95 100644 --- a/Aaru.Gui/Assets/Logos/Media/MemoryStickDuo.svg +++ b/Aaru.Gui/Assets/Logos/Media/MemoryStickDuo.svg @@ -1,85 +1,62 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/MemoryStickMicro.svg b/Aaru.Gui/Assets/Logos/Media/MemoryStickMicro.svg index 11708b757..b257f7d95 100644 --- a/Aaru.Gui/Assets/Logos/Media/MemoryStickMicro.svg +++ b/Aaru.Gui/Assets/Logos/Media/MemoryStickMicro.svg @@ -1,85 +1,62 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/MemoryStickPro.svg b/Aaru.Gui/Assets/Logos/Media/MemoryStickPro.svg index 11708b757..b257f7d95 100644 --- a/Aaru.Gui/Assets/Logos/Media/MemoryStickPro.svg +++ b/Aaru.Gui/Assets/Logos/Media/MemoryStickPro.svg @@ -1,85 +1,62 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/MemoryStickProDuo.svg b/Aaru.Gui/Assets/Logos/Media/MemoryStickProDuo.svg index 11708b757..b257f7d95 100644 --- a/Aaru.Gui/Assets/Logos/Media/MemoryStickProDuo.svg +++ b/Aaru.Gui/Assets/Logos/Media/MemoryStickProDuo.svg @@ -1,85 +1,62 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/MilCD.svg b/Aaru.Gui/Assets/Logos/Media/MilCD.svg index e337581fd..39e7155af 100644 --- a/Aaru.Gui/Assets/Logos/Media/MilCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/MilCD.svg @@ -1,67 +1,31 @@ -image/svg+xml - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/NeoGeoCD.svg b/Aaru.Gui/Assets/Logos/Media/NeoGeoCD.svg index 369803e58..7f3e20583 100644 --- a/Aaru.Gui/Assets/Logos/Media/NeoGeoCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/NeoGeoCD.svg @@ -1,109 +1,60 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - + - + - + - + - + - + - + - - + - - + + -image/svg+xml - - - - - - - - - - - - - - + image/svg+xml + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/Nintendo_64_Logo.svg b/Aaru.Gui/Assets/Logos/Media/Nintendo_64_Logo.svg index 1be698ee9..082cf682a 100644 --- a/Aaru.Gui/Assets/Logos/Media/Nintendo_64_Logo.svg +++ b/Aaru.Gui/Assets/Logos/Media/Nintendo_64_Logo.svg @@ -1 +1,41 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/Nuon.svg b/Aaru.Gui/Assets/Logos/Media/Nuon.svg index 95080a40b..3ac3adefa 100644 --- a/Aaru.Gui/Assets/Logos/Media/Nuon.svg +++ b/Aaru.Gui/Assets/Logos/Media/Nuon.svg @@ -1,80 +1,38 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - image/svg+xml - - - - - - - - - - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + - - - - - - diff --git a/Aaru.Gui/Assets/Logos/Media/PCFX.svg b/Aaru.Gui/Assets/Logos/Media/PCFX.svg index d2339347a..82b7ee63b 100644 --- a/Aaru.Gui/Assets/Logos/Media/PCFX.svg +++ b/Aaru.Gui/Assets/Logos/Media/PCFX.svg @@ -1,232 +1,116 @@ -image/svg+xml - - - + rdf:about="">image/svg+xml + + + + - - + + - - - + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PD650.svg b/Aaru.Gui/Assets/Logos/Media/PD650.svg index 28f2db19e..2b2a32063 100644 --- a/Aaru.Gui/Assets/Logos/Media/PD650.svg +++ b/Aaru.Gui/Assets/Logos/Media/PD650.svg @@ -1,30 +1,15 @@ -image/svg+xml - + + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PD650_WORM.svg b/Aaru.Gui/Assets/Logos/Media/PD650_WORM.svg index 28f2db19e..2b2a32063 100644 --- a/Aaru.Gui/Assets/Logos/Media/PD650_WORM.svg +++ b/Aaru.Gui/Assets/Logos/Media/PD650_WORM.svg @@ -1,30 +1,15 @@ -image/svg+xml - + + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PS1CD.svg b/Aaru.Gui/Assets/Logos/Media/PS1CD.svg index 7b8110358..a4b3060fb 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS1CD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS1CD.svg @@ -1,43 +1,21 @@ -image/svg+xml - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PS2CD.svg b/Aaru.Gui/Assets/Logos/Media/PS2CD.svg index 4142b72c0..d3cdc29ba 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS2CD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS2CD.svg @@ -1,26 +1,14 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PS2DVD.svg b/Aaru.Gui/Assets/Logos/Media/PS2DVD.svg index 4142b72c0..d3cdc29ba 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS2DVD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS2DVD.svg @@ -1,26 +1,14 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PS3BD.svg b/Aaru.Gui/Assets/Logos/Media/PS3BD.svg index 3c0168378..0e932262f 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS3BD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS3BD.svg @@ -1,39 +1,20 @@ -image/svg+xml - - - - - - + rdf:about="">image/svg+xml + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/PS3DVD.svg b/Aaru.Gui/Assets/Logos/Media/PS3DVD.svg index 3c0168378..0e932262f 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS3DVD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS3DVD.svg @@ -1,39 +1,20 @@ -image/svg+xml - - - - - - + rdf:about="">image/svg+xml + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/PS4BD.svg b/Aaru.Gui/Assets/Logos/Media/PS4BD.svg index 6db736930..a8b00e622 100644 --- a/Aaru.Gui/Assets/Logos/Media/PS4BD.svg +++ b/Aaru.Gui/Assets/Logos/Media/PS4BD.svg @@ -1,94 +1,52 @@ -image/svg+xml - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - - - - + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/Pippin.svg b/Aaru.Gui/Assets/Logos/Media/Pippin.svg index 12c1bdef7..a95fc3886 100644 --- a/Aaru.Gui/Assets/Logos/Media/Pippin.svg +++ b/Aaru.Gui/Assets/Logos/Media/Pippin.svg @@ -1,86 +1,44 @@ -image/svg+xml - - - - + rdf:about="">image/svg+xml + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard.svg b/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard.svg index 7b8110358..a4b3060fb 100644 --- a/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard.svg +++ b/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard.svg @@ -1,43 +1,21 @@ -image/svg+xml - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard2.svg b/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard2.svg index 4142b72c0..d3cdc29ba 100644 --- a/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard2.svg +++ b/Aaru.Gui/Assets/Logos/Media/PlayStationMemoryCard2.svg @@ -1,26 +1,14 @@ -image/svg+xml - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PlayStationVitaGameCard.svg b/Aaru.Gui/Assets/Logos/Media/PlayStationVitaGameCard.svg index cc7b4a45b..125af4556 100644 --- a/Aaru.Gui/Assets/Logos/Media/PlayStationVitaGameCard.svg +++ b/Aaru.Gui/Assets/Logos/Media/PlayStationVitaGameCard.svg @@ -1,27 +1,12 @@ -image/svg+xml - + rdf:about="">image/svg+xml + - + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/Playdia.svg b/Aaru.Gui/Assets/Logos/Media/Playdia.svg index cb75e3d25..41f9c65f8 100644 --- a/Aaru.Gui/Assets/Logos/Media/Playdia.svg +++ b/Aaru.Gui/Assets/Logos/Media/Playdia.svg @@ -1,82 +1,43 @@ -image/svg+xml - - - - + rdf:about="">image/svg+xml + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/PocketZip.svg b/Aaru.Gui/Assets/Logos/Media/PocketZip.svg index cff6019ce..f4e69dfa9 100644 --- a/Aaru.Gui/Assets/Logos/Media/PocketZip.svg +++ b/Aaru.Gui/Assets/Logos/Media/PocketZip.svg @@ -1,51 +1,29 @@ - - - - - image/svg+xml - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/SACD.svg b/Aaru.Gui/Assets/Logos/Media/SACD.svg index 89055615e..211ff345a 100644 --- a/Aaru.Gui/Assets/Logos/Media/SACD.svg +++ b/Aaru.Gui/Assets/Logos/Media/SACD.svg @@ -1,236 +1,140 @@ - - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Aaru.Gui/Assets/Logos/Media/SAIT1.svg b/Aaru.Gui/Assets/Logos/Media/SAIT1.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/SAIT1.svg +++ b/Aaru.Gui/Assets/Logos/Media/SAIT1.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/SAIT2.svg b/Aaru.Gui/Assets/Logos/Media/SAIT2.svg index ad8217c29..e523af994 100644 --- a/Aaru.Gui/Assets/Logos/Media/SAIT2.svg +++ b/Aaru.Gui/Assets/Logos/Media/SAIT2.svg @@ -1,125 +1,106 @@ -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/SATURNCD.svg b/Aaru.Gui/Assets/Logos/Media/SATURNCD.svg index 7ba179ad7..be0a23f9d 100644 --- a/Aaru.Gui/Assets/Logos/Media/SATURNCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/SATURNCD.svg @@ -1,413 +1,166 @@ - - - - - image/svg+xml - - Sega Saturn Logo - - - - - Sega Saturn Logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + Sega Saturn Logo + + + + + Sega Saturn Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/SVCD.svg b/Aaru.Gui/Assets/Logos/Media/SVCD.svg index fe1a77a30..72b81d631 100644 --- a/Aaru.Gui/Assets/Logos/Media/SVCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/SVCD.svg @@ -1,123 +1,61 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/SecureDigital.svg b/Aaru.Gui/Assets/Logos/Media/SecureDigital.svg index 76dc52a7c..8a327c397 100644 --- a/Aaru.Gui/Assets/Logos/Media/SecureDigital.svg +++ b/Aaru.Gui/Assets/Logos/Media/SecureDigital.svg @@ -1,58 +1,31 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Assets/Logos/Media/SmartMedia.svg b/Aaru.Gui/Assets/Logos/Media/SmartMedia.svg index 7b261bcc4..cc1de506d 100644 --- a/Aaru.Gui/Assets/Logos/Media/SmartMedia.svg +++ b/Aaru.Gui/Assets/Logos/Media/SmartMedia.svg @@ -1,67 +1,55 @@ -image/svg+xml + + \ No newline at end of file + id="path16" /> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/SuperCDROM2.svg b/Aaru.Gui/Assets/Logos/Media/SuperCDROM2.svg index a0fc59700..e07abec73 100644 --- a/Aaru.Gui/Assets/Logos/Media/SuperCDROM2.svg +++ b/Aaru.Gui/Assets/Logos/Media/SuperCDROM2.svg @@ -1,35 +1,21 @@ - - - - - image/svg+xml - - - - - - - - + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/SwitchGameCard.svg b/Aaru.Gui/Assets/Logos/Media/SwitchGameCard.svg index 9f966bb15..6866249c9 100644 --- a/Aaru.Gui/Assets/Logos/Media/SwitchGameCard.svg +++ b/Aaru.Gui/Assets/Logos/Media/SwitchGameCard.svg @@ -1,85 +1,51 @@ - - - -Created by potrace 1.13, written by Peter Selinger 2001-2015 - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - + + + + Created by potrace 1.13, written by Peter Selinger 2001-2015 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/ThreeDO.svg b/Aaru.Gui/Assets/Logos/Media/ThreeDO.svg index 936494d3e..cb0c249a3 100644 --- a/Aaru.Gui/Assets/Logos/Media/ThreeDO.svg +++ b/Aaru.Gui/Assets/Logos/Media/ThreeDO.svg @@ -1,86 +1,43 @@ - - - - - image/svg+xml - - 3DO Logo - - - - - 3DO Logo - - - - - - - - - - - - - + + + + + image/svg+xml + + 3DO Logo + + + + + 3DO Logo + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/VCD.svg b/Aaru.Gui/Assets/Logos/Media/VCD.svg index 21bb34959..3527e19bb 100644 --- a/Aaru.Gui/Assets/Logos/Media/VCD.svg +++ b/Aaru.Gui/Assets/Logos/Media/VCD.svg @@ -1,131 +1,65 @@ -image/svg+xml - - + rdf:about="">image/svg+xml + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/WOD.svg b/Aaru.Gui/Assets/Logos/Media/WOD.svg index 7275c5d96..68394858d 100644 --- a/Aaru.Gui/Assets/Logos/Media/WOD.svg +++ b/Aaru.Gui/Assets/Logos/Media/WOD.svg @@ -1,34 +1,18 @@ - - - - - image/svg+xml - - - - - - - - + + + + + image/svg+xml + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/WUOD.svg b/Aaru.Gui/Assets/Logos/Media/WUOD.svg index e4a0ad29d..5269b6c0a 100644 --- a/Aaru.Gui/Assets/Logos/Media/WUOD.svg +++ b/Aaru.Gui/Assets/Logos/Media/WUOD.svg @@ -1,75 +1,42 @@ -image/svg+xml - - + + - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/XGD.svg b/Aaru.Gui/Assets/Logos/Media/XGD.svg index bae5c4371..23269ff1d 100644 --- a/Aaru.Gui/Assets/Logos/Media/XGD.svg +++ b/Aaru.Gui/Assets/Logos/Media/XGD.svg @@ -1,741 +1,296 @@ -image/svg+xml - - - - - - - - - - - - - - - + rdf:about="">image/svg+xml + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - - - - - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - + - - + - + d="m 1140.265,83.606 h -1.978 l -2.383,7.52 c -0.391,0.596 -0.591,1.191 -0.591,1.582 -0.2,-0.391 -0.4,-0.791 -0.596,-1.382 l -2.578,-7.72 h -1.978 v 10.688 h 1.191 v -9.106 l 3.169,9.106 h 1.182 l 3.174,-8.911 v 8.911 h 1.387 V 83.606 Z" + style="fill:#89c056" id="path205"/> + + points="1000.113,145.364 923.688,207.107 957.252,207.107 1016.598,158.553 1076.236,207.107 1109.503,207.107 1033.38,145.364 1109.503,83.621 1076.236,83.621 1016.598,131.878 957.252,83.621 923.688,83.621 " + style="fill:#89c056" id="polygon209"/> + d="m 913.8,145.364 c 0,-27.573 -7.192,-47.949 -20.977,-61.743 H 770.846 c -14.39,13.794 -21.582,34.17 -21.582,61.743 0,27.568 7.192,47.949 21.582,61.743 H 892.824 C 906.607,193.313 913.8,172.635 913.8,145.364 Z m -20.381,0 c 0,9.292 -2.09,18.877 -5.996,28.774 l -5.693,12.886 H 781.627 l -5.693,-12.886 c -4.194,-9.897 -5.996,-19.482 -5.996,-28.774 0,-14.683 3.901,-28.477 11.689,-41.362 H 881.73 c 7.792,12.886 11.689,26.68 11.689,41.362 z" + style="fill:#89c056" id="path211"/> + d="m 718.097,150.462 v -10.19 l 8.989,-4.8 C 724.984,112.396 718.097,95.018 706.407,83.621 H 584.425 c -11.689,11.094 -18.879,28.477 -20.681,51.548 h -19.775 v 20.386 h 19.775 c 1.802,23.071 8.992,40.161 20.681,51.553 h 121.982 c 11.689,-11.694 18.577,-28.774 20.679,-51.553 z m -22.779,-46.46 c 5.396,9.292 9.287,19.482 11.089,31.167 H 584.425 c 1.799,-11.685 5.393,-21.875 11.089,-31.167 z m 11.089,51.553 c -1.802,11.689 -5.693,22.178 -11.089,31.47 h -99.805 c -5.696,-9.292 -9.29,-19.78 -11.089,-31.47 z" + style="fill:#89c056" id="path213"/> - + + + id="path26" /> + + + + + + + + + - - \ No newline at end of file + d="m 349.986,2.007 h -1.239 l -1.486,4.7 c -0.244,0.374 -0.369,0.745 -0.369,0.991 -0.125,-0.246 -0.25,-0.497 -0.372,-0.866 l -1.611,-4.825 h -1.236 v 6.682 h 0.745 V 2.996 l 1.981,5.693 h 0.738 l 1.98,-5.571 v 5.571 h 0.87 V 2.007 Z" + style="fill:#80b350" id="path219"/> + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/XGD2.svg b/Aaru.Gui/Assets/Logos/Media/XGD2.svg index 2cc465230..fe9c4d1ff 100644 --- a/Aaru.Gui/Assets/Logos/Media/XGD2.svg +++ b/Aaru.Gui/Assets/Logos/Media/XGD2.svg @@ -1,556 +1,208 @@ -image/svg+xmlimage/svg+xml + + xlink:href="#SVGID_1_" /> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/XGD3.svg b/Aaru.Gui/Assets/Logos/Media/XGD3.svg index 2cc465230..fe9c4d1ff 100644 --- a/Aaru.Gui/Assets/Logos/Media/XGD3.svg +++ b/Aaru.Gui/Assets/Logos/Media/XGD3.svg @@ -1,556 +1,208 @@ -image/svg+xmlimage/svg+xml + + xlink:href="#SVGID_1_" /> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/XGD4.svg b/Aaru.Gui/Assets/Logos/Media/XGD4.svg index 67a152e8e..b0d9868ec 100644 --- a/Aaru.Gui/Assets/Logos/Media/XGD4.svg +++ b/Aaru.Gui/Assets/Logos/Media/XGD4.svg @@ -1,398 +1,163 @@ -image/svg+xml -image/svg+xml + + + + + + + + + + - + style="stop-color:#ffffff;stop-opacity:1;" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + \ No newline at end of file + transform="translate(8.2169271,-1.0729817)" /> \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/ZIP100.svg b/Aaru.Gui/Assets/Logos/Media/ZIP100.svg index 0612f544b..99bb2bc0f 100644 --- a/Aaru.Gui/Assets/Logos/Media/ZIP100.svg +++ b/Aaru.Gui/Assets/Logos/Media/ZIP100.svg @@ -1,65 +1,30 @@ -image/svg+xml - - - - - - - - - - - + rdf:about="">image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Assets/Logos/Media/ZIP250.svg b/Aaru.Gui/Assets/Logos/Media/ZIP250.svg index 7b0b5d3f0..f47fd355d 100644 --- a/Aaru.Gui/Assets/Logos/Media/ZIP250.svg +++ b/Aaru.Gui/Assets/Logos/Media/ZIP250.svg @@ -1,66 +1,41 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/Aaru.Gui/Assets/Logos/Media/miniSD.svg b/Aaru.Gui/Assets/Logos/Media/miniSD.svg index 8236dd3c8..e1f5afa3e 100644 --- a/Aaru.Gui/Assets/Logos/Media/miniSD.svg +++ b/Aaru.Gui/Assets/Logos/Media/miniSD.svg @@ -1,82 +1,43 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + - diff --git a/Aaru.Gui/Controls/BlockMap.cs b/Aaru.Gui/Controls/BlockMap.cs index aaee62c15..dd10a7789 100644 --- a/Aaru.Gui/Controls/BlockMap.cs +++ b/Aaru.Gui/Controls/BlockMap.cs @@ -441,7 +441,7 @@ namespace Aaru.Gui.Controls void DrawSquares(Color[] colors, int borderWidth, int sideLength) { using IDrawingContextImpl ctxi = _bitmap.CreateDrawingContext(null); - using var ctx = new DrawingContext(ctxi, false); + using var ctx = new DrawingContext(ctxi, false); int squareWidth = (sideLength - (2 * borderWidth)) / colors.Length; int squareHeight = squareWidth; @@ -452,9 +452,10 @@ namespace Aaru.Gui.Controls { ctx.FillRectangle(new SolidColorBrush(color), new Rect(x, y, squareWidth, squareHeight)); x += squareWidth + (2 * borderWidth); + if(x >= sideLength) { - x = 0; + x = 0; y += squareHeight + (2 * borderWidth); } } diff --git a/Aaru.Gui/ViewModels/Windows/DecodeMediaTagsViewModel.cs b/Aaru.Gui/ViewModels/Windows/DecodeMediaTagsViewModel.cs index d32a7f423..761a534e8 100644 --- a/Aaru.Gui/ViewModels/Windows/DecodeMediaTagsViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/DecodeMediaTagsViewModel.cs @@ -58,11 +58,11 @@ namespace Aaru.Gui.ViewModels.Windows { public sealed class DecodeMediaTagsViewModel : ViewModelBase { - const int HEX_COLUMNS = 32; + const int HEX_COLUMNS = 32; + readonly MediaType _mediaType; string _decodedText; bool _decodedVisible; string _hexViewText; - readonly MediaType _mediaType; MediaTagModel _selectedTag; public DecodeMediaTagsViewModel([NotNull] IMediaImage inputFormat) diff --git a/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs b/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs index 8617eb2ac..265ce949f 100644 --- a/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs @@ -155,8 +155,9 @@ namespace Aaru.Gui.ViewModels.Windows a.Bus }).Where(a => a.Count() > 1).Distinct().Select(a => a.Key)) ctx.RemoveRange(ctx.SeenDevices!. - Where(d => d.Manufacturer == duplicate.Manufacturer && d.Model == duplicate.Model && - d.Revision == duplicate.Revision && d.Bus == duplicate.Bus).Skip(1)); + Where(d => d.Manufacturer == duplicate.Manufacturer && + d.Model == duplicate.Model && d.Revision == duplicate.Revision && + d.Bus == duplicate.Bus).Skip(1)); // Remove nulls ctx.RemoveRange(ctx.SeenDevices!.Where(d => d.Manufacturer == null && d.Model == null && diff --git a/Aaru.Gui/Views/Panels/DeviceInfo.xaml b/Aaru.Gui/Views/Panels/DeviceInfo.xaml index 676cfd20d..fc009c37c 100644 --- a/Aaru.Gui/Views/Panels/DeviceInfo.xaml +++ b/Aaru.Gui/Views/Panels/DeviceInfo.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.DeviceInfo"> diff --git a/Aaru.Gui/Views/Panels/FileSystem.xaml b/Aaru.Gui/Views/Panels/FileSystem.xaml index bec51155a..4be3548d3 100644 --- a/Aaru.Gui/Views/Panels/FileSystem.xaml +++ b/Aaru.Gui/Views/Panels/FileSystem.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.FileSystem"> diff --git a/Aaru.Gui/Views/Panels/ImageInfo.xaml b/Aaru.Gui/Views/Panels/ImageInfo.xaml index 1091e83e5..fea26ea7b 100644 --- a/Aaru.Gui/Views/Panels/ImageInfo.xaml +++ b/Aaru.Gui/Views/Panels/ImageInfo.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.ImageInfo"> diff --git a/Aaru.Gui/Views/Panels/MediaInfo.xaml b/Aaru.Gui/Views/Panels/MediaInfo.xaml index 0f109d33a..fe7ba386d 100644 --- a/Aaru.Gui/Views/Panels/MediaInfo.xaml +++ b/Aaru.Gui/Views/Panels/MediaInfo.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.MediaInfo"> diff --git a/Aaru.Gui/Views/Panels/Partition.xaml b/Aaru.Gui/Views/Panels/Partition.xaml index 71b321fde..98d1f3bd0 100644 --- a/Aaru.Gui/Views/Panels/Partition.xaml +++ b/Aaru.Gui/Views/Panels/Partition.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.Partition"> diff --git a/Aaru.Gui/Views/Panels/Subdirectory.xaml b/Aaru.Gui/Views/Panels/Subdirectory.xaml index fd21867af..ed1f312f6 100644 --- a/Aaru.Gui/Views/Panels/Subdirectory.xaml +++ b/Aaru.Gui/Views/Panels/Subdirectory.xaml @@ -34,8 +34,8 @@ + xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.Subdirectory"> diff --git a/Aaru.Gui/Views/Tabs/AtaInfo.xaml b/Aaru.Gui/Views/Tabs/AtaInfo.xaml index 726b2aadd..a94eecdcb 100644 --- a/Aaru.Gui/Views/Tabs/AtaInfo.xaml +++ b/Aaru.Gui/Views/Tabs/AtaInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.AtaInfo"> diff --git a/Aaru.Gui/Views/Tabs/BlurayInfo.xaml b/Aaru.Gui/Views/Tabs/BlurayInfo.xaml index c90896279..d2cfa697e 100644 --- a/Aaru.Gui/Views/Tabs/BlurayInfo.xaml +++ b/Aaru.Gui/Views/Tabs/BlurayInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.BlurayInfo"> diff --git a/Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml b/Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml index e7389dfbb..3fb7a1feb 100644 --- a/Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml +++ b/Aaru.Gui/Views/Tabs/CompactDiscInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.CompactDiscInfo"> diff --git a/Aaru.Gui/Views/Tabs/DvdInfo.xaml b/Aaru.Gui/Views/Tabs/DvdInfo.xaml index 8c567197c..c18d21172 100644 --- a/Aaru.Gui/Views/Tabs/DvdInfo.xaml +++ b/Aaru.Gui/Views/Tabs/DvdInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.DvdInfo"> diff --git a/Aaru.Gui/Views/Tabs/DvdWritableInfo.xaml b/Aaru.Gui/Views/Tabs/DvdWritableInfo.xaml index 56ab0c1b6..d9a650977 100644 --- a/Aaru.Gui/Views/Tabs/DvdWritableInfo.xaml +++ b/Aaru.Gui/Views/Tabs/DvdWritableInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.DvdWritableInfo"> diff --git a/Aaru.Gui/Views/Tabs/PcmciaInfo.xaml b/Aaru.Gui/Views/Tabs/PcmciaInfo.xaml index c28c87dbe..2d41bf653 100644 --- a/Aaru.Gui/Views/Tabs/PcmciaInfo.xaml +++ b/Aaru.Gui/Views/Tabs/PcmciaInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.PcmciaInfo"> diff --git a/Aaru.Gui/Views/Tabs/ScsiInfo.xaml b/Aaru.Gui/Views/Tabs/ScsiInfo.xaml index 47e849248..452c14e9c 100644 --- a/Aaru.Gui/Views/Tabs/ScsiInfo.xaml +++ b/Aaru.Gui/Views/Tabs/ScsiInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.ScsiInfo"> diff --git a/Aaru.Gui/Views/Tabs/SdMmcInfo.xaml b/Aaru.Gui/Views/Tabs/SdMmcInfo.xaml index f6be7602a..21d886672 100644 --- a/Aaru.Gui/Views/Tabs/SdMmcInfo.xaml +++ b/Aaru.Gui/Views/Tabs/SdMmcInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.SdMmcInfo"> diff --git a/Aaru.Gui/Views/Tabs/XboxInfo.xaml b/Aaru.Gui/Views/Tabs/XboxInfo.xaml index 1c44aabff..8a87d3dd7 100644 --- a/Aaru.Gui/Views/Tabs/XboxInfo.xaml +++ b/Aaru.Gui/Views/Tabs/XboxInfo.xaml @@ -34,8 +34,8 @@ + xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" mc:Ignorable="d" d:DesignWidth="800" + d:DesignHeight="450" x:Class="Aaru.Gui.Views.Tabs.XboxInfo"> diff --git a/Aaru.Helpers b/Aaru.Helpers index e1a7abc1a..f173fb5d7 160000 --- a/Aaru.Helpers +++ b/Aaru.Helpers @@ -1 +1 @@ -Subproject commit e1a7abc1a61d3a9c934dd8b6489d0023bc08893e +Subproject commit f173fb5d7075fcb33f1caabff745a0beb97d6963 diff --git a/Aaru.Images/Aaru.Images.csproj b/Aaru.Images/Aaru.Images.csproj index 37d2ad5ee..1e46fc3f0 100644 --- a/Aaru.Images/Aaru.Images.csproj +++ b/Aaru.Images/Aaru.Images.csproj @@ -55,476 +55,476 @@ false - - - + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -555,8 +555,8 @@ {D571B8EF-903D-4353-BDD5-B834F9F029EF} Aaru.Filters - - + + @@ -567,32 +567,32 @@ - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + diff --git a/Aaru.Images/AaruFormat/AaruFormat.cs b/Aaru.Images/AaruFormat/AaruFormat.cs index b55f4f47a..6304c4004 100644 --- a/Aaru.Images/AaruFormat/AaruFormat.cs +++ b/Aaru.Images/AaruFormat/AaruFormat.cs @@ -82,9 +82,7 @@ using SharpCompress.Compressors.LZMA; namespace Aaru.DiscImages { - /// - /// Implements reading and writing AaruFormat media images - /// + /// Implements reading and writing AaruFormat media images public sealed partial class AaruFormat : IWritableOpticalImage, IVerifiableImage, IWritableTapeImage { bool _alreadyWrittenZero; @@ -138,11 +136,11 @@ namespace Aaru.DiscImages byte[] _mode2Subheaders; /// If DDT is on-disk, this is the image stream offset at which it starts. long _outMemoryDdtPosition; - bool _rewinded; + bool _rewinded; + byte[] _sectorCpiMai; + byte[] _sectorDecryptedTitleKey; /// Cache for data that prefixes the user data on a sector (e.g. sync). byte[] _sectorPrefix; - byte[] _sectorCpiMai; - byte[] _sectorDecryptedTitleKey; uint[] _sectorPrefixDdt; NonClosableStream _sectorPrefixMs; /// Cache for data that goes side by side with user data (e.g. CompactDisc subchannel). diff --git a/Aaru.Images/AaruFormat/Properties.cs b/Aaru.Images/AaruFormat/Properties.cs index 868b14032..5074f34de 100644 --- a/Aaru.Images/AaruFormat/Properties.cs +++ b/Aaru.Images/AaruFormat/Properties.cs @@ -58,25 +58,25 @@ namespace Aaru.DiscImages OpticalImageCapabilities.CanStoreNotCdTracks | OpticalImageCapabilities.CanStoreIndexes; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Aaru Format"; + public string Name => "Aaru Format"; /// - public Guid Id => new Guid("49360069-1784-4A2F-B723-0C844D610B0A"); + public Guid Id => new Guid("49360069-1784-4A2F-B723-0C844D610B0A"); /// - public string Format => "Aaru"; + public string Format => "Aaru"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public List Partitions { get; private set; } + public List Partitions { get; private set; } /// - public List Tracks { get; private set; } + public List Tracks { get; private set; } /// - public List Sessions { get; private set; } + public List Sessions { get; private set; } /// public List DumpHardware { get; private set; } /// - public CICMMetadataType CicmMetadata { get; private set; } + public CICMMetadataType CicmMetadata { get; private set; } /// public IEnumerable SupportedMediaTags => Enum.GetValues(typeof(MediaTagType)).Cast(); @@ -98,8 +98,7 @@ namespace Aaru.DiscImages ("sha256", typeof(bool), "Calculate and store SHA256 of image's user data", false), ("spamsum", typeof(bool), "Calculate and store SpamSum of image's user data", false), ("deduplicate", typeof(bool), - "Store only unique sectors. This consumes more memory and is slower, but it's enabled by default", - true), + "Store only unique sectors. This consumes more memory and is slower, but it's enabled by default", true), ("compress", typeof(bool), "Compress user data blocks. Other blocks will always be compressed", (object)true) }; @@ -109,7 +108,7 @@ namespace Aaru.DiscImages ".dicf", ".aaru", ".aaruformat", ".aaruf", ".aif" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/AaruFormat/Read.cs b/Aaru.Images/AaruFormat/Read.cs index b7132936d..4e7583c04 100644 --- a/Aaru.Images/AaruFormat/Read.cs +++ b/Aaru.Images/AaruFormat/Read.cs @@ -1218,7 +1218,9 @@ namespace Aaru.DiscImages { var lastTrackInSession = new Track(); - foreach(Track trk in Tracks.Where(trk => trk.TrackSession == leadOuts.Key).Where(trk => trk.TrackSequence > lastTrackInSession.TrackSequence)) + foreach(Track trk in Tracks.Where(trk => trk.TrackSession == leadOuts.Key). + Where(trk => trk.TrackSequence > + lastTrackInSession.TrackSequence)) lastTrackInSession = trk; if(lastTrackInSession.TrackSequence == 0 || diff --git a/Aaru.Images/AaruFormat/Tape.cs b/Aaru.Images/AaruFormat/Tape.cs index a4b320c65..15d3b63fe 100644 --- a/Aaru.Images/AaruFormat/Tape.cs +++ b/Aaru.Images/AaruFormat/Tape.cs @@ -39,11 +39,11 @@ namespace Aaru.DiscImages public sealed partial class AaruFormat { /// - public List Files { get; private set; } + public List Files { get; private set; } /// public List TapePartitions { get; private set; } /// - public bool IsTape { get; private set; } + public bool IsTape { get; private set; } /// public bool AddFile(TapeFile file) diff --git a/Aaru.Images/AaruFormat/Write.cs b/Aaru.Images/AaruFormat/Write.cs index fb4b914ec..3c274201c 100644 --- a/Aaru.Images/AaruFormat/Write.cs +++ b/Aaru.Images/AaruFormat/Write.cs @@ -1388,7 +1388,9 @@ namespace Aaru.DiscImages { var lastTrackInSession = new Track(); - foreach(Track trk in Tracks.Where(trk => trk.TrackSession == leadOuts.Key).Where(trk => trk.TrackSequence > lastTrackInSession.TrackSequence)) + foreach(Track trk in Tracks.Where(trk => trk.TrackSession == leadOuts.Key). + Where(trk => trk.TrackSequence > + lastTrackInSession.TrackSequence)) lastTrackInSession = trk; if(lastTrackInSession.TrackSequence == 0 || diff --git a/Aaru.Images/Alcohol120/Alcohol120.cs b/Aaru.Images/Alcohol120/Alcohol120.cs index 612a07320..ff9515c3d 100644 --- a/Aaru.Images/Alcohol120/Alcohol120.cs +++ b/Aaru.Images/Alcohol120/Alcohol120.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing Alcohol 120% disk images - /// + /// Implements reading and writing Alcohol 120% disk images public sealed partial class Alcohol120 : IWritableOpticalImage { Footer _alcFooter; diff --git a/Aaru.Images/Alcohol120/Properties.cs b/Aaru.Images/Alcohol120/Properties.cs index 8a5b2a142..168206bce 100644 --- a/Aaru.Images/Alcohol120/Properties.cs +++ b/Aaru.Images/Alcohol120/Properties.cs @@ -56,13 +56,13 @@ namespace Aaru.DiscImages OpticalImageCapabilities.CanStoreCookedData | OpticalImageCapabilities.CanStoreMultipleTracks; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Alcohol 120% Media Descriptor Structure"; + public string Name => "Alcohol 120% Media Descriptor Structure"; /// - public Guid Id => new Guid("A78FBEBA-0307-4915-BDE3-B8A3B57F843F"); + public Guid Id => new Guid("A78FBEBA-0307-4915-BDE3-B8A3B57F843F"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public string Format => "Alcohol 120% Media Descriptor Structure"; @@ -153,7 +153,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new[] @@ -195,7 +195,7 @@ namespace Aaru.DiscImages ".mds" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/Anex86/Anex86.cs b/Aaru.Images/Anex86/Anex86.cs index dc8a50d8b..7fbb74179 100644 --- a/Aaru.Images/Anex86/Anex86.cs +++ b/Aaru.Images/Anex86/Anex86.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing Anex-86 disk images - /// + /// Implements reading and writing Anex-86 disk images public sealed partial class Anex86 : IWritableImage { IFilter _anexImageFilter; diff --git a/Aaru.Images/Anex86/Properties.cs b/Aaru.Images/Anex86/Properties.cs index 48d0beb1e..d719a9278 100644 --- a/Aaru.Images/Anex86/Properties.cs +++ b/Aaru.Images/Anex86/Properties.cs @@ -45,9 +45,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Anex86 Disk Image"; + public string Name => "Anex86 Disk Image"; /// - public Guid Id => new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); + public Guid Id => new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); /// public string Author => "Natalia Portillo"; /// @@ -56,7 +56,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] @@ -93,7 +93,7 @@ namespace Aaru.DiscImages }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/Apple2MG/Apple2MG.cs b/Aaru.Images/Apple2MG/Apple2MG.cs index c9a6093e0..9d8e2db1a 100644 --- a/Aaru.Images/Apple2MG/Apple2MG.cs +++ b/Aaru.Images/Apple2MG/Apple2MG.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing XGD emulator disk images - /// + /// Implements reading and writing XGD emulator disk images public sealed partial class Apple2Mg : IWritableImage { IFilter _a2MgImageFilter; diff --git a/Aaru.Images/Apple2MG/Properties.cs b/Aaru.Images/Apple2MG/Properties.cs index 5dbb1d450..5c67e24d6 100644 --- a/Aaru.Images/Apple2MG/Properties.cs +++ b/Aaru.Images/Apple2MG/Properties.cs @@ -45,9 +45,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Apple 2IMG"; + public string Name => "Apple 2IMG"; /// - public Guid Id => new Guid("CBAF8824-BA5F-415F-953A-19A03519B2D1"); + public Guid Id => new Guid("CBAF8824-BA5F-415F-953A-19A03519B2D1"); /// public string Author => "Natalia Portillo"; /// @@ -56,7 +56,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] @@ -82,7 +82,7 @@ namespace Aaru.DiscImages ".2mg" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/AppleDOS/AppleDOS.cs b/Aaru.Images/AppleDOS/AppleDOS.cs index 60d295ab0..ce17b12c6 100644 --- a/Aaru.Images/AppleDOS/AppleDOS.cs +++ b/Aaru.Images/AppleDOS/AppleDOS.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing interleaved Apple DOS disk images - /// + /// Implements reading and writing interleaved Apple DOS disk images public sealed partial class AppleDos : IWritableImage { byte[] _deinterleaved; diff --git a/Aaru.Images/AppleDOS/Properties.cs b/Aaru.Images/AppleDOS/Properties.cs index a9a0b29f0..63f019f06 100644 --- a/Aaru.Images/AppleDOS/Properties.cs +++ b/Aaru.Images/AppleDOS/Properties.cs @@ -45,9 +45,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Apple ][ Interleaved Disk Image"; + public string Name => "Apple ][ Interleaved Disk Image"; /// - public Guid Id => new Guid("A5828AC0-62C9-4304-81D4-EFD4AAE47360"); + public Guid Id => new Guid("A5828AC0-62C9-4304-81D4-EFD4AAE47360"); /// public string Author => "Natalia Portillo"; /// @@ -57,7 +57,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -79,7 +79,7 @@ namespace Aaru.DiscImages ".do", ".po" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/AppleNIB/AppleNIB.cs b/Aaru.Images/AppleNIB/AppleNIB.cs index 93f964acd..717a698ab 100644 --- a/Aaru.Images/AppleNIB/AppleNIB.cs +++ b/Aaru.Images/AppleNIB/AppleNIB.cs @@ -39,9 +39,7 @@ namespace Aaru.DiscImages { // TODO: Checksum sectors /// - /// - /// Implements reading nibbelized Apple II disk images - /// + /// Implements reading nibbelized Apple II disk images public sealed partial class AppleNib : IMediaImage { Dictionary _addressFields; diff --git a/Aaru.Images/AppleNIB/Properties.cs b/Aaru.Images/AppleNIB/Properties.cs index 39e4c3909..070f3b700 100644 --- a/Aaru.Images/AppleNIB/Properties.cs +++ b/Aaru.Images/AppleNIB/Properties.cs @@ -43,16 +43,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Apple NIB"; + public string Name => "Apple NIB"; /// - public Guid Id => new Guid("AE171AE8-6747-49CC-B861-9D450B7CD42E"); + public Guid Id => new Guid("AE171AE8-6747-49CC-B861-9D450B7CD42E"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Apple nibbles"; + public string Format => "Apple nibbles"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/AppleNIB/Read.cs b/Aaru.Images/AppleNIB/Read.cs index a8f6695f2..c0ea83104 100644 --- a/Aaru.Images/AppleNIB/Read.cs +++ b/Aaru.Images/AppleNIB/Read.cs @@ -77,11 +77,14 @@ namespace Aaru.DiscImages // Detect ProDOS skewed disks if(skewed) - foreach(bool isDos in from sector in tracks[17].sectors where sector.addressField.sector.SequenceEqual(new byte[] - { - 170, 170 - }) select Apple2.DecodeSector(sector) into sector0 where sector0 != null select sector0[0x01] == 17 && sector0[0x02] < 16 && sector0[0x27] <= 122 && - sector0[0x34] == 35 && sector0[0x35] == 16 && sector0[0x36] == 0 && sector0[0x37] == 1) + foreach(bool isDos in from sector in tracks[17].sectors + where sector.addressField.sector.SequenceEqual(new byte[] + { + 170, 170 + }) select Apple2.DecodeSector(sector) into sector0 where sector0 != null + select sector0[0x01] == 17 && sector0[0x02] < 16 && sector0[0x27] <= 122 && + sector0[0x34] == 35 && sector0[0x35] == 16 && sector0[0x36] == 0 && + sector0[0x37] == 1) { if(isDos) skewing = _dosSkewing; diff --git a/Aaru.Images/Apridisk/Apridisk.cs b/Aaru.Images/Apridisk/Apridisk.cs index ec3c2e09d..b89e66f16 100644 --- a/Aaru.Images/Apridisk/Apridisk.cs +++ b/Aaru.Images/Apridisk/Apridisk.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // TODO: Check writing /// - /// - /// Implements reading and writing Apridisk disk images - /// + /// Implements reading and writing Apridisk disk images public sealed partial class Apridisk : IWritableImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/Apridisk/Properties.cs b/Aaru.Images/Apridisk/Properties.cs index 7862cd6c5..dc3c1fcdc 100644 --- a/Aaru.Images/Apridisk/Properties.cs +++ b/Aaru.Images/Apridisk/Properties.cs @@ -45,9 +45,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "ACT Apricot Disk Image"; + public string Name => "ACT Apricot Disk Image"; /// - public Guid Id => new Guid("43408CF3-6DB3-449F-A779-2B0E497C5B14"); + public Guid Id => new Guid("43408CF3-6DB3-449F-A779-2B0E497C5B14"); /// public string Author => "Natalia Portillo"; /// @@ -56,7 +56,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] @@ -88,7 +88,7 @@ namespace Aaru.DiscImages ".dsk" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/BLU/BLU.cs b/Aaru.Images/BLU/BLU.cs index c5e67705d..3b289d28b 100644 --- a/Aaru.Images/BLU/BLU.cs +++ b/Aaru.Images/BLU/BLU.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading Basic Lisa Utility disk images - /// + /// Implements reading Basic Lisa Utility disk images public sealed partial class Blu : IWritableImage, IVerifiableSectorsImage { IFilter _bluImageFilter; diff --git a/Aaru.Images/BLU/Properties.cs b/Aaru.Images/BLU/Properties.cs index cc90e4ae8..c12931a9c 100644 --- a/Aaru.Images/BLU/Properties.cs +++ b/Aaru.Images/BLU/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class Blu { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Basic Lisa Utility"; + public string Name => "Basic Lisa Utility"; /// - public Guid Id => new Guid("A153E2F8-4235-432D-9A7F-20807B0BCD74"); + public Guid Id => new Guid("A153E2F8-4235-432D-9A7F-20807B0BCD74"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Basic Lisa Utility"; + public string Format => "Basic Lisa Utility"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -80,7 +80,7 @@ namespace Aaru.DiscImages ".blu" }; // Just invented /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/BlindWrite4/BlindWrite4.cs b/Aaru.Images/BlindWrite4/BlindWrite4.cs index 71c4f44b0..353b11593 100644 --- a/Aaru.Images/BlindWrite4/BlindWrite4.cs +++ b/Aaru.Images/BlindWrite4/BlindWrite4.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // TODO: Too many unknowns, plus a completely unknown footer, to make this writable /// - /// - /// Implements reading BlindWrite 4 disc images - /// + /// Implements reading BlindWrite 4 disc images public sealed partial class BlindWrite4 : IOpticalMediaImage { List _bwTracks; diff --git a/Aaru.Images/BlindWrite4/Properties.cs b/Aaru.Images/BlindWrite4/Properties.cs index 2d79cfd89..af01bcf9f 100644 --- a/Aaru.Images/BlindWrite4/Properties.cs +++ b/Aaru.Images/BlindWrite4/Properties.cs @@ -44,9 +44,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "BlindWrite 4"; + public string Name => "BlindWrite 4"; /// - public Guid Id => new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); + public Guid Id => new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); /// public string Author => "Natalia Portillo"; /// @@ -59,10 +59,10 @@ namespace Aaru.DiscImages public List Tracks { get; set; } /// - public List Sessions { get; set; } + public List Sessions { get; set; } /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/BlindWrite5/BlindWrite5.cs b/Aaru.Images/BlindWrite5/BlindWrite5.cs index 506f40410..6de447de3 100644 --- a/Aaru.Images/BlindWrite5/BlindWrite5.cs +++ b/Aaru.Images/BlindWrite5/BlindWrite5.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // TODO: Too many unknowns to make this writable /// - /// - /// Implements reading BlindWrite 5/6/7 disc images - /// + /// Implements reading BlindWrite 5/6/7 disc images public sealed partial class BlindWrite5 : IOpticalMediaImage { byte[] _atip; diff --git a/Aaru.Images/BlindWrite5/Properties.cs b/Aaru.Images/BlindWrite5/Properties.cs index ae330cc02..75b8efd26 100644 --- a/Aaru.Images/BlindWrite5/Properties.cs +++ b/Aaru.Images/BlindWrite5/Properties.cs @@ -44,9 +44,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "BlindWrite 5"; + public string Name => "BlindWrite 5"; /// - public Guid Id => new Guid("9CB7A381-0509-4F9F-B801-3F65434BC3EE"); + public Guid Id => new Guid("9CB7A381-0509-4F9F-B801-3F65434BC3EE"); /// public string Author => "Natalia Portillo"; /// @@ -64,6 +64,6 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/BlindWrite5/Read.cs b/Aaru.Images/BlindWrite5/Read.cs index 878919f3b..0d196b3e3 100644 --- a/Aaru.Images/BlindWrite5/Read.cs +++ b/Aaru.Images/BlindWrite5/Read.cs @@ -785,9 +785,9 @@ namespace Aaru.DiscImages _filePaths.FirstOrDefault(f => Path.GetExtension(f.FilePath).ToLowerInvariant() == ".b00"); string filename = Path.GetFileNameWithoutExtension(splitStartChars.FilePath); - bool lowerCaseExtension = false; - bool lowerCaseFileName = false; - string basePath; + bool lowerCaseExtension = false; + bool lowerCaseFileName = false; + string basePath; bool version5 = string.Compare(Path.GetExtension(imageFilter.GetFilename()), ".B5T", StringComparison.OrdinalIgnoreCase) == 0; diff --git a/Aaru.Images/CDRDAO/CDRDAO.cs b/Aaru.Images/CDRDAO/CDRDAO.cs index dce063bd6..ba81b7828 100644 --- a/Aaru.Images/CDRDAO/CDRDAO.cs +++ b/Aaru.Images/CDRDAO/CDRDAO.cs @@ -42,9 +42,7 @@ namespace Aaru.DiscImages // TODO: Doesn't support compositing from several files // TODO: Doesn't support silences that are not in files /// - /// - /// Implements reading and writing cdrdao cuesheet disc images - /// + /// Implements reading and writing cdrdao cuesheet disc images public sealed partial class Cdrdao : IWritableOpticalImage { IFilter _cdrdaoFilter; diff --git a/Aaru.Images/CDRDAO/Properties.cs b/Aaru.Images/CDRDAO/Properties.cs index cd33aded4..f2a1f1dba 100644 --- a/Aaru.Images/CDRDAO/Properties.cs +++ b/Aaru.Images/CDRDAO/Properties.cs @@ -55,15 +55,15 @@ namespace Aaru.DiscImages OpticalImageCapabilities.CanStoreMultipleTracks | OpticalImageCapabilities.CanStoreIndexes; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "CDRDAO tocfile"; + public string Name => "CDRDAO tocfile"; /// - public Guid Id => new Guid("04D7BA12-1BE8-44D4-97A4-1B48A505463E"); + public Guid Id => new Guid("04D7BA12-1BE8-44D4-97A4-1B48A505463E"); /// - public string Format => "CDRDAO tocfile"; + public string Format => "CDRDAO tocfile"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List Partitions { get; private set; } @@ -163,7 +163,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; // TODO: Decode CD-Text to text /// @@ -201,7 +201,7 @@ namespace Aaru.DiscImages ".toc" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/CDRWin/CDRWin.cs b/Aaru.Images/CDRWin/CDRWin.cs index 86f66bc1f..440ab2522 100644 --- a/Aaru.Images/CDRWin/CDRWin.cs +++ b/Aaru.Images/CDRWin/CDRWin.cs @@ -40,9 +40,7 @@ using Aaru.Decoders.CD; namespace Aaru.DiscImages { // TODO: Implement track flags - /// - /// Implements reading and writing CDRWin cuesheet disc images - /// + /// Implements reading and writing CDRWin cuesheet disc images public sealed partial class CdrWin : IWritableOpticalImage, IVerifiableImage { IFilter _cdrwinFilter; diff --git a/Aaru.Images/CDRWin/Properties.cs b/Aaru.Images/CDRWin/Properties.cs index 5b6349dcd..cf85f66fb 100644 --- a/Aaru.Images/CDRWin/Properties.cs +++ b/Aaru.Images/CDRWin/Properties.cs @@ -57,15 +57,15 @@ namespace Aaru.DiscImages OpticalImageCapabilities.CanStoreNotCdTracks | OpticalImageCapabilities.CanStoreIndexes; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "CDRWin cuesheet"; + public string Name => "CDRWin cuesheet"; /// - public Guid Id => new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); + public Guid Id => new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); /// - public string Format => "CDRWin CUESheet"; + public string Format => "CDRWin CUESheet"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List Partitions { get; private set; } @@ -154,11 +154,11 @@ namespace Aaru.DiscImages } /// - public List Sessions => _discImage.Sessions; + public List Sessions => _discImage.Sessions; /// public List DumpHardware { get; private set; } /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new[] { @@ -200,7 +200,7 @@ namespace Aaru.DiscImages ".cue" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/CDRWin/Read.cs b/Aaru.Images/CDRWin/Read.cs index ece39824d..834c20ff3 100644 --- a/Aaru.Images/CDRWin/Read.cs +++ b/Aaru.Images/CDRWin/Read.cs @@ -1309,7 +1309,7 @@ namespace Aaru.DiscImages Partitions = new List(); - ulong partitionSequence = 0; + ulong partitionSequence = 0; _offsetMap = new Dictionary(); @@ -1345,8 +1345,7 @@ namespace Aaru.DiscImages _offsetMap.Add(_discImage.Tracks[i].Sequence, (ulong)(_discImage.Tracks[i].Indexes[1] - _discImage.Tracks[i].Pregap)); else - _offsetMap.Add(_discImage.Tracks[i].Sequence, - (ulong)_discImage.Tracks[i].Indexes[1]); + _offsetMap.Add(_discImage.Tracks[i].Sequence, (ulong)_discImage.Tracks[i].Indexes[1]); Partitions.Add(partition); } diff --git a/Aaru.Images/CHD/CHD.cs b/Aaru.Images/CHD/CHD.cs index f50316c48..4a1a22a06 100644 --- a/Aaru.Images/CHD/CHD.cs +++ b/Aaru.Images/CHD/CHD.cs @@ -42,9 +42,7 @@ using Aaru.Decoders.CD; namespace Aaru.DiscImages { // TODO: Implement PCMCIA support - /// - /// Implements reading MAME CHD disk images - /// + /// Implements reading MAME CHD disk images [SuppressMessage("ReSharper", "NotAccessedField.Local")] public sealed partial class Chd : IOpticalMediaImage, IVerifiableImage { diff --git a/Aaru.Images/CHD/Properties.cs b/Aaru.Images/CHD/Properties.cs index 7a62ecc42..bcf7ef82e 100644 --- a/Aaru.Images/CHD/Properties.cs +++ b/Aaru.Images/CHD/Properties.cs @@ -43,15 +43,15 @@ namespace Aaru.DiscImages public sealed partial class Chd { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "MAME Compressed Hunks of Data"; + public string Name => "MAME Compressed Hunks of Data"; /// - public Guid Id => new Guid("0D50233A-08BD-47D4-988B-27EAA0358597"); + public Guid Id => new Guid("0D50233A-08BD-47D4-988B-27EAA0358597"); /// - public string Format => "Compressed Hunks of Data"; + public string Format => "Compressed Hunks of Data"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List Partitions @@ -95,6 +95,6 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/CPCDSK/CPCDSK.cs b/Aaru.Images/CPCDSK/CPCDSK.cs index 5cbd3c9c7..052f1e965 100644 --- a/Aaru.Images/CPCDSK/CPCDSK.cs +++ b/Aaru.Images/CPCDSK/CPCDSK.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading CPCDSK disk images - /// + /// Implements reading CPCDSK disk images public sealed partial class Cpcdsk : IMediaImage { Dictionary _addressMarks; diff --git a/Aaru.Images/CPCDSK/Properties.cs b/Aaru.Images/CPCDSK/Properties.cs index ef8ccab1e..615482fca 100644 --- a/Aaru.Images/CPCDSK/Properties.cs +++ b/Aaru.Images/CPCDSK/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class Cpcdsk { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "CPCEMU Disk-File and Extended CPC Disk-File"; + public string Name => "CPCEMU Disk-File and Extended CPC Disk-File"; /// - public Guid Id => new Guid("724B16CC-ADB9-492E-BA07-CAEEC1012B16"); + public Guid Id => new Guid("724B16CC-ADB9-492E-BA07-CAEEC1012B16"); /// - public string Format => _extended ? "CPCEMU Extended disk image" : "CPCEMU disk image"; + public string Format => _extended ? "CPCEMU Extended disk image" : "CPCEMU disk image"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/CisCopy/CisCopy.cs b/Aaru.Images/CisCopy/CisCopy.cs index 14cb8b15e..9544f9491 100644 --- a/Aaru.Images/CisCopy/CisCopy.cs +++ b/Aaru.Images/CisCopy/CisCopy.cs @@ -54,9 +54,7 @@ namespace Aaru.DiscImages * Then the data for whole tracks follow. */ /// - /// - /// Implements reading and writing CisCopy disk images - /// + /// Implements reading and writing CisCopy disk images public sealed partial class CisCopy : IWritableImage { byte[] _decodedDisk; diff --git a/Aaru.Images/CisCopy/Properties.cs b/Aaru.Images/CisCopy/Properties.cs index 25dd4d135..b232e4e7f 100644 --- a/Aaru.Images/CisCopy/Properties.cs +++ b/Aaru.Images/CisCopy/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class CisCopy { /// - public string Name => "CisCopy Disk Image (DC-File)"; + public string Name => "CisCopy Disk Image (DC-File)"; /// - public Guid Id => new Guid("EDF20CC7-6012-49E2-9E92-663A53E42130"); + public Guid Id => new Guid("EDF20CC7-6012-49E2-9E92-663A53E42130"); /// - public string Format => "CisCopy"; + public string Format => "CisCopy"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -79,7 +79,7 @@ namespace Aaru.DiscImages ".dcf" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/CloneCD/CloneCD.cs b/Aaru.Images/CloneCD/CloneCD.cs index 03ba8d7ce..ccfb391b0 100644 --- a/Aaru.Images/CloneCD/CloneCD.cs +++ b/Aaru.Images/CloneCD/CloneCD.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // TODO: CloneCD stores subchannel deinterleaved /// - /// - /// Implements reading and writing CloneCD disc images - /// + /// Implements reading and writing CloneCD disc images public sealed partial class CloneCd : IWritableOpticalImage { string _catalog; // TODO: Use it diff --git a/Aaru.Images/CloneCD/Properties.cs b/Aaru.Images/CloneCD/Properties.cs index 74e4c9430..6173aed7e 100644 --- a/Aaru.Images/CloneCD/Properties.cs +++ b/Aaru.Images/CloneCD/Properties.cs @@ -56,25 +56,25 @@ namespace Aaru.DiscImages OpticalImageCapabilities.CanStoreCookedData | OpticalImageCapabilities.CanStoreMultipleTracks; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "CloneCD"; + public string Name => "CloneCD"; /// - public Guid Id => new Guid("EE9C2975-2E79-427A-8EE9-F86F19165784"); + public Guid Id => new Guid("EE9C2975-2E79-427A-8EE9-F86F19165784"); /// - public string Format => "CloneCD"; + public string Format => "CloneCD"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public List Partitions { get; private set; } + public List Partitions { get; private set; } /// - public List Tracks { get; private set; } + public List Tracks { get; private set; } /// - public List Sessions { get; private set; } + public List Sessions { get; private set; } /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new[] { @@ -108,7 +108,7 @@ namespace Aaru.DiscImages ".ccd" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/CloneCD/Read.cs b/Aaru.Images/CloneCD/Read.cs index 5a55b8afe..357883e4c 100644 --- a/Aaru.Images/CloneCD/Read.cs +++ b/Aaru.Images/CloneCD/Read.cs @@ -613,7 +613,9 @@ namespace Aaru.DiscImages if(trackIndexes.TryGetValue((byte)tmpTrack.TrackSequence, out Dictionary indexes)) { - foreach((byte index, int value) in indexes.OrderBy(i => i.Key).Where(trackIndex => trackIndex.Key > 1)) + foreach((byte index, int value) in indexes.OrderBy(i => i.Key). + Where(trackIndex => trackIndex.Key > 1)) + // Untested as of 20210711 tmpTrack.Indexes[index] = value; } diff --git a/Aaru.Images/CopyQM/CopyQM.cs b/Aaru.Images/CopyQM/CopyQM.cs index 2dd0c4267..611bc2cb7 100644 --- a/Aaru.Images/CopyQM/CopyQM.cs +++ b/Aaru.Images/CopyQM/CopyQM.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading CopyQM disk images - /// + /// Implements reading CopyQM disk images public sealed partial class CopyQm : IMediaImage, IVerifiableImage { uint _calculatedDataCrc; diff --git a/Aaru.Images/CopyQM/Properties.cs b/Aaru.Images/CopyQM/Properties.cs index d06c8a4e4..31f96104f 100644 --- a/Aaru.Images/CopyQM/Properties.cs +++ b/Aaru.Images/CopyQM/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class CopyQm { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Sydex CopyQM"; + public string Name => "Sydex CopyQM"; /// - public Guid Id => new Guid("147E927D-3A92-4E0C-82CD-142F5A4FA76D"); + public Guid Id => new Guid("147E927D-3A92-4E0C-82CD-142F5A4FA76D"); /// - public string Format => "Sydex CopyQM"; + public string Format => "Sydex CopyQM"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/CopyTape/Constants.cs b/Aaru.Images/CopyTape/Constants.cs index 6568f8053..a8abd3a3c 100644 --- a/Aaru.Images/CopyTape/Constants.cs +++ b/Aaru.Images/CopyTape/Constants.cs @@ -34,9 +34,9 @@ namespace Aaru.DiscImages { public sealed partial class CopyTape { - const string BLOCK_REGEX = @"^CPTP:BLK (?\d{6})\n$"; + const string BLOCK_REGEX = @"^CPTP:BLK (?\d{6})\n$"; const string PARTIAL_BLOCK_REGEX = @"^CPTP:BLK $"; - const string FILEMARK_REGEX = @"^CPTP:MRK\n$"; - const string END_OF_TAPE_REGEX = @"^CPTP:EOT\n$"; + const string FILEMARK_REGEX = @"^CPTP:MRK\n$"; + const string END_OF_TAPE_REGEX = @"^CPTP:EOT\n$"; } } \ No newline at end of file diff --git a/Aaru.Images/CopyTape/CopyTape.cs b/Aaru.Images/CopyTape/CopyTape.cs index 98070b4e7..f78e4c4e1 100644 --- a/Aaru.Images/CopyTape/CopyTape.cs +++ b/Aaru.Images/CopyTape/CopyTape.cs @@ -7,9 +7,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing copytape tape images - /// + /// Implements reading and writing copytape tape images public sealed partial class CopyTape : IWritableTapeImage { long[] _blockPositionCache; diff --git a/Aaru.Images/CopyTape/Properties.cs b/Aaru.Images/CopyTape/Properties.cs index 77fb0c4a1..930495a11 100644 --- a/Aaru.Images/CopyTape/Properties.cs +++ b/Aaru.Images/CopyTape/Properties.cs @@ -42,25 +42,25 @@ namespace Aaru.DiscImages public sealed partial class CopyTape { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "CopyTape"; + public string Name => "CopyTape"; /// - public Guid Id => new Guid("C537D41E-D6A7-4922-9AA9-8E8442D0E340"); + public Guid Id => new Guid("C537D41E-D6A7-4922-9AA9-8E8442D0E340"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "CopyTape"; + public string Format => "CopyTape"; /// - public List DumpHardware => null; + public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// - public List Files { get; private set; } + public List Files { get; private set; } /// - public List TapePartitions { get; private set; } + public List TapePartitions { get; private set; } /// - public bool IsTape { get; set; } + public bool IsTape { get; set; } /// public IEnumerable SupportedMediaTags => new MediaTagType[] @@ -108,7 +108,7 @@ namespace Aaru.DiscImages }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/D88/D88.cs b/Aaru.Images/D88/D88.cs index 2034fb4ab..311548428 100644 --- a/Aaru.Images/D88/D88.cs +++ b/Aaru.Images/D88/D88.cs @@ -41,9 +41,7 @@ namespace Aaru.DiscImages // Japanese comments copied from there // TODO: Solve media types /// - /// - /// Implements reading Quasi88 disk images - /// + /// Implements reading Quasi88 disk images public sealed partial class D88 : IMediaImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/D88/Properties.cs b/Aaru.Images/D88/Properties.cs index e80e5b8da..e90970fb7 100644 --- a/Aaru.Images/D88/Properties.cs +++ b/Aaru.Images/D88/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class D88 { /// - public string Name => "D88 Disk Image"; + public string Name => "D88 Disk Image"; /// - public Guid Id => new Guid("669EDC77-EC41-4720-A88C-49C38CFFBAA0"); + public Guid Id => new Guid("669EDC77-EC41-4720-A88C-49C38CFFBAA0"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Format => "D88 disk image"; + public string Format => "D88 disk image"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/DART/DART.cs b/Aaru.Images/DART/DART.cs index b369cfaa8..7a69739d3 100644 --- a/Aaru.Images/DART/DART.cs +++ b/Aaru.Images/DART/DART.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading Apple DART disk images - /// + /// Implements reading Apple DART disk images public sealed partial class Dart : IMediaImage { // DART images are at most 1474560 bytes, so let's cache the whole diff --git a/Aaru.Images/DART/Properties.cs b/Aaru.Images/DART/Properties.cs index 6f37a4644..9656ab005 100644 --- a/Aaru.Images/DART/Properties.cs +++ b/Aaru.Images/DART/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class Dart { /// - public string Name => "Apple Disk Archival/Retrieval Tool"; + public string Name => "Apple Disk Archival/Retrieval Tool"; /// - public Guid Id => new Guid("B3E06BF8-F98D-4F9B-BBE2-342C373BAF3E"); + public Guid Id => new Guid("B3E06BF8-F98D-4F9B-BBE2-342C373BAF3E"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Apple Disk Archival/Retrieval Tool"; + public string Format => "Apple Disk Archival/Retrieval Tool"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/DIM/DIM.cs b/Aaru.Images/DIM/DIM.cs index bf7aa05cb..f8f17861d 100644 --- a/Aaru.Images/DIM/DIM.cs +++ b/Aaru.Images/DIM/DIM.cs @@ -39,9 +39,7 @@ namespace Aaru.DiscImages { // TODO: What are the real supported floppies for this image format? /// - /// - /// Implements reading DIM disk images - /// + /// Implements reading DIM disk images public sealed partial class Dim : IMediaImage { byte[] _comment; diff --git a/Aaru.Images/DIM/Properties.cs b/Aaru.Images/DIM/Properties.cs index 61f70d974..508d25e84 100644 --- a/Aaru.Images/DIM/Properties.cs +++ b/Aaru.Images/DIM/Properties.cs @@ -48,18 +48,18 @@ namespace Aaru.DiscImages public List Sessions => throw new FeatureUnsupportedImageException("Feature not supported by image format"); /// - public string Name => "DIM Disk Image"; + public string Name => "DIM Disk Image"; /// - public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "DIM disk image"; + public string Format => "DIM disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/DiscFerret/DiscFerret.cs b/Aaru.Images/DiscFerret/DiscFerret.cs index 5c9383cad..5245bc2a3 100644 --- a/Aaru.Images/DiscFerret/DiscFerret.cs +++ b/Aaru.Images/DiscFerret/DiscFerret.cs @@ -37,9 +37,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading DiscFerret flux images - /// + /// Implements reading DiscFerret flux images public sealed partial class DiscFerret : IMediaImage, IVerifiableSectorsImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/DiscFerret/Properties.cs b/Aaru.Images/DiscFerret/Properties.cs index b40db2213..cb221b663 100644 --- a/Aaru.Images/DiscFerret/Properties.cs +++ b/Aaru.Images/DiscFerret/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class DiscFerret { /// - public string Name => "DiscFerret"; + public string Name => "DiscFerret"; /// - public Guid Id => new Guid("70EA7B9B-5323-42EB-9B40-8DDA37C5EB4D"); + public Guid Id => new Guid("70EA7B9B-5323-42EB-9B40-8DDA37C5EB4D"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Format => "DiscFerret"; + public string Format => "DiscFerret"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/DiscJuggler/DiscJuggler.cs b/Aaru.Images/DiscJuggler/DiscJuggler.cs index 38c0bcbef..3d4ced2ea 100644 --- a/Aaru.Images/DiscJuggler/DiscJuggler.cs +++ b/Aaru.Images/DiscJuggler/DiscJuggler.cs @@ -42,9 +42,7 @@ namespace Aaru.DiscImages // Support separate data files? Never seen a DiscJuggler image using them anyways... // TODO: Too many unknowns to make this writable /// - /// - /// Implements reading DiscJuggler disc images - /// + /// Implements reading DiscJuggler disc images public sealed partial class DiscJuggler : IOpticalMediaImage { byte[] _cdtext; diff --git a/Aaru.Images/DiscJuggler/Properties.cs b/Aaru.Images/DiscJuggler/Properties.cs index 7af2fac6b..c23ab0af3 100644 --- a/Aaru.Images/DiscJuggler/Properties.cs +++ b/Aaru.Images/DiscJuggler/Properties.cs @@ -41,24 +41,24 @@ namespace Aaru.DiscImages public sealed partial class DiscJuggler { /// - public string Name => "DiscJuggler"; + public string Name => "DiscJuggler"; /// - public Guid Id => new Guid("2444DBC6-CD35-424C-A227-39B0C4DB01B2"); + public Guid Id => new Guid("2444DBC6-CD35-424C-A227-39B0C4DB01B2"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Format => "DiscJuggler"; + public string Format => "DiscJuggler"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public List Partitions { get; private set; } + public List Partitions { get; private set; } /// - public List Tracks { get; private set; } + public List Tracks { get; private set; } /// - public List Sessions { get; private set; } + public List Sessions { get; private set; } /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/DiskCopy42/Constants.cs b/Aaru.Images/DiskCopy42/Constants.cs index ca564a85c..36169ad81 100644 --- a/Aaru.Images/DiskCopy42/Constants.cs +++ b/Aaru.Images/DiskCopy42/Constants.cs @@ -31,6 +31,7 @@ // ****************************************************************************/ // ReSharper disable InconsistentNaming + namespace Aaru.DiscImages { public sealed partial class DiskCopy42 diff --git a/Aaru.Images/DiskCopy42/DiskCopy42.cs b/Aaru.Images/DiskCopy42/DiskCopy42.cs index 709cd27c2..4d09c3768 100644 --- a/Aaru.Images/DiskCopy42/DiskCopy42.cs +++ b/Aaru.Images/DiskCopy42/DiskCopy42.cs @@ -40,9 +40,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { // Checked using several images and strings inside Apple's DiskImages.framework - /// - /// Implements reading and writing Apple DiskCopy 4.2 disk images - /// + /// Implements reading and writing Apple DiskCopy 4.2 disk images [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed partial class DiskCopy42 : IWritableImage, IVerifiableImage { diff --git a/Aaru.Images/DiskCopy42/Properties.cs b/Aaru.Images/DiskCopy42/Properties.cs index 040e0abeb..6d2595f5e 100644 --- a/Aaru.Images/DiskCopy42/Properties.cs +++ b/Aaru.Images/DiskCopy42/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class DiskCopy42 { /// - public ImageInfo Info => imageInfo; + public ImageInfo Info => imageInfo; /// - public string Name => "Apple DiskCopy 4.2"; + public string Name => "Apple DiskCopy 4.2"; /// - public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// - public string Format => "Apple DiskCopy 4.2"; + public string Format => "Apple DiskCopy 4.2"; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -80,7 +80,7 @@ namespace Aaru.DiscImages ".dc42", ".diskcopy42", ".image" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/DiskDupe/Constants.cs b/Aaru.Images/DiskDupe/Constants.cs index 60de4ed7c..409b82b9e 100644 --- a/Aaru.Images/DiskDupe/Constants.cs +++ b/Aaru.Images/DiskDupe/Constants.cs @@ -44,4 +44,4 @@ namespace Aaru.DiscImages 0x49, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; } -} +} \ No newline at end of file diff --git a/Aaru.Images/DiskDupe/DiskDupe.cs b/Aaru.Images/DiskDupe/DiskDupe.cs index 8b9874166..c02de9063 100644 --- a/Aaru.Images/DiskDupe/DiskDupe.cs +++ b/Aaru.Images/DiskDupe/DiskDupe.cs @@ -65,9 +65,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading DiskDupe disk images - /// + /// Implements reading DiskDupe disk images public sealed partial class DiskDupe : IMediaImage { /// The DDI file header after the image has been opened diff --git a/Aaru.Images/DiskDupe/Helpers.cs b/Aaru.Images/DiskDupe/Helpers.cs index b940aba78..dca597c5a 100644 --- a/Aaru.Images/DiskDupe/Helpers.cs +++ b/Aaru.Images/DiskDupe/Helpers.cs @@ -42,12 +42,12 @@ namespace Aaru.DiscImages { bool TryReadHeader(Stream stream, ref FileHeader fhdr, ref TrackInfo[] tmap, ref long[] toffsets) { - int numTracks; - int trackLen; // the length of a single track, in bytes + int numTracks; + int trackLen; // the length of a single track, in bytes TrackInfo[] trackMap; - byte[] buffer = new byte[6]; - FileHeader fHeader; - long[] trackOffsets; + byte[] buffer = new byte[6]; + FileHeader fHeader; + long[] trackOffsets; stream.Seek(0, SeekOrigin.Begin); @@ -57,35 +57,40 @@ namespace Aaru.DiscImages // read and check signature fHeader.signature = new byte[10]; stream.Read(fHeader.signature, 0, 10); - if (!fHeader.signature.SequenceEqual(_headerMagic)) + + if(!fHeader.signature.SequenceEqual(_headerMagic)) return false; // read and check disk type byte fHeader.diskType = (byte)stream.ReadByte(); - if (fHeader.diskType < 1 || fHeader.diskType > 4) + + if(fHeader.diskType < 1 || + fHeader.diskType > 4) return false; // seek to start of the trackmap stream.Seek(TRACKMAP_OFFSET, SeekOrigin.Begin); - numTracks = _diskTypes[fHeader.diskType].cyl * _diskTypes[fHeader.diskType].hd; - trackLen = 512 * _diskTypes[fHeader.diskType].spt; - trackMap = new TrackInfo[numTracks]; + numTracks = _diskTypes[fHeader.diskType].cyl * _diskTypes[fHeader.diskType].hd; + trackLen = 512 * _diskTypes[fHeader.diskType].spt; + trackMap = new TrackInfo[numTracks]; trackOffsets = new long[numTracks]; AaruConsole.DebugWriteLine("DiskDupe plugin", "Identified image with C/H/S = {0}/{1}/{2}", - _diskTypes[fHeader.diskType].cyl, _diskTypes[fHeader.diskType].hd, _diskTypes[fHeader.diskType].spt); + _diskTypes[fHeader.diskType].cyl, _diskTypes[fHeader.diskType].hd, + _diskTypes[fHeader.diskType].spt); // read the trackmap and store the track offsets - for (int i = 0; i < numTracks; i++) + for(int i = 0; i < numTracks; i++) { stream.Read(buffer, 0, 6); - trackMap[i] = Marshal.ByteArrayToStructureBigEndian(buffer); + trackMap[i] = Marshal.ByteArrayToStructureBigEndian(buffer); trackOffsets[i] = trackLen * trackMap[i].trackNumber; } - fhdr = fHeader; - tmap = trackMap; + fhdr = fHeader; + tmap = trackMap; toffsets = trackOffsets; + return true; } } diff --git a/Aaru.Images/DiskDupe/Identify.cs b/Aaru.Images/DiskDupe/Identify.cs index ccd1605b6..cc2d665b1 100644 --- a/Aaru.Images/DiskDupe/Identify.cs +++ b/Aaru.Images/DiskDupe/Identify.cs @@ -41,10 +41,10 @@ namespace Aaru.DiscImages /// public bool Identify(IFilter imageFilter) { - Stream stream = imageFilter.GetDataForkStream(); - FileHeader fHeader = new FileHeader(); - TrackInfo[] trackMap = null; - long[] trackOffsets = null; + Stream stream = imageFilter.GetDataForkStream(); + var fHeader = new FileHeader(); + TrackInfo[] trackMap = null; + long[] trackOffsets = null; // TODO: validate the tracks // For now, having a valid header should be sufficient. diff --git a/Aaru.Images/DiskDupe/Properties.cs b/Aaru.Images/DiskDupe/Properties.cs index 8249b437b..e90db9258 100644 --- a/Aaru.Images/DiskDupe/Properties.cs +++ b/Aaru.Images/DiskDupe/Properties.cs @@ -41,18 +41,18 @@ namespace Aaru.DiscImages public sealed partial class DiskDupe { /// - public string Name => "DiskDupe DDI Disk Image"; + public string Name => "DiskDupe DDI Disk Image"; /// - public Guid Id => new Guid("5439B4A2-5F38-33A7-B8DC-3910D296B3DD"); + public Guid Id => new Guid("5439B4A2-5F38-33A7-B8DC-3910D296B3DD"); /// - public string Author => "Michael Drüing"; + public string Author => "Michael Drüing"; /// - public string Format => "DDI disk image"; + public string Format => "DDI disk image"; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } -} +} \ No newline at end of file diff --git a/Aaru.Images/DiskDupe/Read.cs b/Aaru.Images/DiskDupe/Read.cs index 05d5c64e0..b1f5c4d05 100644 --- a/Aaru.Images/DiskDupe/Read.cs +++ b/Aaru.Images/DiskDupe/Read.cs @@ -46,11 +46,11 @@ namespace Aaru.DiscImages { Stream stream = imageFilter.GetDataForkStream(); - FileHeader fHeader = new FileHeader(); - TrackInfo[] trackMap = null; - long[] trackOffsets = null; + var fHeader = new FileHeader(); + TrackInfo[] trackMap = null; + long[] trackOffsets = null; - if (!TryReadHeader(stream, ref fHeader, ref trackMap, ref trackOffsets)) + if(!TryReadHeader(stream, ref fHeader, ref trackMap, ref trackOffsets)) { return false; } @@ -63,7 +63,7 @@ namespace Aaru.DiscImages _imageInfo.Heads = _diskTypes[fHeader.diskType].hd; _imageInfo.SectorsPerTrack = _diskTypes[fHeader.diskType].spt; _imageInfo.SectorSize = 512; // only 512 bytes per sector supported - _imageInfo.Sectors = _imageInfo.Heads * _imageInfo.Cylinders * _imageInfo.SectorsPerTrack; + _imageInfo.Sectors = _imageInfo.Heads * _imageInfo.Cylinders * _imageInfo.SectorsPerTrack; _imageInfo.ImageSize = _imageInfo.Sectors * _imageInfo.SectorSize; _imageInfo.XmlMediaType = XmlMediaType.BlockMedia; @@ -76,7 +76,6 @@ namespace Aaru.DiscImages (ushort)_imageInfo.SectorsPerTrack, 512, MediaEncoding.MFM, false)); - // save some variables for later use _fileHeader = fHeader; _ddiImageFilter = imageFilter; diff --git a/Aaru.Images/DiskDupe/Structs.cs b/Aaru.Images/DiskDupe/Structs.cs index a73d8fdd2..647e89236 100644 --- a/Aaru.Images/DiskDupe/Structs.cs +++ b/Aaru.Images/DiskDupe/Structs.cs @@ -40,28 +40,56 @@ namespace Aaru.DiscImages public sealed partial class DiskDupe { [SuppressMessage("ReSharper", "InconsistentNaming")] - struct DiskType { + struct DiskType + { public byte cyl; public byte hd; public byte spt; } - readonly DiskType[] _diskTypes = { - new DiskType { cyl = 0, hd = 0, spt = 0 }, // Type 0 - invalid - new DiskType { cyl = 40, hd = 2, spt = 9 }, // Type 1 - 360k - new DiskType { cyl = 80, hd = 2, spt = 15 }, // Type 2 - 1.2m - new DiskType { cyl = 80, hd = 2, spt = 9 }, // Type 3 - 720k - new DiskType { cyl = 80, hd = 2, spt = 18 } // Type 4 - 1.44m + readonly DiskType[] _diskTypes = + { + new DiskType + { + cyl = 0, + hd = 0, + spt = 0 + }, // Type 0 - invalid + new DiskType + { + cyl = 40, + hd = 2, + spt = 9 + }, // Type 1 - 360k + new DiskType + { + cyl = 80, + hd = 2, + spt = 15 + }, // Type 2 - 1.2m + new DiskType + { + cyl = 80, + hd = 2, + spt = 9 + }, // Type 3 - 720k + new DiskType + { + cyl = 80, + hd = 2, + spt = 18 + } // Type 4 - 1.44m }; [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct TrackInfo { - public byte present; // 1 = present, 0 = absent - public byte trackNumber; - public byte zero1; - public byte zero2; - public byte zero3; - public byte unknown; // always 1? + struct TrackInfo + { + public readonly byte present; // 1 = present, 0 = absent + public readonly byte trackNumber; + public readonly byte zero1; + public readonly byte zero2; + public readonly byte zero3; + public readonly byte unknown; // always 1? } /// The global header of a DDI image file @@ -76,4 +104,4 @@ namespace Aaru.DiscImages public byte diskType; } } -} +} \ No newline at end of file diff --git a/Aaru.Images/DiskDupe/Unsupported.cs b/Aaru.Images/DiskDupe/Unsupported.cs index 0e9ec0b73..e87dff207 100644 --- a/Aaru.Images/DiskDupe/Unsupported.cs +++ b/Aaru.Images/DiskDupe/Unsupported.cs @@ -58,4 +58,4 @@ namespace Aaru.DiscImages public byte[] ReadSectorsLong(ulong sectorAddress, uint length) => throw new FeatureUnsupportedImageException("Feature not supported by image format"); } -} +} \ No newline at end of file diff --git a/Aaru.Images/DriDiskCopy/DriDiskCopy.cs b/Aaru.Images/DriDiskCopy/DriDiskCopy.cs index 46dc61cc8..260cf1b3e 100644 --- a/Aaru.Images/DriDiskCopy/DriDiskCopy.cs +++ b/Aaru.Images/DriDiskCopy/DriDiskCopy.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing DR-DOS' DISKCOPY disk images - /// + /// Implements reading and writing DR-DOS' DISKCOPY disk images public sealed partial class DriDiskCopy : IWritableImage { /// Disk image file diff --git a/Aaru.Images/DriDiskCopy/Properties.cs b/Aaru.Images/DriDiskCopy/Properties.cs index ca9f3b650..4fffde27f 100644 --- a/Aaru.Images/DriDiskCopy/Properties.cs +++ b/Aaru.Images/DriDiskCopy/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Digital Research DiskCopy"; + public string Name => "Digital Research DiskCopy"; /// - public Guid Id => new Guid("9F0BE551-8BAB-4038-8B5A-691F1BF5FFF3"); + public Guid Id => new Guid("9F0BE551-8BAB-4038-8B5A-691F1BF5FFF3"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Digital Research DiskCopy"; + public string Format => "Digital Research DiskCopy"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -85,7 +85,7 @@ namespace Aaru.DiscImages ".dsk" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/GDI/GDI.cs b/Aaru.Images/GDI/GDI.cs index 990fcf0a8..75f4ca03f 100644 --- a/Aaru.Images/GDI/GDI.cs +++ b/Aaru.Images/GDI/GDI.cs @@ -42,9 +42,7 @@ namespace Aaru.DiscImages // TODO: There seems no be no clear definition on how to treat pregaps that are not included in the file, so this is just appending it to start of track // TODO: This format doesn't support to specify pregaps that are included in the file (like Redump ones) /// - /// - /// Implements reading Dreamcast GDI disc images - /// + /// Implements reading Dreamcast GDI disc images public sealed partial class Gdi : IOpticalMediaImage { ulong _densitySeparationSectors; diff --git a/Aaru.Images/GDI/Properties.cs b/Aaru.Images/GDI/Properties.cs index 64483de43..e8424560c 100644 --- a/Aaru.Images/GDI/Properties.cs +++ b/Aaru.Images/GDI/Properties.cs @@ -43,15 +43,15 @@ namespace Aaru.DiscImages public sealed partial class Gdi { /// - public string Name => "Dreamcast GDI image"; + public string Name => "Dreamcast GDI image"; /// - public Guid Id => new Guid("281ECBF2-D2A7-414C-8497-1A33F6DCB2DD"); + public Guid Id => new Guid("281ECBF2-D2A7-414C-8497-1A33F6DCB2DD"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Dreamcast GDI image"; + public string Format => "Dreamcast GDI image"; /// public List Partitions { get; private set; } @@ -92,10 +92,10 @@ namespace Aaru.DiscImages } /// - public List Sessions => _discImage.Sessions; + public List Sessions => _discImage.Sessions; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/HDCopy/HDCopy.cs b/Aaru.Images/HDCopy/HDCopy.cs index ca51205f2..16c192e93 100644 --- a/Aaru.Images/HDCopy/HDCopy.cs +++ b/Aaru.Images/HDCopy/HDCopy.cs @@ -73,9 +73,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading HD-Copy disk images - /// + /// Implements reading HD-Copy disk images public sealed partial class HdCopy : IMediaImage { /// Every track that has been read is cached here diff --git a/Aaru.Images/HDCopy/Helpers.cs b/Aaru.Images/HDCopy/Helpers.cs index 28c87c17a..f3c9ec526 100644 --- a/Aaru.Images/HDCopy/Helpers.cs +++ b/Aaru.Images/HDCopy/Helpers.cs @@ -53,7 +53,9 @@ namespace Aaru.DiscImages dataStartOffset = 2 + (2 * numTracks); fheader.lastCylinder = (byte)stream.ReadByte(); fheader.sectorsPerTrack = (byte)stream.ReadByte(); - if (fheader.lastCylinder == 0xff && fheader.sectorsPerTrack == 0x18) + + if(fheader.lastCylinder == 0xff && + fheader.sectorsPerTrack == 0x18) { /* This is an "extended" HD-Copy file with filename information and 84 tracks */ stream.Seek(0x0e, SeekOrigin.Begin); @@ -62,6 +64,7 @@ namespace Aaru.DiscImages numTracks = 84; dataStartOffset = 16 + (2 * numTracks); } + fheader.trackMap = new byte[2 * numTracks]; stream.Read(fheader.trackMap, 0, 2 * numTracks); @@ -89,6 +92,7 @@ namespace Aaru.DiscImages /* return success */ fhdr = fheader; + return true; } diff --git a/Aaru.Images/HDCopy/Identify.cs b/Aaru.Images/HDCopy/Identify.cs index add6e2bc2..00801ae00 100644 --- a/Aaru.Images/HDCopy/Identify.cs +++ b/Aaru.Images/HDCopy/Identify.cs @@ -41,9 +41,9 @@ namespace Aaru.DiscImages /// public bool Identify(IFilter imageFilter) { - Stream stream = imageFilter.GetDataForkStream(); - FileHeader fHeader = new FileHeader(); - long dataStartOffset = 0; + Stream stream = imageFilter.GetDataForkStream(); + var fHeader = new FileHeader(); + long dataStartOffset = 0; // TODO: validate the tracks // For now, having a valid header should be sufficient. diff --git a/Aaru.Images/HDCopy/Properties.cs b/Aaru.Images/HDCopy/Properties.cs index 68379b65d..769eedd4d 100644 --- a/Aaru.Images/HDCopy/Properties.cs +++ b/Aaru.Images/HDCopy/Properties.cs @@ -44,16 +44,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "HD-Copy disk image"; + public string Name => "HD-Copy disk image"; /// - public Guid Id => new Guid("8D57483F-71A5-42EC-9B87-66AEC439C792"); + public Guid Id => new Guid("8D57483F-71A5-42EC-9B87-66AEC439C792"); /// - public string Author => "Michael Drüing"; + public string Author => "Michael Drüing"; /// - public string Format => "HD-Copy image"; + public string Format => "HD-Copy image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/HDCopy/Read.cs b/Aaru.Images/HDCopy/Read.cs index 512665271..d5ef94554 100644 --- a/Aaru.Images/HDCopy/Read.cs +++ b/Aaru.Images/HDCopy/Read.cs @@ -47,12 +47,12 @@ namespace Aaru.DiscImages { Stream stream = imageFilter.GetDataForkStream(); - FileHeader fheader = new FileHeader(); + var fheader = new FileHeader(); // the start offset of the track data long currentOffset = 0; - if (!TryReadHeader(stream, ref fheader, ref currentOffset)) + if(!TryReadHeader(stream, ref fheader, ref currentOffset)) { return false; } diff --git a/Aaru.Images/IMD/IMD.cs b/Aaru.Images/IMD/IMD.cs index 935f9545e..98c2108ef 100644 --- a/Aaru.Images/IMD/IMD.cs +++ b/Aaru.Images/IMD/IMD.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading IMageDisk disk images - /// + /// Implements reading IMageDisk disk images public sealed partial class Imd : IMediaImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/IMD/Properties.cs b/Aaru.Images/IMD/Properties.cs index 6580acb63..0a702a3e9 100644 --- a/Aaru.Images/IMD/Properties.cs +++ b/Aaru.Images/IMD/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class Imd { /// - public string Name => "Dunfield's IMD"; + public string Name => "Dunfield's IMD"; /// - public Guid Id => new Guid("0D67162E-38A3-407D-9B1A-CF40080A48CB"); + public Guid Id => new Guid("0D67162E-38A3-407D-9B1A-CF40080A48CB"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "IMageDisk"; + public string Format => "IMageDisk"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/KryoFlux/Constants.cs b/Aaru.Images/KryoFlux/Constants.cs index bb98d3f2d..64b913a61 100644 --- a/Aaru.Images/KryoFlux/Constants.cs +++ b/Aaru.Images/KryoFlux/Constants.cs @@ -43,8 +43,8 @@ namespace Aaru.DiscImages const string KF_VERSION = "version"; const string KF_DATE = "date"; const string KF_TIME = "time"; - const string KF_HW_ID = "hwid"; - const string KF_HW_RV = "hwrv"; + const string KF_HW_ID = "hwid"; + const string KF_HW_RV = "hwrv"; const string KF_SCK = "sck"; const string KF_ICK = "ick"; } diff --git a/Aaru.Images/KryoFlux/KryoFlux.cs b/Aaru.Images/KryoFlux/KryoFlux.cs index 3c6fc0c07..711a83ab7 100644 --- a/Aaru.Images/KryoFlux/KryoFlux.cs +++ b/Aaru.Images/KryoFlux/KryoFlux.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading KryoFlux flux images - /// + /// Implements reading KryoFlux flux images [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed partial class KryoFlux : IMediaImage, IVerifiableSectorsImage { diff --git a/Aaru.Images/KryoFlux/Properties.cs b/Aaru.Images/KryoFlux/Properties.cs index c3a4e0ae9..169c95059 100644 --- a/Aaru.Images/KryoFlux/Properties.cs +++ b/Aaru.Images/KryoFlux/Properties.cs @@ -39,20 +39,20 @@ namespace Aaru.DiscImages { public sealed partial class KryoFlux { - ImageInfo _imageInfo; + ImageInfo _imageInfo; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Name => "KryoFlux STREAM"; + public string Name => "KryoFlux STREAM"; /// - public Guid Id => new Guid("4DBC95E4-93EE-4F7A-9492-919887E60EFE"); + public Guid Id => new Guid("4DBC95E4-93EE-4F7A-9492-919887E60EFE"); /// - public string Format => "KryoFlux STREAM"; + public string Format => "KryoFlux STREAM"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/MaxiDisk/MaxiDisk.cs b/Aaru.Images/MaxiDisk/MaxiDisk.cs index 114c2ad99..513526756 100644 --- a/Aaru.Images/MaxiDisk/MaxiDisk.cs +++ b/Aaru.Images/MaxiDisk/MaxiDisk.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing MaxiDisk disk images - /// + /// Implements reading and writing MaxiDisk disk images public sealed partial class MaxiDisk : IWritableImage { /// Disk image file diff --git a/Aaru.Images/MaxiDisk/Properties.cs b/Aaru.Images/MaxiDisk/Properties.cs index e7660c292..8234f5dd5 100644 --- a/Aaru.Images/MaxiDisk/Properties.cs +++ b/Aaru.Images/MaxiDisk/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class MaxiDisk { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Name => "MAXI Disk image"; + public string Name => "MAXI Disk image"; /// - public Guid Id => new Guid("D27D924A-7034-466E-ADE1-B81EF37E469E"); + public Guid Id => new Guid("D27D924A-7034-466E-ADE1-B81EF37E469E"); /// - public string Format => "MAXI Disk"; + public string Format => "MAXI Disk"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -83,7 +83,7 @@ namespace Aaru.DiscImages ".hdk" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/NDIF/NDIF.cs b/Aaru.Images/NDIF/NDIF.cs index a7e76692e..628e41f54 100644 --- a/Aaru.Images/NDIF/NDIF.cs +++ b/Aaru.Images/NDIF/NDIF.cs @@ -43,9 +43,7 @@ namespace Aaru.DiscImages // TODO: Implement segments // TODO: Implement compression /// - /// - /// Implements reading Apple New Disk Image Format disk images - /// + /// Implements reading Apple New Disk Image Format disk images public sealed partial class Ndif : IMediaImage { uint _bufferSize; diff --git a/Aaru.Images/NDIF/Properties.cs b/Aaru.Images/NDIF/Properties.cs index e76f01a44..7952a9de9 100644 --- a/Aaru.Images/NDIF/Properties.cs +++ b/Aaru.Images/NDIF/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class Ndif { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Apple New Disk Image Format"; + public string Name => "Apple New Disk Image Format"; /// - public Guid Id => new Guid("5A7FF7D8-491E-458D-8674-5B5EADBECC24"); + public Guid Id => new Guid("5A7FF7D8-491E-458D-8674-5B5EADBECC24"); /// - public string Format => "Apple New Disk Image Format"; + public string Format => "Apple New Disk Image Format"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/NHDr0/NHDr0.cs b/Aaru.Images/NHDr0/NHDr0.cs index ee442950b..1dbe3d20b 100644 --- a/Aaru.Images/NHDr0/NHDr0.cs +++ b/Aaru.Images/NHDr0/NHDr0.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // Info from http://www.geocities.jp/t98next/nhdr0.txt /// - /// - /// Implements reading and writing T98-Next disk images - /// + /// Implements reading and writing T98-Next disk images public sealed partial class Nhdr0 : IWritableImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/NHDr0/Properties.cs b/Aaru.Images/NHDr0/Properties.cs index 401767f33..11382e193 100644 --- a/Aaru.Images/NHDr0/Properties.cs +++ b/Aaru.Images/NHDr0/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class Nhdr0 { /// - public string Name => "T98-Next NHD r0 Disk Image"; + public string Name => "T98-Next NHD r0 Disk Image"; /// - public Guid Id => new Guid("6ECACD0A-8F4D-4465-8815-AEA000D370E3"); + public Guid Id => new Guid("6ECACD0A-8F4D-4465-8815-AEA000D370E3"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "NHDr0 disk image"; + public string Format => "NHDr0 disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -78,7 +78,7 @@ namespace Aaru.DiscImages ".nhd" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/Nero/Nero.cs b/Aaru.Images/Nero/Nero.cs index b8d89581d..db339dfc9 100644 --- a/Aaru.Images/Nero/Nero.cs +++ b/Aaru.Images/Nero/Nero.cs @@ -45,9 +45,7 @@ using Aaru.Decoders.CD; namespace Aaru.DiscImages { /// - /// - /// Implements reading Nero Burning ROM disc images - /// + /// Implements reading Nero Burning ROM disc images [SuppressMessage("ReSharper", "NotAccessedField.Local"), SuppressMessage("ReSharper", "CollectionNeverQueried.Local")] public sealed partial class Nero : IOpticalMediaImage diff --git a/Aaru.Images/Nero/Properties.cs b/Aaru.Images/Nero/Properties.cs index 4a66fab0c..586f21260 100644 --- a/Aaru.Images/Nero/Properties.cs +++ b/Aaru.Images/Nero/Properties.cs @@ -41,24 +41,24 @@ namespace Aaru.DiscImages public sealed partial class Nero { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Nero Burning ROM image"; + public string Name => "Nero Burning ROM image"; /// - public Guid Id => new Guid("D160F9FF-5941-43FC-B037-AD81DD141F05"); + public Guid Id => new Guid("D160F9FF-5941-43FC-B037-AD81DD141F05"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Nero Burning ROM"; + public string Format => "Nero Burning ROM"; /// - public List Partitions { get; } + public List Partitions { get; } /// - public List Tracks { get; private set; } + public List Tracks { get; private set; } /// - public List Sessions { get; } + public List Sessions { get; } /// - public List DumpHardware => null; + public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/Parallels/Parallels.cs b/Aaru.Images/Parallels/Parallels.cs index 175659632..8de6d9ecd 100644 --- a/Aaru.Images/Parallels/Parallels.cs +++ b/Aaru.Images/Parallels/Parallels.cs @@ -41,9 +41,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing Parallels' disk images - /// + /// Implements reading and writing Parallels' disk images public sealed partial class Parallels : IWritableImage { uint[] _bat; diff --git a/Aaru.Images/Parallels/Properties.cs b/Aaru.Images/Parallels/Properties.cs index ca7318f51..70984ebf0 100644 --- a/Aaru.Images/Parallels/Properties.cs +++ b/Aaru.Images/Parallels/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class Parallels { /// - public string Name => "Parallels disk image"; + public string Name => "Parallels disk image"; /// - public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Parallels"; + public string Format => "Parallels"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -80,7 +80,7 @@ namespace Aaru.DiscImages ".hdd" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/PartClone/PartClone.cs b/Aaru.Images/PartClone/PartClone.cs index 784ab472f..9b8b46512 100644 --- a/Aaru.Images/PartClone/PartClone.cs +++ b/Aaru.Images/PartClone/PartClone.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading partclone disk images - /// + /// Implements reading partclone disk images public sealed partial class PartClone : IMediaImage, IVerifiableImage { // The used block "bitmap" uses one byte per block diff --git a/Aaru.Images/PartClone/Properties.cs b/Aaru.Images/PartClone/Properties.cs index 7c1b7a5f2..a55c9d420 100644 --- a/Aaru.Images/PartClone/Properties.cs +++ b/Aaru.Images/PartClone/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class PartClone { /// - public string Name => "PartClone disk image"; + public string Name => "PartClone disk image"; /// - public Guid Id => new Guid("AB1D7518-B548-4099-A4E2-C29C53DDE0C3"); + public Guid Id => new Guid("AB1D7518-B548-4099-A4E2-C29C53DDE0C3"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "PartClone"; + public string Format => "PartClone"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/Partimage/Partimage.cs b/Aaru.Images/Partimage/Partimage.cs index 6416e278b..d1012a357 100644 --- a/Aaru.Images/Partimage/Partimage.cs +++ b/Aaru.Images/Partimage/Partimage.cs @@ -41,9 +41,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading partimage disk images - /// + /// Implements reading partimage disk images public sealed partial class Partimage : IMediaImage, IVerifiableImage { byte[] _bitmap; diff --git a/Aaru.Images/Partimage/Properties.cs b/Aaru.Images/Partimage/Properties.cs index f18aefe2b..b2d6b5b9c 100644 --- a/Aaru.Images/Partimage/Properties.cs +++ b/Aaru.Images/Partimage/Properties.cs @@ -43,16 +43,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Partimage disk image"; + public string Name => "Partimage disk image"; /// - public Guid Id => new Guid("AAFDB99D-2B77-49EA-831C-C9BB58C68C95"); + public Guid Id => new Guid("AAFDB99D-2B77-49EA-831C-C9BB58C68C95"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Partimage"; + public string Format => "Partimage"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/QCOW/Properties.cs b/Aaru.Images/QCOW/Properties.cs index 6ac0b90e6..28b76486f 100644 --- a/Aaru.Images/QCOW/Properties.cs +++ b/Aaru.Images/QCOW/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Copy-On-Write disk image"; + public string Name => "QEMU Copy-On-Write disk image"; /// - public Guid Id => new Guid("A5C35765-9FE2-469D-BBBF-ACDEBDB7B954"); + public Guid Id => new Guid("A5C35765-9FE2-469D-BBBF-ACDEBDB7B954"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "QEMU Copy-On-Write"; + public string Format => "QEMU Copy-On-Write"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -79,7 +79,7 @@ namespace Aaru.DiscImages ".qcow", ".qc" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/QCOW/QCOW.cs b/Aaru.Images/QCOW/QCOW.cs index 1abde7add..76f539384 100644 --- a/Aaru.Images/QCOW/QCOW.cs +++ b/Aaru.Images/QCOW/QCOW.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing QEMU's Copy On Write disk images - /// + /// Implements reading and writing QEMU's Copy On Write disk images public sealed partial class Qcow : IWritableImage { Dictionary _clusterCache; diff --git a/Aaru.Images/QCOW2/Properties.cs b/Aaru.Images/QCOW2/Properties.cs index da43df0c0..05ff5f110 100644 --- a/Aaru.Images/QCOW2/Properties.cs +++ b/Aaru.Images/QCOW2/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Copy-On-Write disk image v2"; + public string Name => "QEMU Copy-On-Write disk image v2"; /// - public Guid Id => new Guid("F20107CB-95B3-4398-894B-975261F1E8C5"); + public Guid Id => new Guid("F20107CB-95B3-4398-894B-975261F1E8C5"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "QEMU Copy-On-Write"; + public string Format => "QEMU Copy-On-Write"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -79,7 +79,7 @@ namespace Aaru.DiscImages ".qcow2", ".qc2", ".qcow3", ".qc3" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/QCOW2/QCOW2.cs b/Aaru.Images/QCOW2/QCOW2.cs index d56ad68bc..44cef0590 100644 --- a/Aaru.Images/QCOW2/QCOW2.cs +++ b/Aaru.Images/QCOW2/QCOW2.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing QEMU's Copy On Write v2 and v3 disk images - /// + /// Implements reading and writing QEMU's Copy On Write v2 and v3 disk images public sealed partial class Qcow2 : IWritableImage { Dictionary _clusterCache; diff --git a/Aaru.Images/QED/Properties.cs b/Aaru.Images/QED/Properties.cs index 7b6012266..e9b785e87 100644 --- a/Aaru.Images/QED/Properties.cs +++ b/Aaru.Images/QED/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Enhanced Disk image"; + public string Name => "QEMU Enhanced Disk image"; /// - public Guid Id => new Guid("B9DBB155-A69A-4C10-BF91-96BF431B9BB6"); + public Guid Id => new Guid("B9DBB155-A69A-4C10-BF91-96BF431B9BB6"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "QEMU Enhanced Disk"; + public string Format => "QEMU Enhanced Disk"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] @@ -82,7 +82,7 @@ namespace Aaru.DiscImages ".qed" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/QED/QED.cs b/Aaru.Images/QED/QED.cs index f37362c16..b8b1994cb 100644 --- a/Aaru.Images/QED/QED.cs +++ b/Aaru.Images/QED/QED.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing QEMU Enhanced Disk images - /// + /// Implements reading and writing QEMU Enhanced Disk images public sealed partial class Qed : IWritableImage { int _clusterBits; diff --git a/Aaru.Images/RayDIM/Properties.cs b/Aaru.Images/RayDIM/Properties.cs index 8e508a5be..48f22227c 100644 --- a/Aaru.Images/RayDIM/Properties.cs +++ b/Aaru.Images/RayDIM/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class RayDim { /// - public string Name => "Ray Arachelian's Disk IMage"; + public string Name => "Ray Arachelian's Disk IMage"; /// - public Guid Id => new Guid("F541F4E7-C1E3-4A2D-B07F-D863E87AB961"); + public Guid Id => new Guid("F541F4E7-C1E3-4A2D-B07F-D863E87AB961"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Ray Arachelian's Disk IMage"; + public string Format => "Ray Arachelian's Disk IMage"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -83,7 +83,7 @@ namespace Aaru.DiscImages ".dim" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/RayDIM/RayDIM.cs b/Aaru.Images/RayDIM/RayDIM.cs index 08e439f3d..459be3f5b 100644 --- a/Aaru.Images/RayDIM/RayDIM.cs +++ b/Aaru.Images/RayDIM/RayDIM.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing Ray Arachellian's DIM disk images - /// + /// Implements reading and writing Ray Arachellian's DIM disk images public sealed partial class RayDim : IWritableImage { MemoryStream _disk; diff --git a/Aaru.Images/Register.cs b/Aaru.Images/Register.cs index 37d7bcfd2..96d98a579 100644 --- a/Aaru.Images/Register.cs +++ b/Aaru.Images/Register.cs @@ -77,9 +77,9 @@ namespace Aaru.DiscImages /// public List GetAllWritableFloppyImagePlugins() => Assembly.GetExecutingAssembly().GetTypes(). Where(t => t.GetInterfaces(). - Contains(typeof(IWritableFloppyImage - ))).Where(t => t.IsClass). - ToList(); + Contains(typeof( + IWritableFloppyImage))). + Where(t => t.IsClass).ToList(); /// public List GetAllWritableImagePlugins() => Assembly.GetExecutingAssembly().GetTypes(). @@ -90,4 +90,4 @@ namespace Aaru.DiscImages /// public List GetAllArchivePlugins() => null; } -} +} \ No newline at end of file diff --git a/Aaru.Images/RsIde/Properties.cs b/Aaru.Images/RsIde/Properties.cs index 54d52470b..214d62370 100644 --- a/Aaru.Images/RsIde/Properties.cs +++ b/Aaru.Images/RsIde/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class RsIde { /// - public string Name => "RS-IDE Hard Disk Image"; + public string Name => "RS-IDE Hard Disk Image"; /// - public Guid Id => new Guid("47C3E78D-2BE2-4BA5-AA6B-FEE27C86FC65"); + public Guid Id => new Guid("47C3E78D-2BE2-4BA5-AA6B-FEE27C86FC65"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "RS-IDE disk image"; + public string Format => "RS-IDE disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new[] { @@ -80,7 +80,7 @@ namespace Aaru.DiscImages ".ide" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/RsIde/RsIde.cs b/Aaru.Images/RsIde/RsIde.cs index a1a0872df..31ba19286 100644 --- a/Aaru.Images/RsIde/RsIde.cs +++ b/Aaru.Images/RsIde/RsIde.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing RS-IDE disk images - /// + /// Implements reading and writing RS-IDE disk images public sealed partial class RsIde : IWritableImage { ushort _dataOff; diff --git a/Aaru.Images/SaveDskF/Properties.cs b/Aaru.Images/SaveDskF/Properties.cs index 5c73d70c3..02e0f912f 100644 --- a/Aaru.Images/SaveDskF/Properties.cs +++ b/Aaru.Images/SaveDskF/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class SaveDskF { /// - public string Name => "IBM SaveDskF"; + public string Name => "IBM SaveDskF"; /// - public Guid Id => new Guid("288CE058-1A51-4034-8C45-5A256CAE1461"); + public Guid Id => new Guid("288CE058-1A51-4034-8C45-5A256CAE1461"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "IBM SaveDskF"; + public string Format => "IBM SaveDskF"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -85,7 +85,7 @@ namespace Aaru.DiscImages }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/SaveDskF/SaveDskF.cs b/Aaru.Images/SaveDskF/SaveDskF.cs index 678fa39a6..a0183c156 100644 --- a/Aaru.Images/SaveDskF/SaveDskF.cs +++ b/Aaru.Images/SaveDskF/SaveDskF.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading and writing IBM's SaveDskF disk images - /// + /// Implements reading and writing IBM's SaveDskF disk images public sealed partial class SaveDskF : IWritableImage, IVerifiableImage { uint _calculatedChk; diff --git a/Aaru.Images/SuperCardPro/Properties.cs b/Aaru.Images/SuperCardPro/Properties.cs index dae6dd3c7..1b73eae19 100644 --- a/Aaru.Images/SuperCardPro/Properties.cs +++ b/Aaru.Images/SuperCardPro/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class SuperCardPro { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "SuperCardPro"; + public string Name => "SuperCardPro"; /// - public Guid Id => new Guid("C5D3182E-1D45-4767-A205-E6E5C83444DC"); + public Guid Id => new Guid("C5D3182E-1D45-4767-A205-E6E5C83444DC"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "SuperCardPro"; + public string Format => "SuperCardPro"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/SuperCardPro/SuperCardPro.cs b/Aaru.Images/SuperCardPro/SuperCardPro.cs index 64f43551b..af5d2cddc 100644 --- a/Aaru.Images/SuperCardPro/SuperCardPro.cs +++ b/Aaru.Images/SuperCardPro/SuperCardPro.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { - /// - /// Implements reading SuperCardPro flux images - /// + /// Implements reading SuperCardPro flux images public sealed partial class SuperCardPro : IMediaImage, IVerifiableImage, IVerifiableSectorsImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/T98/Properties.cs b/Aaru.Images/T98/Properties.cs index adad0ccc5..205c57643 100644 --- a/Aaru.Images/T98/Properties.cs +++ b/Aaru.Images/T98/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class T98 { /// - public string Name => "T98 Hard Disk Image"; + public string Name => "T98 Hard Disk Image"; /// - public Guid Id => new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); + public Guid Id => new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "T98 disk image"; + public string Format => "T98 disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -78,7 +78,7 @@ namespace Aaru.DiscImages ".t98" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/T98/T98.cs b/Aaru.Images/T98/T98.cs index b44819787..4235d9986 100644 --- a/Aaru.Images/T98/T98.cs +++ b/Aaru.Images/T98/T98.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing T98 disk images - /// + /// Implements reading and writing T98 disk images public sealed partial class T98 : IWritableImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/TeleDisk/Constants.cs b/Aaru.Images/TeleDisk/Constants.cs index dac8918b7..53e5795c7 100644 --- a/Aaru.Images/TeleDisk/Constants.cs +++ b/Aaru.Images/TeleDisk/Constants.cs @@ -72,11 +72,13 @@ namespace Aaru.DiscImages const byte SECTOR_SIZE_128 = 0x00; const byte SECTOR_SIZE_256 = 0x01; const byte SECTOR_SIZE_512 = 0x02; + // ReSharper disable InconsistentNaming - const byte SECTOR_SIZE_1K = 0x03; - const byte SECTOR_SIZE_2K = 0x04; - const byte SECTOR_SIZE_4K = 0x05; - const byte SECTOR_SIZE_8K = 0x06; + const byte SECTOR_SIZE_1K = 0x03; + const byte SECTOR_SIZE_2K = 0x04; + const byte SECTOR_SIZE_4K = 0x05; + const byte SECTOR_SIZE_8K = 0x06; + // ReSharper restore InconsistentNaming // Flags diff --git a/Aaru.Images/TeleDisk/Properties.cs b/Aaru.Images/TeleDisk/Properties.cs index b8a89a640..7666406f6 100644 --- a/Aaru.Images/TeleDisk/Properties.cs +++ b/Aaru.Images/TeleDisk/Properties.cs @@ -43,16 +43,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Sydex TeleDisk"; + public string Name => "Sydex TeleDisk"; /// - public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + public Guid Id => new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Sydex TeleDisk"; + public string Format => "Sydex TeleDisk"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/TeleDisk/TeleDisk.cs b/Aaru.Images/TeleDisk/TeleDisk.cs index 219981471..e7cee2c4b 100644 --- a/Aaru.Images/TeleDisk/TeleDisk.cs +++ b/Aaru.Images/TeleDisk/TeleDisk.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // Created following notes from Dave Dunfield // http://www.classiccmp.org/dunfield/img54306/td0notes.txt - /// - /// Implements reading of Sydex TeleDisk disk images - /// + /// Implements reading of Sydex TeleDisk disk images public sealed partial class TeleDisk : IMediaImage, IVerifiableImage, IVerifiableSectorsImage { readonly List _sectorsWhereCrcHasFailed; diff --git a/Aaru.Images/UDIF/Properties.cs b/Aaru.Images/UDIF/Properties.cs index bd71fef04..330cb789e 100644 --- a/Aaru.Images/UDIF/Properties.cs +++ b/Aaru.Images/UDIF/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Apple Universal Disk Image Format"; + public string Name => "Apple Universal Disk Image Format"; /// - public Guid Id => new Guid("5BEB9002-CF3D-429C-8E06-9A96F49203FF"); + public Guid Id => new Guid("5BEB9002-CF3D-429C-8E06-9A96F49203FF"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Apple Universal Disk Image Format"; + public string Format => "Apple Universal Disk Image Format"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -79,7 +79,7 @@ namespace Aaru.DiscImages ".dmg" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/UDIF/Read.cs b/Aaru.Images/UDIF/Read.cs index 8bb2f6665..4ecd3659d 100644 --- a/Aaru.Images/UDIF/Read.cs +++ b/Aaru.Images/UDIF/Read.cs @@ -294,7 +294,7 @@ namespace Aaru.DiscImages foreach(byte[] blkxBytes in blkxList) { - byte[] bHdrB = new byte[Marshal.SizeOf()]; + byte[] bHdrB = new byte[Marshal.SizeOf()]; Array.Copy(blkxBytes, 0, bHdrB, 0, Marshal.SizeOf()); BlockHeader bHdr = Marshal.ByteArrayToStructureBigEndian(bHdrB); @@ -324,7 +324,7 @@ namespace Aaru.DiscImages for(int i = 0; i < bHdr.chunks; i++) { - byte[] bChnkB = new byte[Marshal.SizeOf()]; + byte[] bChnkB = new byte[Marshal.SizeOf()]; Array.Copy(blkxBytes, Marshal.SizeOf() + (Marshal.SizeOf() * i), bChnkB, 0, Marshal.SizeOf()); diff --git a/Aaru.Images/UDIF/UDIF.cs b/Aaru.Images/UDIF/UDIF.cs index bba3e0460..eb8e0fe0d 100644 --- a/Aaru.Images/UDIF/UDIF.cs +++ b/Aaru.Images/UDIF/UDIF.cs @@ -42,9 +42,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing Apple's Universal Disk Image Format disk images - /// + /// Implements reading and writing Apple's Universal Disk Image Format disk images public sealed partial class Udif : IWritableImage { uint _buffersize; diff --git a/Aaru.Images/UkvFdi/Properties.cs b/Aaru.Images/UkvFdi/Properties.cs index 601f6a672..e13f38b52 100644 --- a/Aaru.Images/UkvFdi/Properties.cs +++ b/Aaru.Images/UkvFdi/Properties.cs @@ -40,18 +40,18 @@ namespace Aaru.DiscImages public sealed partial class UkvFdi { /// - public string Name => "Spectrum Floppy Disk Image"; + public string Name => "Spectrum Floppy Disk Image"; /// - public Guid Id => new Guid("DADFC9B2-67C1-42A3-B124-825528163FC0"); + public Guid Id => new Guid("DADFC9B2-67C1-42A3-B124-825528163FC0"); /// - public string Format => "Spectrum floppy disk image"; + public string Format => "Spectrum floppy disk image"; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/UkvFdi/UkvFdi.cs b/Aaru.Images/UkvFdi/UkvFdi.cs index 4ca054bde..a4bd1107a 100644 --- a/Aaru.Images/UkvFdi/UkvFdi.cs +++ b/Aaru.Images/UkvFdi/UkvFdi.cs @@ -38,9 +38,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading UKV FDI disk images - /// + /// Implements reading UKV FDI disk images public sealed partial class UkvFdi : IMediaImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/VDI/Properties.cs b/Aaru.Images/VDI/Properties.cs index 1931314a2..4989d7720 100644 --- a/Aaru.Images/VDI/Properties.cs +++ b/Aaru.Images/VDI/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "VirtualBox Disk Image"; + public string Name => "VirtualBox Disk Image"; /// - public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "VDI"; + public string Format => "VDI"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -81,7 +81,7 @@ namespace Aaru.DiscImages ".vdi" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/VDI/VDI.cs b/Aaru.Images/VDI/VDI.cs index 1f6391942..55d9072e2 100644 --- a/Aaru.Images/VDI/VDI.cs +++ b/Aaru.Images/VDI/VDI.cs @@ -41,9 +41,7 @@ namespace Aaru.DiscImages // TODO: Support version 0 // TODO: Support fixed images /// - /// - /// Implements reading and writing VirtualBox disk images - /// + /// Implements reading and writing VirtualBox disk images public sealed partial class Vdi : IWritableImage { ulong _currentWritingPosition; diff --git a/Aaru.Images/VHD/Properties.cs b/Aaru.Images/VHD/Properties.cs index 14d6c06b1..5dcd339e7 100644 --- a/Aaru.Images/VHD/Properties.cs +++ b/Aaru.Images/VHD/Properties.cs @@ -45,9 +45,9 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "VirtualPC"; + public string Name => "VirtualPC"; /// - public Guid Id => new Guid("8014d88f-64cd-4484-9441-7635c632958a"); + public Guid Id => new Guid("8014d88f-64cd-4484-9441-7635c632958a"); /// public string Author => "Natalia Portillo"; @@ -69,7 +69,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -95,7 +95,7 @@ namespace Aaru.DiscImages ".vhd" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/VHD/VHD.cs b/Aaru.Images/VHD/VHD.cs index 3ca1f916d..ae926278b 100644 --- a/Aaru.Images/VHD/VHD.cs +++ b/Aaru.Images/VHD/VHD.cs @@ -41,9 +41,9 @@ namespace Aaru.DiscImages { /// /// - /// Supports Connectix/Microsoft Virtual PC hard disk image format. - /// Until Virtual PC 5 there existed no format, and the hard disk image was merely a sector by sector (RAW) - /// image with a resource fork giving information to Virtual PC itself. + /// Supports Connectix/Microsoft Virtual PC hard disk image format. Until Virtual PC 5 there existed no format, + /// and the hard disk image was merely a sector by sector (RAW) image with a resource fork giving information to + /// Virtual PC itself. /// public sealed partial class Vhd : IWritableImage { diff --git a/Aaru.Images/VHDX/Properties.cs b/Aaru.Images/VHDX/Properties.cs index 39a54964e..3af59c727 100644 --- a/Aaru.Images/VHDX/Properties.cs +++ b/Aaru.Images/VHDX/Properties.cs @@ -43,16 +43,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "Microsoft VHDX"; + public string Name => "Microsoft VHDX"; /// - public Guid Id => new Guid("536B141B-D09C-4799-AB70-34631286EB9D"); + public Guid Id => new Guid("536B141B-D09C-4799-AB70-34631286EB9D"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "VHDX"; + public string Format => "VHDX"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/VHDX/VHDX.cs b/Aaru.Images/VHDX/VHDX.cs index 082dfb622..fd4383ba2 100644 --- a/Aaru.Images/VHDX/VHDX.cs +++ b/Aaru.Images/VHDX/VHDX.cs @@ -42,9 +42,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading Hyper-V disk images - /// + /// Implements reading Hyper-V disk images public sealed partial class Vhdx : IMediaImage { long _batOffset; diff --git a/Aaru.Images/VMware/Properties.cs b/Aaru.Images/VMware/Properties.cs index 104902a6b..e4ffe55a2 100644 --- a/Aaru.Images/VMware/Properties.cs +++ b/Aaru.Images/VMware/Properties.cs @@ -45,17 +45,17 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "VMware disk image"; + public string Name => "VMware disk image"; /// - public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + public Guid Id => new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "VMware"; + public string Format => "VMware"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -84,7 +84,7 @@ namespace Aaru.DiscImages ".vmdk" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/VMware/VMware.cs b/Aaru.Images/VMware/VMware.cs index e556b98fa..2d3e89fe3 100644 --- a/Aaru.Images/VMware/VMware.cs +++ b/Aaru.Images/VMware/VMware.cs @@ -39,9 +39,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading VMware disk images - /// + /// Implements reading VMware disk images public sealed partial class VMware : IWritableImage { string _adapterType; diff --git a/Aaru.Images/Virtual98/Properties.cs b/Aaru.Images/Virtual98/Properties.cs index 7fe9dfd80..1b6f9e740 100644 --- a/Aaru.Images/Virtual98/Properties.cs +++ b/Aaru.Images/Virtual98/Properties.cs @@ -42,19 +42,19 @@ namespace Aaru.DiscImages public sealed partial class Virtual98 { /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Name => "Virtual98 Disk Image"; + public string Name => "Virtual98 Disk Image"; /// - public Guid Id => new Guid("C0CDE13D-04D0-4913-8740-AFAA44D0A107"); + public Guid Id => new Guid("C0CDE13D-04D0-4913-8740-AFAA44D0A107"); /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Virtual98 disk image"; + public string Format => "Virtual98 disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; /// public IEnumerable SupportedMediaTags => new MediaTagType[] {}; @@ -78,7 +78,7 @@ namespace Aaru.DiscImages ".v98" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/Virtual98/Virtual98.cs b/Aaru.Images/Virtual98/Virtual98.cs index e87b1009a..6cbc48228 100644 --- a/Aaru.Images/Virtual98/Virtual98.cs +++ b/Aaru.Images/Virtual98/Virtual98.cs @@ -40,9 +40,7 @@ namespace Aaru.DiscImages { // Info from Neko Project II emulator /// - /// - /// Implements reading Virtual98 disk images - /// + /// Implements reading Virtual98 disk images public sealed partial class Virtual98 : IWritableImage { ImageInfo _imageInfo; diff --git a/Aaru.Images/WCDiskImage/Properties.cs b/Aaru.Images/WCDiskImage/Properties.cs index 55f266e88..225d7a50c 100644 --- a/Aaru.Images/WCDiskImage/Properties.cs +++ b/Aaru.Images/WCDiskImage/Properties.cs @@ -44,16 +44,16 @@ namespace Aaru.DiscImages public ImageInfo Info => _imageInfo; /// - public string Name => "d2f disk image"; + public string Name => "d2f disk image"; /// - public Guid Id => new Guid("DDE01493-BCA2-41C2-A269-7E56D3716D2F"); + public Guid Id => new Guid("DDE01493-BCA2-41C2-A269-7E56D3716D2F"); /// - public string Author => "Michael Drüing"; + public string Author => "Michael Drüing"; /// - public string Format => "d2f disk image"; + public string Format => "d2f disk image"; /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata => null; + public CICMMetadataType CicmMetadata => null; } } \ No newline at end of file diff --git a/Aaru.Images/WCDiskImage/WCDiskImage.cs b/Aaru.Images/WCDiskImage/WCDiskImage.cs index 65a3ac522..2e2dc3a79 100644 --- a/Aaru.Images/WCDiskImage/WCDiskImage.cs +++ b/Aaru.Images/WCDiskImage/WCDiskImage.cs @@ -40,11 +40,8 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Manages floppy disk images created with d2f by DataPackRat - /// - [SuppressMessage("ReSharper", "NotAccessedField.Local")] - [SuppressMessage("ReSharper", "InconsistentNaming")] + /// Manages floppy disk images created with d2f by DataPackRat + [SuppressMessage("ReSharper", "NotAccessedField.Local"), SuppressMessage("ReSharper", "InconsistentNaming")] public sealed partial class WCDiskImage : IMediaImage { readonly Dictionary<(int cylinder, int head, int sector), bool> _badSectors = @@ -60,9 +57,7 @@ namespace Aaru.DiscImages /// The ImageFilter we're reading from, after the file has been opened IFilter _wcImageFilter; - /// - /// Manages floppy disk images created with d2f by DataPackRat - /// + /// Manages floppy disk images created with d2f by DataPackRat public WCDiskImage() => _imageInfo = new ImageInfo { ReadableSectorTags = new List(), diff --git a/Aaru.Images/ZZZRawImage/Properties.cs b/Aaru.Images/ZZZRawImage/Properties.cs index cfa03032f..ad72400ce 100644 --- a/Aaru.Images/ZZZRawImage/Properties.cs +++ b/Aaru.Images/ZZZRawImage/Properties.cs @@ -52,13 +52,13 @@ namespace Aaru.DiscImages // Non-random UUID to recognize this specific plugin /// - public Guid Id => new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); + public Guid Id => new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); /// - public ImageInfo Info => _imageInfo; + public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => "Natalia Portillo"; /// - public string Format => "Raw disk image (sector by sector copy)"; + public string Format => "Raw disk image (sector by sector copy)"; /// public List Tracks @@ -170,7 +170,7 @@ namespace Aaru.DiscImages /// public List DumpHardware => null; /// - public CICMMetadataType CicmMetadata { get; private set; } + public CICMMetadataType CicmMetadata { get; private set; } /// public IEnumerable SupportedMediaTags => _readWriteSidecars.Concat(_writeOnlySidecars). OrderBy(t => t.tag).Select(t => t.tag).ToArray(); @@ -227,7 +227,7 @@ namespace Aaru.DiscImages ".8kn", ".16kn", ".32kn", ".64kn", ".512e", ".512", ".128", ".256" }; /// - public bool IsWriting { get; private set; } + public bool IsWriting { get; private set; } /// public string ErrorMessage { get; private set; } } diff --git a/Aaru.Images/ZZZRawImage/Read.cs b/Aaru.Images/ZZZRawImage/Read.cs index c363ea931..01435cddb 100644 --- a/Aaru.Images/ZZZRawImage/Read.cs +++ b/Aaru.Images/ZZZRawImage/Read.cs @@ -1086,6 +1086,7 @@ namespace Aaru.DiscImages case MediaType.CDR: if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackFlags)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); + goto case MediaType.BDRE; case MediaType.BDRE: case MediaType.BDROM: @@ -1531,7 +1532,7 @@ namespace Aaru.DiscImages throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); const uint sectorSize = 2352; - uint sectorSkip = 0; + uint sectorSkip = 0; if(_hasSubchannel) sectorSkip += 96; diff --git a/Aaru.Images/ZZZRawImage/ZZZRawImage.cs b/Aaru.Images/ZZZRawImage/ZZZRawImage.cs index 29fe03daa..e11b7088d 100644 --- a/Aaru.Images/ZZZRawImage/ZZZRawImage.cs +++ b/Aaru.Images/ZZZRawImage/ZZZRawImage.cs @@ -40,9 +40,7 @@ using Aaru.CommonTypes.Structs; namespace Aaru.DiscImages { /// - /// - /// Implements reading and writing raw (sector by sector) images - /// + /// Implements reading and writing raw (sector by sector) images [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed partial class ZZZRawImage : IWritableOpticalImage { @@ -57,9 +55,7 @@ namespace Aaru.DiscImages IFilter _rawImageFilter; FileStream _writingStream; - /// - /// Implements reading and writing raw (sector by sector) images - /// + /// Implements reading and writing raw (sector by sector) images public ZZZRawImage() => _imageInfo = new ImageInfo { ReadableSectorTags = new List(), diff --git a/Aaru.Partitions/Aaru.Partitions.csproj b/Aaru.Partitions/Aaru.Partitions.csproj index 0223a5e0d..7e52dfbe2 100644 --- a/Aaru.Partitions/Aaru.Partitions.csproj +++ b/Aaru.Partitions/Aaru.Partitions.csproj @@ -55,31 +55,31 @@ false - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -115,32 +115,32 @@ - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Partitions/Acorn.cs b/Aaru.Partitions/Acorn.cs index bf1669f69..a068b2f12 100644 --- a/Aaru.Partitions/Acorn.cs +++ b/Aaru.Partitions/Acorn.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Acorn partitions - /// + /// Implements decoding of Acorn partitions public sealed class Acorn : IPartition { const ulong ADFS_SB_POS = 0xC00; @@ -57,9 +55,9 @@ namespace Aaru.Partitions const uint TYPE_MASK = 15; /// - public string Name => "Acorn FileCore partitions"; + public string Name => "Acorn FileCore partitions"; /// - public Guid Id => new Guid("A7C8FEBE-8D00-4933-B9F3-42184C8BA808"); + public Guid Id => new Guid("A7C8FEBE-8D00-4933-B9F3-42184C8BA808"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/AppleMap.cs b/Aaru.Partitions/AppleMap.cs index 26c54c08c..be2114a9b 100644 --- a/Aaru.Partitions/AppleMap.cs +++ b/Aaru.Partitions/AppleMap.cs @@ -46,9 +46,7 @@ namespace Aaru.Partitions // Information about structures learnt from Inside Macintosh // Constants from image testing /// - /// - /// Implements decoding of the Apple Partition Map - /// + /// Implements decoding of the Apple Partition Map [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class AppleMap : IPartition { @@ -62,9 +60,9 @@ namespace Aaru.Partitions const uint HFS_MAGIC_OLD = 0x54465331; /// - public string Name => "Apple Partition Map"; + public string Name => "Apple Partition Map"; /// - public Guid Id => new Guid("36405F8D-4F1A-07F5-209C-223D735D6D22"); + public Guid Id => new Guid("36405F8D-4F1A-07F5-209C-223D735D6D22"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Apricot.cs b/Aaru.Partitions/Apricot.cs index 16f827dcc..a054b929d 100644 --- a/Aaru.Partitions/Apricot.cs +++ b/Aaru.Partitions/Apricot.cs @@ -42,9 +42,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Apricot partitions - /// + /// Implements decoding of Apricot partitions public sealed class Apricot : IPartition { readonly int[] _baudRates = @@ -86,9 +84,9 @@ namespace Aaru.Partitions }; /// - public string Name => "ACT Apricot partitions"; + public string Name => "ACT Apricot partitions"; /// - public Guid Id => new Guid("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE"); + public Guid Id => new Guid("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Atari.cs b/Aaru.Partitions/Atari.cs index 7e8bce4ca..f48db252f 100644 --- a/Aaru.Partitions/Atari.cs +++ b/Aaru.Partitions/Atari.cs @@ -42,28 +42,26 @@ using Aaru.Helpers; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Atari GEMDOS partitions - /// + /// Implements decoding of Atari GEMDOS partitions public sealed class AtariPartitions : IPartition { - const uint TYPE_GEMDOS = 0x0047454D; + const uint TYPE_GEMDOS = 0x0047454D; const uint TYPE_BIG_GEMDOS = 0x0042474D; - const uint TYPE_EXTENDED = 0x0058474D; - const uint TYPE_LINUX = 0x004C4E58; - const uint TYPE_SWAP = 0x00535750; - const uint TYPE_RAW = 0x00524157; - const uint TYPE_NETBSD = 0x004E4244; + const uint TYPE_EXTENDED = 0x0058474D; + const uint TYPE_LINUX = 0x004C4E58; + const uint TYPE_SWAP = 0x00535750; + const uint TYPE_RAW = 0x00524157; + const uint TYPE_NETBSD = 0x004E4244; const uint TYPE_NETBSD_SWAP = 0x004E4253; - const uint TYPE_SYSTEM_V = 0x00554E58; - const uint TYPE_MAC = 0x004D4143; - const uint TYPE_MINIX = 0x004D4958; - const uint TYPE_MINIX2 = 0x004D4E58; + const uint TYPE_SYSTEM_V = 0x00554E58; + const uint TYPE_MAC = 0x004D4143; + const uint TYPE_MINIX = 0x004D4958; + const uint TYPE_MINIX2 = 0x004D4E58; /// - public string Name => "Atari partitions"; + public string Name => "Atari partitions"; /// - public Guid Id => new Guid("d1dd0f24-ec39-4c4d-9072-be31919a3b5e"); + public Guid Id => new Guid("d1dd0f24-ec39-4c4d-9072-be31919a3b5e"); /// public string Author => "Natalia Portillo"; @@ -275,16 +273,16 @@ namespace Aaru.Partitions { uint extendedType = extendedTable.Entries[j].Type & 0x00FFFFFF; - if(extendedType != TYPE_GEMDOS && + if(extendedType != TYPE_GEMDOS && extendedType != TYPE_BIG_GEMDOS && - extendedType != TYPE_LINUX && - extendedType != TYPE_SWAP && - extendedType != TYPE_RAW && - extendedType != TYPE_NETBSD && + extendedType != TYPE_LINUX && + extendedType != TYPE_SWAP && + extendedType != TYPE_RAW && + extendedType != TYPE_NETBSD && extendedType != TYPE_NETBSD_SWAP && - extendedType != TYPE_SYSTEM_V && - extendedType != TYPE_MAC && - extendedType != TYPE_MINIX && + extendedType != TYPE_SYSTEM_V && + extendedType != TYPE_MAC && + extendedType != TYPE_MINIX && extendedType != TYPE_MINIX2) continue; @@ -385,16 +383,16 @@ namespace Aaru.Partitions { uint type = table.IcdEntries[i].Type & 0x00FFFFFF; - if(type != TYPE_GEMDOS && + if(type != TYPE_GEMDOS && type != TYPE_BIG_GEMDOS && - type != TYPE_LINUX && - type != TYPE_SWAP && - type != TYPE_RAW && - type != TYPE_NETBSD && + type != TYPE_LINUX && + type != TYPE_SWAP && + type != TYPE_RAW && + type != TYPE_NETBSD && type != TYPE_NETBSD_SWAP && - type != TYPE_SYSTEM_V && - type != TYPE_MAC && - type != TYPE_MINIX && + type != TYPE_SYSTEM_V && + type != TYPE_MAC && + type != TYPE_MINIX && type != TYPE_MINIX2) continue; diff --git a/Aaru.Partitions/BSD.cs b/Aaru.Partitions/BSD.cs index e9cc67979..7c19cdf76 100644 --- a/Aaru.Partitions/BSD.cs +++ b/Aaru.Partitions/BSD.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of BSD disklabels - /// + /// Implements decoding of BSD disklabels [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class BSD : IPartition { @@ -66,9 +64,9 @@ namespace Aaru.Partitions }; /// - public string Name => "BSD disklabel"; + public string Name => "BSD disklabel"; /// - public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); /// public string Author => "Natalia Portillo"; @@ -392,8 +390,7 @@ namespace Aaru.Partitions } /// Drive flags - [SuppressMessage("ReSharper", "InconsistentNaming")] - [Flags] + [SuppressMessage("ReSharper", "InconsistentNaming"), Flags] enum dFlags : uint { /// Removable media diff --git a/Aaru.Partitions/DEC.cs b/Aaru.Partitions/DEC.cs index 5dec13d51..cf55795fd 100644 --- a/Aaru.Partitions/DEC.cs +++ b/Aaru.Partitions/DEC.cs @@ -40,18 +40,16 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of DEC disklabels - /// + /// Implements decoding of DEC disklabels public sealed class DEC : IPartition { const int PT_MAGIC = 0x032957; const int PT_VALID = 1; /// - public string Name => "DEC disklabel"; + public string Name => "DEC disklabel"; /// - public Guid Id => new Guid("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F"); + public Guid Id => new Guid("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/DragonFlyBSD.cs b/Aaru.Partitions/DragonFlyBSD.cs index a95de0e8f..39a6fd973 100644 --- a/Aaru.Partitions/DragonFlyBSD.cs +++ b/Aaru.Partitions/DragonFlyBSD.cs @@ -41,18 +41,16 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of DragonFly BSD disklabels - /// + /// Implements decoding of DragonFly BSD disklabels [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class DragonFlyBSD : IPartition { const uint DISK_MAGIC64 = 0xC4464C59; /// - public string Name => "DragonFly BSD 64-bit disklabel"; + public string Name => "DragonFly BSD 64-bit disklabel"; /// - public Guid Id => new Guid("D49E41A6-D952-4760-9D94-03DAE2450C5F"); + public Guid Id => new Guid("D49E41A6-D952-4760-9D94-03DAE2450C5F"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/GPT.cs b/Aaru.Partitions/GPT.cs index 74dacaba9..2873ea531 100644 --- a/Aaru.Partitions/GPT.cs +++ b/Aaru.Partitions/GPT.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of the GUID Partition Table - /// + /// Implements decoding of the GUID Partition Table [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class GuidPartitionTable : IPartition { @@ -54,9 +52,9 @@ namespace Aaru.Partitions const uint GPT_REVISION1 = 0x00010000; /// - public string Name => "GUID Partition Table"; + public string Name => "GUID Partition Table"; /// - public Guid Id => new Guid("CBC9D281-C1D0-44E8-9038-4D66FD2678AB"); + public Guid Id => new Guid("CBC9D281-C1D0-44E8-9038-4D66FD2678AB"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Human68k.cs b/Aaru.Partitions/Human68k.cs index a1e1410ed..f5d640c99 100644 --- a/Aaru.Partitions/Human68k.cs +++ b/Aaru.Partitions/Human68k.cs @@ -43,18 +43,16 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Sharp's Human68K partitions - /// + /// Implements decoding of Sharp's Human68K partitions public sealed class Human68K : IPartition { // ReSharper disable once InconsistentNaming const uint X68K_MAGIC = 0x5836384B; /// - public string Name => "Human 68k partitions"; + public string Name => "Human 68k partitions"; /// - public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/MBR.cs b/Aaru.Partitions/MBR.cs index fa2d234dc..9419f8b10 100644 --- a/Aaru.Partitions/MBR.cs +++ b/Aaru.Partitions/MBR.cs @@ -45,9 +45,7 @@ namespace Aaru.Partitions { // TODO: Support AAP extensions /// - /// - /// Implements decoding of Intel/Microsoft Master Boot Record and extensions - /// + /// Implements decoding of Intel/Microsoft Master Boot Record and extensions public sealed class MBR : IPartition { const ulong GPT_MAGIC = 0x5452415020494645; @@ -255,9 +253,9 @@ namespace Aaru.Partitions }; /// - public string Name => "Master Boot Record"; + public string Name => "Master Boot Record"; /// - public Guid Id => new Guid("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76"); + public Guid Id => new Guid("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/NeXT.cs b/Aaru.Partitions/NeXT.cs index 4d61f8aad..fe041b90a 100644 --- a/Aaru.Partitions/NeXT.cs +++ b/Aaru.Partitions/NeXT.cs @@ -46,9 +46,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of NeXT disklabels - /// + /// Implements decoding of NeXT disklabels [SuppressMessage("ReSharper", "UnusedMember.Local"), SuppressMessage("ReSharper", "UnusedType.Local")] public sealed class NeXTDisklabel : IPartition { @@ -64,9 +62,9 @@ namespace Aaru.Partitions const ushort DISKTAB_ENTRY_SIZE = 0x2C; /// - public string Name => "NeXT Disklabel"; + public string Name => "NeXT Disklabel"; /// - public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); /// public string Author => "Natalia Portillo"; @@ -224,8 +222,8 @@ namespace Aaru.Partitions Sequence = (ulong)i, Name = StringHandlers.CToString(label.dl_dt.d_partitions[i].p_mountpt), Length = (ulong)(label.dl_dt.d_partitions[i].p_size * label.dl_dt.d_secsize / sectorSize), - Start = (ulong)((label.dl_dt.d_partitions[i].p_base + label.dl_dt.d_front) * - label.dl_dt.d_secsize / sectorSize), + Start = (ulong)((label.dl_dt.d_partitions[i].p_base + label.dl_dt.d_front) * label.dl_dt.d_secsize / + sectorSize), Scheme = Name }; diff --git a/Aaru.Partitions/PC98.cs b/Aaru.Partitions/PC98.cs index 5b5e35ec4..7a2ded2e6 100644 --- a/Aaru.Partitions/PC98.cs +++ b/Aaru.Partitions/PC98.cs @@ -42,15 +42,13 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of NEC PC-9800 partitions - /// + /// Implements decoding of NEC PC-9800 partitions public sealed class PC98 : IPartition { /// - public string Name => "NEC PC-9800 partition table"; + public string Name => "NEC PC-9800 partition table"; /// - public Guid Id => new Guid("27333401-C7C2-447D-961C-22AD0641A09A"); + public Guid Id => new Guid("27333401-C7C2-447D-961C-22AD0641A09A"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Plan9.cs b/Aaru.Partitions/Plan9.cs index 82719a358..6fd5194d2 100644 --- a/Aaru.Partitions/Plan9.cs +++ b/Aaru.Partitions/Plan9.cs @@ -45,15 +45,13 @@ namespace Aaru.Partitions // One line per partition, start and end relative to offset // e.g.: "part nvram 10110 10112\npart fossil 10112 3661056\n" /// - /// - /// Implements decoding of Plan-9 partitions - /// + /// Implements decoding of Plan-9 partitions public sealed class Plan9 : IPartition { /// - public string Name => "Plan9 partition table"; + public string Name => "Plan9 partition table"; /// - public Guid Id => new Guid("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9"); + public Guid Id => new Guid("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/RDB.cs b/Aaru.Partitions/RDB.cs index 2fd6e213c..0e7a040bc 100644 --- a/Aaru.Partitions/RDB.cs +++ b/Aaru.Partitions/RDB.cs @@ -46,9 +46,7 @@ using Aaru.Helpers; namespace Aaru.Partitions { /// - /// - /// Implements decoding of the Amiga Rigid Disk Block - /// + /// Implements decoding of the Amiga Rigid Disk Block [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class AmigaRigidDiskBlock : IPartition { @@ -130,17 +128,21 @@ namespace Aaru.Partitions /// Type ID for NetBSD unused root partition, "NBR\0" const uint TYPEID_NETBSD_ROOT_UNUSED = 0x4E425200; /// Type ID for NetBSD 4.2 FFS root partition, "NBR\7" + // ReSharper disable once InconsistentNaming const uint TYPEID_NETBSD_ROOT_42FFS = 0x4E425207; /// Type ID for NetBSD 4.4 LFS root partition, "NBR\9" + // ReSharper disable once InconsistentNaming const uint TYPEID_NETBSD_ROOT_44LFS = 0x4E425209; /// Type ID for NetBSD unused user partition, "NBR\0" const uint TYPEID_NETBSD_USER_UNUSED = 0x4E425500; /// Type ID for NetBSD 4.2 FFS user partition, "NBR\7" + // ReSharper disable once InconsistentNaming const uint TYPEID_NETBSD_USER_42FFS = 0x4E425507; /// Type ID for NetBSD 4.4 LFS user partition, "NBR\9" + // ReSharper disable once InconsistentNaming const uint TYPEID_NETBSD_USER_44LFS = 0x4E425509; /// Type ID for NetBSD swap partition @@ -175,9 +177,9 @@ namespace Aaru.Partitions const uint FLAGS_NO_AUTOMOUNT = 0x00000002; /// - public string Name => "Amiga Rigid Disk Block"; + public string Name => "Amiga Rigid Disk Block"; /// - public Guid Id => new Guid("8D72ED97-1854-4170-9CE4-6E8446FD9863"); + public Guid Id => new Guid("8D72ED97-1854-4170-9CE4-6E8446FD9863"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Register.cs b/Aaru.Partitions/Register.cs index 29050239b..edd92babd 100644 --- a/Aaru.Partitions/Register.cs +++ b/Aaru.Partitions/Register.cs @@ -80,4 +80,4 @@ namespace Aaru.Partitions /// public List GetAllArchivePlugins() => null; } -} +} \ No newline at end of file diff --git a/Aaru.Partitions/RioKarma.cs b/Aaru.Partitions/RioKarma.cs index c98b3cf61..c82c37448 100644 --- a/Aaru.Partitions/RioKarma.cs +++ b/Aaru.Partitions/RioKarma.cs @@ -41,18 +41,16 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Rio Karma partitions - /// + /// Implements decoding of Rio Karma partitions public sealed class RioKarma : IPartition { const ushort KARMA_MAGIC = 0xAB56; const byte ENTRY_MAGIC = 0x4D; /// - public string Name => "Rio Karma partitioning"; + public string Name => "Rio Karma partitioning"; /// - public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + public Guid Id => new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/SGI.cs b/Aaru.Partitions/SGI.cs index b95cc6de1..d23450865 100644 --- a/Aaru.Partitions/SGI.cs +++ b/Aaru.Partitions/SGI.cs @@ -45,18 +45,16 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of the SGI Disk Volume Header - /// + /// Implements decoding of the SGI Disk Volume Header [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed class SGI : IPartition { const int SGI_MAGIC = 0x0BE5A941; /// - public string Name => "SGI Disk Volume Header"; + public string Name => "SGI Disk Volume Header"; /// - public Guid Id => new Guid("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2"); + public Guid Id => new Guid("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2"); /// public string Author => "Natalia Portillo"; @@ -152,15 +150,13 @@ namespace Aaru.Partitions var part = new CommonTypes.Partition { - Start = dvh.partitions[i].first_block * dvh.device_params.dp_secbytes / - imagePlugin.Info.SectorSize, + Start = dvh.partitions[i].first_block * dvh.device_params.dp_secbytes / imagePlugin.Info.SectorSize, Offset = dvh.partitions[i].first_block * dvh.device_params.dp_secbytes, - Length = dvh.partitions[i].num_blocks * dvh.device_params.dp_secbytes / - imagePlugin.Info.SectorSize, - Size = dvh.partitions[i].num_blocks * dvh.device_params.dp_secbytes, - Type = TypeToString(dvh.partitions[i].type), + Length = dvh.partitions[i].num_blocks * dvh.device_params.dp_secbytes / imagePlugin.Info.SectorSize, + Size = dvh.partitions[i].num_blocks * dvh.device_params.dp_secbytes, + Type = TypeToString(dvh.partitions[i].type), Sequence = counter, - Scheme = Name + Scheme = Name }; if(part.Size <= 0 || diff --git a/Aaru.Partitions/Sun.cs b/Aaru.Partitions/Sun.cs index 6e11ef193..3ed7b0293 100644 --- a/Aaru.Partitions/Sun.cs +++ b/Aaru.Partitions/Sun.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Sun disklabels - /// + /// Implements decoding of Sun disklabels [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed class SunDisklabel : IPartition { @@ -77,9 +75,9 @@ namespace Aaru.Partitions (4 * 4) + (12 * 2) + (2 * 2)); /// - public string Name => "Sun Disklabel"; + public string Name => "Sun Disklabel"; /// - public Guid Id => new Guid("50F35CC4-8375-4445-8DCB-1BA550C931A3"); + public Guid Id => new Guid("50F35CC4-8375-4445-8DCB-1BA550C931A3"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/UNIX.cs b/Aaru.Partitions/UNIX.cs index 32c6dbd1c..67c6423cc 100644 --- a/Aaru.Partitions/UNIX.cs +++ b/Aaru.Partitions/UNIX.cs @@ -43,9 +43,7 @@ namespace Aaru.Partitions // They depend on exact device, indeed the kernel chooses what to use depending on the disk driver, so that's what we do. // Currently only DEC devices used in Ultrix are added, probably it's missing a lot of entries. /// - /// - /// Implements decoding of historic UNIX static partitions - /// + /// Implements decoding of historic UNIX static partitions [SuppressMessage("ReSharper", "InconsistentNaming")] public sealed class UNIX : IPartition { @@ -1376,9 +1374,9 @@ namespace Aaru.Partitions }; /// - public string Name => "UNIX hardwired"; + public string Name => "UNIX hardwired"; /// - public Guid Id => new Guid("9ED7E30B-53BF-4619-87A0-5D2002155617"); + public Guid Id => new Guid("9ED7E30B-53BF-4619-87A0-5D2002155617"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/VTOC.cs b/Aaru.Partitions/VTOC.cs index 73414c57b..6aa484cea 100644 --- a/Aaru.Partitions/VTOC.cs +++ b/Aaru.Partitions/VTOC.cs @@ -44,9 +44,7 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of UNIX VTOC partitions - /// + /// Implements decoding of UNIX VTOC partitions [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class VTOC : IPartition { @@ -58,9 +56,9 @@ namespace Aaru.Partitions const uint XPDVERS = 3; /* 1st version of extended pdinfo */ /// - public string Name => "UNIX VTOC"; + public string Name => "UNIX VTOC"; /// - public Guid Id => new Guid("6D35A66F-8D77-426F-A562-D88F6A1F1702"); + public Guid Id => new Guid("6D35A66F-8D77-426F-A562-D88F6A1F1702"); /// public string Author => "Natalia Portillo"; @@ -547,6 +545,7 @@ namespace Aaru.Partitions } [StructLayout(LayoutKind.Sequential, Pack = 1)] + // ReSharper disable once InconsistentNaming struct partition { @@ -605,8 +604,7 @@ namespace Aaru.Partitions V_VMPRIVATE = 0x000F } - [Flags] - [SuppressMessage("ReSharper", "InconsistentNaming")] + [Flags, SuppressMessage("ReSharper", "InconsistentNaming")] enum pFlag : ushort { /* Partition permission flags */ V_UNMNT = 0x01, /* Unmountable partition */ V_RONLY = 0x10, /* Read only */ diff --git a/Aaru.Partitions/XENIX.cs b/Aaru.Partitions/XENIX.cs index 5dba42455..b3d1ac38c 100644 --- a/Aaru.Partitions/XENIX.cs +++ b/Aaru.Partitions/XENIX.cs @@ -41,9 +41,7 @@ namespace Aaru.Partitions { // TODO: Find better documentation, this is working for XENIX 2 but not for SCO OpenServer... /// - /// - /// Implements decoding of XENIX partitions - /// + /// Implements decoding of XENIX partitions public sealed class XENIX : IPartition { const ushort PAMAGIC = 0x1234; @@ -54,9 +52,9 @@ namespace Aaru.Partitions const uint XENIX_OFFSET = 977; /// - public string Name => "XENIX"; + public string Name => "XENIX"; /// - public Guid Id => new Guid("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9"); + public Guid Id => new Guid("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Partitions/Xbox.cs b/Aaru.Partitions/Xbox.cs index b53c8f1ac..1f38c9e14 100644 --- a/Aaru.Partitions/Xbox.cs +++ b/Aaru.Partitions/Xbox.cs @@ -41,34 +41,32 @@ using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Partitions { /// - /// - /// Implements decoding of Xbox partitions - /// + /// Implements decoding of Xbox partitions [SuppressMessage("ReSharper", "UnusedMember.Local")] public sealed class Xbox : IPartition { - const uint XBOX_CIGAM = 0x46415458; - const uint XBOX_MAGIC = 0x58544146; + const uint XBOX_CIGAM = 0x46415458; + const uint XBOX_MAGIC = 0x58544146; const long MEMORY_UNIT_DATA_OFF = 0x7FF000; const long XBOX360_SECURITY_SECTOR_OFF = 0x2000; const long XBOX360_SYSTEM_CACHE_OFF = 0x80000; const long XBOX360_GAME_CACHE_OFF = 0x8008000; const long XBOX368_SYS_EXT_OFF = 0x10C080000; const long XBOX360_SYS_EXT2_OFF = 0x118EB0000; - const long XBOX360_COMPAT_OFF = 0x120EB0000; - const long XBOX_360DATA_OFF = 0x130EB0000; + const long XBOX360_COMPAT_OFF = 0x120EB0000; + const long XBOX_360DATA_OFF = 0x130EB0000; const long XBOX360_SECURITY_SECTOR_LEN = 0x80000; const long XBOX360_SYSTEM_CACHE_LEN = 0x80000000; const long XBOX360_GAME_CACHE_LEN = 0xA0E30000; const long XBOX368_SYS_EXT_LEN = 0xCE30000; const long XBOX360_SYS_EXT2_LEN = 0x8000000; - const long XBOX360_COMPAT_LEN = 0x10000000; - const uint XBOX360_DEVKIT_MAGIC = 0x00020000; + const long XBOX360_COMPAT_LEN = 0x10000000; + const uint XBOX360_DEVKIT_MAGIC = 0x00020000; /// - public string Name => "Xbox partitioning"; + public string Name => "Xbox partitioning"; /// - public Guid Id => new Guid("E3F6FB91-D358-4F22-A550-81E92D50EB78"); + public Guid Id => new Guid("E3F6FB91-D358-4F22-A550-81E92D50EB78"); /// public string Author => "Natalia Portillo"; diff --git a/Aaru.Settings/Aaru.Settings.csproj b/Aaru.Settings/Aaru.Settings.csproj index d36d69b42..bf02501d9 100644 --- a/Aaru.Settings/Aaru.Settings.csproj +++ b/Aaru.Settings/Aaru.Settings.csproj @@ -53,14 +53,14 @@ false - - + + ..\packages\plist-cil.1.16.0\lib\net40\plist-cil.dll - + @@ -68,43 +68,43 @@ - + - - - + + + - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Settings/Settings.cs b/Aaru.Settings/Settings.cs index ad53afeb1..1d1df4f22 100644 --- a/Aaru.Settings/Settings.cs +++ b/Aaru.Settings/Settings.cs @@ -49,6 +49,8 @@ namespace Aaru.Settings /// up, and the user asked to opt-in. /// public const ulong GDPR_LEVEL = 1; + /// If set to true, enables the ability to decrypt encrypted data + public bool EnableDecryption; /// Set of GDPR compliance, if lower than , ask user for compliance. public ulong GdprCompliance; @@ -56,8 +58,6 @@ namespace Aaru.Settings public bool SaveReportsGlobally; /// If set to true, reports will be sent to Aaru.Server public bool ShareReports; - /// If set to true, enables the ability to decrypt encrypted data - public bool EnableDecryption; /// Statistics public StatsSettings Stats; } @@ -66,13 +66,9 @@ namespace Aaru.Settings /// User settings, for media dumps, completely unused public class UserSettings { - /// - /// User email - /// + /// User email public string Email; - /// - /// User name or nick - /// + /// User name or nick public string Name; } @@ -119,14 +115,10 @@ namespace Aaru.Settings /// Global path to save statistics public static string StatsPath { get; private set; } - /// - /// Local database path - /// + /// Local database path public static string LocalDbPath { get; private set; } - /// - /// Main database path - /// - public static string MainDbPath { get; private set; } + /// Main database path + public static string MainDbPath { get; private set; } /// Loads settings public static void LoadSettings() @@ -507,9 +499,7 @@ namespace Aaru.Settings } } - /// - /// Saves current settings - /// + /// Saves current settings public static void SaveSettings() { try diff --git a/Aaru.Tests.Devices/Aaru.Tests.Devices.csproj b/Aaru.Tests.Devices/Aaru.Tests.Devices.csproj index 037e949d2..e81aa23c9 100644 --- a/Aaru.Tests.Devices/Aaru.Tests.Devices.csproj +++ b/Aaru.Tests.Devices/Aaru.Tests.Devices.csproj @@ -45,47 +45,47 @@ x86 - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -106,43 +106,43 @@ - - - + + + - + - - - + + + - - - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - $(BaseFrameworkPathOverrideForMono)/4.0-api - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - + + + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + $(BaseFrameworkPathOverrideForMono)/4.0-api + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + \ No newline at end of file diff --git a/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs b/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs index 719ba68f4..6ba6ce72c 100644 --- a/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs +++ b/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs @@ -44,7 +44,7 @@ namespace Aaru.Tests.Devices if(!sense) break; - var decodedSense = Sense.Decode(senseBuffer); + DecodedSense? decodedSense = Sense.Decode(senseBuffer); if(decodedSense.Value.ASC != 0x04) break; @@ -152,7 +152,7 @@ namespace Aaru.Tests.Devices if(!sense) break; - var decodedSense = Sense.Decode(senseBuffer); + DecodedSense? decodedSense = Sense.Decode(senseBuffer); if(decodedSense.Value.ASC != 0x04) break; diff --git a/Aaru.Tests/Filesystems/BeFS/APM.cs b/Aaru.Tests/Filesystems/BeFS/APM.cs index 74f452155..fce22626b 100644 --- a/Aaru.Tests/Filesystems/BeFS/APM.cs +++ b/Aaru.Tests/Filesystems/BeFS/APM.cs @@ -74,7 +74,7 @@ namespace Aaru.Tests.Filesystems.BeFS Clusters = 130976, ClusterSize = 1024, VolumeName = "Volume label" - }, + } }; } } \ No newline at end of file diff --git a/Aaru.Tests/Filesystems/CPM/Attache.cs b/Aaru.Tests/Filesystems/CPM/Attache.cs index 6a4db0d0f..e3502e48a 100644 --- a/Aaru.Tests/Filesystems/CPM/Attache.cs +++ b/Aaru.Tests/Filesystems/CPM/Attache.cs @@ -37,7 +37,8 @@ namespace Aaru.Tests.Filesystems.CPM { public Attache() : base("CP/M") {} - public override string DataFolder => Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "CPM", "Otrona Attaché"); + public override string DataFolder => + Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "CPM", "Otrona Attaché"); public override IFilesystem Plugin => new Aaru.Filesystems.CPM(); public override bool Partitions => false; diff --git a/Aaru.Tests/Filesystems/UDF/2.60/Whole.cs b/Aaru.Tests/Filesystems/UDF/2.60/Whole.cs index fed7f5025..5b8bd6156 100644 --- a/Aaru.Tests/Filesystems/UDF/2.60/Whole.cs +++ b/Aaru.Tests/Filesystems/UDF/2.60/Whole.cs @@ -30,6 +30,7 @@ using System.IO; using Aaru.CommonTypes; using Aaru.CommonTypes.Interfaces; using NUnit.Framework; + // ReSharper disable CheckNamespace namespace Aaru.Tests.Filesystems.UDF._260 diff --git a/Aaru.Tests/Filesystems/UFS/Whole.cs b/Aaru.Tests/Filesystems/UFS/Whole.cs index 302088104..b2826d963 100644 --- a/Aaru.Tests/Filesystems/UFS/Whole.cs +++ b/Aaru.Tests/Filesystems/UFS/Whole.cs @@ -172,7 +172,7 @@ namespace Aaru.Tests.Filesystems.UFS SectorSize = 512, Clusters = 2880, ClusterSize = 512, - VolumeName = "", + VolumeName = "", Type = "UFS2" }, new FileSystemTest diff --git a/Aaru.Tests/Filters/MacBinary1.cs b/Aaru.Tests/Filters/MacBinary1.cs index 9820e47e9..657f795db 100644 --- a/Aaru.Tests/Filters/MacBinary1.cs +++ b/Aaru.Tests/Filters/MacBinary1.cs @@ -29,6 +29,7 @@ using System.IO; using Aaru.Checksums; using Aaru.CommonTypes.Interfaces; +using Aaru.Filters; using NUnit.Framework; namespace Aaru.Tests.Filters @@ -47,7 +48,7 @@ namespace Aaru.Tests.Filters [Test] public void CheckContents() { - IFilter filter = new Aaru.Filters.MacBinary(); + IFilter filter = new MacBinary(); filter.Open(_location); Stream str = filter.GetDataForkStream(); byte[] data = new byte[737280]; @@ -69,14 +70,14 @@ namespace Aaru.Tests.Filters [Test] public void CheckFilterId() { - IFilter filter = new Aaru.Filters.MacBinary(); + IFilter filter = new MacBinary(); Assert.AreEqual(true, filter.Identify(_location)); } [Test] public void CheckResource() { - IFilter filter = new Aaru.Filters.MacBinary(); + IFilter filter = new MacBinary(); filter.Open(_location); Stream str = filter.GetResourceForkStream(); byte[] data = new byte[286]; @@ -91,7 +92,7 @@ namespace Aaru.Tests.Filters [Test] public void Test() { - IFilter filter = new Aaru.Filters.MacBinary(); + IFilter filter = new MacBinary(); filter.Open(_location); Assert.AreEqual(true, filter.IsOpened()); Assert.AreEqual(737280, filter.GetDataForkLength()); diff --git a/Aaru.Tests/Issues/263/AaruFormat.cs b/Aaru.Tests/Issues/263/AaruFormat.cs index ff926b272..95e71ee7f 100644 --- a/Aaru.Tests/Issues/263/AaruFormat.cs +++ b/Aaru.Tests/Issues/263/AaruFormat.cs @@ -12,7 +12,7 @@ namespace Aaru.Tests.Issues._263 * https://pastebin.com/AuKum4QR. * Link to the image files themselves: https://drive.google.com/file/d/1lXlhV-EUVrSg-ceKi0xI7t5OAdGWvH9_/view?usp=sharing */ - + // 20200309 CLAUNIA: Fixed in 3b2bb0ebf0c6c615c5622aebff494ed34b51055d public class AaruFormat : FsExtractIssueTest { diff --git a/Aaru.Tests/Issues/263/Raw.cs b/Aaru.Tests/Issues/263/Raw.cs index 504688974..010c1fc3d 100644 --- a/Aaru.Tests/Issues/263/Raw.cs +++ b/Aaru.Tests/Issues/263/Raw.cs @@ -12,7 +12,7 @@ namespace Aaru.Tests.Issues._263 * https://pastebin.com/AuKum4QR. * Link to the image files themselves: https://drive.google.com/file/d/1lXlhV-EUVrSg-ceKi0xI7t5OAdGWvH9_/view?usp=sharing */ - + // 20200309 CLAUNIA: Fixed in 3b2bb0ebf0c6c615c5622aebff494ed34b51055d public class Raw : FsExtractIssueTest { diff --git a/Aaru.Tests/Issues/542/SimsEP.cs b/Aaru.Tests/Issues/542/SimsEP.cs index 105535ce9..b899df03c 100644 --- a/Aaru.Tests/Issues/542/SimsEP.cs +++ b/Aaru.Tests/Issues/542/SimsEP.cs @@ -23,5 +23,5 @@ namespace Aaru.Tests.Issues._542 protected override string Encoding => null; protected override bool ExpectPartitions => true; protected override string Namespace => null; - } + } } \ No newline at end of file diff --git a/Aaru.Tests/Issues/590/m5a99fx.cs b/Aaru.Tests/Issues/590/m5a99fx.cs index 29be35e5a..907fd5568 100644 --- a/Aaru.Tests/Issues/590/m5a99fx.cs +++ b/Aaru.Tests/Issues/590/m5a99fx.cs @@ -23,5 +23,5 @@ namespace Aaru.Tests.Issues._590 protected override string Encoding => null; protected override bool ExpectPartitions => true; protected override string Namespace => null; - } + } } \ No newline at end of file diff --git a/Aaru.Tests/Issues/590/win3.cs b/Aaru.Tests/Issues/590/win3.cs index 18109db80..51703fcdc 100644 --- a/Aaru.Tests/Issues/590/win3.cs +++ b/Aaru.Tests/Issues/590/win3.cs @@ -16,12 +16,12 @@ namespace Aaru.Tests.Issues._590 { protected override string DataFolder => Path.Combine(Consts.TEST_FILES_ROOT, "Issues", "Fixed", "issue590", "win3"); - protected override string TestFile => "microsoft-windows-3.0-international-versions-promotional-copy.aif"; - protected override Dictionary ParsedOptions => new Dictionary(); - protected override bool Debug => false; - protected override bool Xattrs => false; - protected override string Encoding => "cp850"; - protected override bool ExpectPartitions => true; - protected override string Namespace => "romeo"; - } + protected override string TestFile => "microsoft-windows-3.0-international-versions-promotional-copy.aif"; + protected override Dictionary ParsedOptions => new Dictionary(); + protected override bool Debug => false; + protected override bool Xattrs => false; + protected override string Encoding => "cp850"; + protected override bool ExpectPartitions => true; + protected override string Namespace => "romeo"; + } } \ No newline at end of file diff --git a/Aaru/Aaru.csproj b/Aaru/Aaru.csproj index cb9600ba0..99ae97d11 100644 --- a/Aaru/Aaru.csproj +++ b/Aaru/Aaru.csproj @@ -50,69 +50,69 @@ false - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - + + + - - + + - - + + I @@ -133,28 +133,28 @@ Exception - - - - + + + + _ m_ - + _ m_ - - - - - + + + + + T @@ -162,9 +162,9 @@ - - - + + + @@ -198,8 +198,8 @@ {CC48B324-A532-4A45-87A6-6F91F7141E8D} Aaru.Checksums - - + + {F8BDF57B-1571-4CD0-84B3-B422088D359A} Aaru.Helpers @@ -260,26 +260,26 @@ - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + -dbg diff --git a/Aaru/Commands/Archive/ArchiveFamily.cs b/Aaru/Commands/Archive/ArchiveFamily.cs index a2e1688a1..4edf054d7 100644 --- a/Aaru/Commands/Archive/ArchiveFamily.cs +++ b/Aaru/Commands/Archive/ArchiveFamily.cs @@ -37,12 +37,11 @@ namespace Aaru.Commands.Archive { internal sealed class ArchiveFamily : Command { - internal ArchiveFamily() : base("archive", - "Commands to manage archive files") + internal ArchiveFamily() : base("archive", "Commands to manage archive files") { AddAlias("arc"); AddCommand(new ArchiveInfoCommand()); } } -} +} \ No newline at end of file diff --git a/Aaru/Commands/Archive/Info.cs b/Aaru/Commands/Archive/Info.cs index 9d25afc1f..0169254de 100644 --- a/Aaru/Commands/Archive/Info.cs +++ b/Aaru/Commands/Archive/Info.cs @@ -41,8 +41,7 @@ namespace Aaru.Commands.Archive { internal sealed class ArchiveInfoCommand : Command { - public ArchiveInfoCommand() : base("info", - "Identifies an archive file and shows information about it.") + public ArchiveInfoCommand() : base("info", "Identifies an archive file and shows information about it.") { AddArgument(new Argument { @@ -75,4 +74,4 @@ namespace Aaru.Commands.Archive return (int)ErrorNumber.NoError; } } -} +} \ No newline at end of file diff --git a/Aaru/Commands/Device/Info.cs b/Aaru/Commands/Device/Info.cs index cf86fd9d2..50ac9cf45 100644 --- a/Aaru/Commands/Device/Info.cs +++ b/Aaru/Commands/Device/Info.cs @@ -1155,4 +1155,4 @@ namespace Aaru.Commands.Device return (int)ErrorNumber.NoError; } } -} +} \ No newline at end of file diff --git a/Aaru/Commands/Filesystem/ExtractFiles.cs b/Aaru/Commands/Filesystem/ExtractFiles.cs index 3af082528..4cef13d21 100644 --- a/Aaru/Commands/Filesystem/ExtractFiles.cs +++ b/Aaru/Commands/Filesystem/ExtractFiles.cs @@ -336,8 +336,8 @@ namespace Aaru.Commands.Filesystem return (int)ErrorNumber.NoError; } - static void ExtractFilesInDir(string path, [NotNull] IReadOnlyFilesystem fs, string volumeName, string outputDir, - bool doXattrs) + static void ExtractFilesInDir(string path, [NotNull] IReadOnlyFilesystem fs, string volumeName, + string outputDir, bool doXattrs) { if(path.StartsWith('/')) path = path.Substring(1); @@ -421,7 +421,8 @@ namespace Aaru.Commands.Filesystem if(error != Errno.NoError) continue; - outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, ".xattrs", path, xattr); + outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, ".xattrs", path, + xattr); Directory.CreateDirectory(outputPath); diff --git a/Aaru/Commands/Formats.cs b/Aaru/Commands/Formats.cs index 990023cf7..21f174372 100644 --- a/Aaru/Commands/Formats.cs +++ b/Aaru/Commands/Formats.cs @@ -148,8 +148,7 @@ namespace Aaru.Commands AaruConsole.WriteLine(kvp.Value.Name); AaruConsole.WriteLine(); - AaruConsole.WriteLine("Supported archive formats ({0}):", - plugins.Archives.Count); + AaruConsole.WriteLine("Supported archive formats ({0}):", plugins.Archives.Count); if(verbose) AaruConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); @@ -160,8 +159,7 @@ namespace Aaru.Commands else AaruConsole.WriteLine(kvp.Value.Name); - return (int)ErrorNumber.NoError; } } -} +} \ No newline at end of file diff --git a/Aaru/Commands/Image/CreateSidecar.cs b/Aaru/Commands/Image/CreateSidecar.cs index f954d6143..fd8b552c0 100644 --- a/Aaru/Commands/Image/CreateSidecar.cs +++ b/Aaru/Commands/Image/CreateSidecar.cs @@ -91,8 +91,8 @@ namespace Aaru.Commands.Image Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke))); } - public static int Invoke(bool debug, bool verbose, uint blockSize, [CanBeNull] string encodingName, string imagePath, - bool tape) + public static int Invoke(bool debug, bool verbose, uint blockSize, [CanBeNull] string encodingName, + string imagePath, bool tape) { MainClass.PrintCopyright(); diff --git a/Aaru/Commands/Media/Dump.cs b/Aaru/Commands/Media/Dump.cs index 36c7bd9bc..1f7de4f21 100644 --- a/Aaru/Commands/Media/Dump.cs +++ b/Aaru/Commands/Media/Dump.cs @@ -317,8 +317,7 @@ namespace Aaru.Commands.Media uint skip, byte speed, bool stopOnError, string format, string subchannel, bool @private, bool fixSubchannelPosition, bool retrySubchannel, bool fixSubchannel, bool fixSubchannelCrc, bool generateSubchannels, bool skipCdiReadyHole, bool eject, - uint maxBlocks, bool useBufferedReads, bool storeEncrypted, - bool titleKeys) + uint maxBlocks, bool useBufferedReads, bool storeEncrypted, bool titleKeys) { MainClass.PrintCopyright(); diff --git a/Aaru/Info.plist b/Aaru/Info.plist index 77cc9dabb..5abfde956 100644 --- a/Aaru/Info.plist +++ b/Aaru/Info.plist @@ -1,28 +1,28 @@ - - LSMinimumSystemVersion - 10.13 - CFBundleDevelopmentRegion - en - NSHumanReadableCopyright - © Natalia Portillo - CFBundleIconFile - MacIcon.icns - CFBundleName - Aaru - CFBundleIdentifier - app.aaru - CFBundleShortVersionString - 5.2.99.3380-alpha5 - CFBundleExecutable - aaru - LSExecutableArchitectures - - x86_64 - - NSHighResolutionCapable - - + + LSMinimumSystemVersion + 10.13 + CFBundleDevelopmentRegion + en + NSHumanReadableCopyright + © Natalia Portillo + CFBundleIconFile + MacIcon.icns + CFBundleName + Aaru + CFBundleIdentifier + app.aaru + CFBundleShortVersionString + 5.2.99.3380-alpha5 + CFBundleExecutable + aaru + LSExecutableArchitectures + + x86_64 + + NSHighResolutionCapable + + diff --git a/Aaru/Properties/launchSettings.json b/Aaru/Properties/launchSettings.json index 299777560..9303412ae 100644 --- a/Aaru/Properties/launchSettings.json +++ b/Aaru/Properties/launchSettings.json @@ -3,8 +3,8 @@ "Aaru": { "commandName": "Project" }, - "GUI": { - "commandName": "Project", + "GUI" : { + "commandName" : "Project", "commandLineArgs": "gui -d" } } diff --git a/Aaru/Settings.StyleCop b/Aaru/Settings.StyleCop index bb05f99bc..d75969ae2 100644 --- a/Aaru/Settings.StyleCop +++ b/Aaru/Settings.StyleCop @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c41c6583f..ccdc57ad3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,9 +2,8 @@ :+1::tada: First off, thanks for taking the time to contribute! :tada::+1: -The following is a set of guidelines for contributing to Aaru and its modules. -These are mostly guidelines, not rules. Use your best judgment, and feel free to propose -changes to this document in a pull request. +The following is a set of guidelines for contributing to Aaru and its modules. These are mostly guidelines, not rules. +Use your best judgment, and feel free to propose changes to this document in a pull request. #### Table Of Contents @@ -13,32 +12,34 @@ changes to this document in a pull request. [I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question) [What should I know before I get started?](#what-should-i-know-before-i-get-started) - * [Aaru and modules](#aaru-and-modules) + +* [Aaru and modules](#aaru-and-modules) [How Can I Contribute?](#how-can-i-contribute) - * [Reporting Devices](#reporting-devices) - * [Reporting Bugs](#reporting-bugs) - * [Suggesting Enhancements](#suggesting-enhancements) - * [Your First Code Contribution](#your-first-code-contribution) - * [Pull Requests](#pull-requests) - * [Patronizing us](#patronizing) - * [Donating hardware to test](#donating) - * [Providing information](#needed-information) + +* [Reporting Devices](#reporting-devices) +* [Reporting Bugs](#reporting-bugs) +* [Suggesting Enhancements](#suggesting-enhancements) +* [Your First Code Contribution](#your-first-code-contribution) +* [Pull Requests](#pull-requests) +* [Patronizing us](#patronizing) +* [Donating hardware to test](#donating) +* [Providing information](#needed-information) [Styleguides](#styleguides) - * [Git Commit Messages](#git-commit-messages) - * [Code Styleguide](#code-styleguide) + +* [Git Commit Messages](#git-commit-messages) +* [Code Styleguide](#code-styleguide) ## Code of Conduct This project and everyone participating in it is governed by the -[Aaru Code of Conduct](.github/CODE_OF_CONDUCT.md). By participating, you are expected -to uphold this code. Please report unacceptable behavior to [claunia@claunia.com](mailto:claunia@claunia.com). +[Aaru Code of Conduct](.github/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please +report unacceptable behavior to [claunia@claunia.com](mailto:claunia@claunia.com). ## I don't want to read this whole thing I just have a question!!! -> **Note:** Please don't file an issue to ask a question. You'll get faster results by -using the resources below. +> **Note:** Please don't file an issue to ask a question. You'll get faster results by using the resources below. You can join our IRC channel on irc.libera.chat at channel #Aaru @@ -46,179 +47,165 @@ You can join our IRC channel on irc.libera.chat at channel #Aaru ### Aaru and modules -Aaru is a large open source project — it's made up of 18 modules. When you initially consider contributing to Aaru, you might be unsure about which of those modules implements the functionality you want to change or report a bug for. This section should help you with that. +Aaru is a large open source project — it's made up of 18 modules. When you initially consider contributing to +Aaru, you might be unsure about which of those modules implements the functionality you want to change or report a bug +for. This section should help you with that. Aaru is intentionally very modular. Here's a list of them: -* [Claunia.RsrcFork](https://github.com/claunia/Claunia.RsrcFork) - -This library includes code for handling Mac OS resource forks, and decoding them, so any -code related to Mac OS resource forks should be added here. -* [Claunia.Encoding](https://github.com/claunia/Claunia.Encoding) - -This library includes code for converting codepages not supported by .NET, like those used -by ancient operating systems, to/from UTF-8. -* [plist-cil](https://github.com/claunia/plist-cil) - -This library includes code for handling Apple property lists. -* [SharpCompress](https://github.com/adamhathcock/sharpcompress) - -This library includes code for handling compression algorithms and compressed archives. Any -need you have of compression or decompression should be handled with this library, and any new algorithm should be added here. -* [Aaru](https://github.com/aaru-dps/Aaru/tree/master/Aaru) - -This module contains the command line interface. In the future a GUI will be added. -* [AaruRemote](https://github.com/aaru-dps/aaruremote) - -Standalone small application designed to run on older machines where Aaru does not run to allow device commands to be executed remotely. -* [Aaru.Checksums](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Checksums) - -This module contains the checksum, hashing and error correction algorithms. -* [Aaru.CommonTypes](https://github.com/aaru-dps/Aaru.CommonTypes) - -This module contains interfaces, structures and enumerations needed by more than one of the other modules. -* [Aaru.Console](https://github.com/aaru-dps/Aaru.Console) - -This module abstracts consoles used by other modules to output information, so they can be -redirected to a CLI or to a GUI output. -* [Aaru.Core](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Core) - -This module contains the implementation of the functions and commands that are called by the -user interface itself. -* [Aaru.Decoders](https://github.com/aaru-dps/Aaru.Decoders) - -This module contains internal disk, drive and protocol structures as well as code to marshal, -decode and print them. -* [Aaru.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Devices) - -This module contains code to talk with hardware devices in different platforms. Each platform -has lowlevel calls in its own folder, and each device protocol has highlevel calls in its own -folder. Device commands are separated by protocol standard, or vendor name. -* [Aaru.Device.Report](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Device.Report) - -This is a separate application in C89 designed to create device reports on enviroments where -you can't run .NET or Mono but can run Linux. -* [Aaru.DiscImages](https://github.com/aaru-dps/Aaru/tree/master/Aaru.DiscImages) - -This module provides reading capabilities for the disk/disc images, one per file. -* [Aaru.DiscImages](https://github.com/aaru-dps/Aaru.Dto) - -This module provides common structures between Aaru and Aaru.Server. -* [Aaru.Filesystems](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Filesystems) - -This module provides the filesystem support. If only identification is implemented a single -file should be used. For full read-only support, a folder should be used. -* [Aaru.Filters](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Filters) - -A filter is a modification of the data before it can be passed to the disk image module -(compression, fork union, etc), and this module provides support for them. If a image is -compressed, say in gzip, or encoded, say in AppleDouble, a filter is the responsible of -decompressing or decoding it on-the-fly. -* [Aaru.Helpers](https://github.com/aaru-dps/Aaru.Helpers) - -This module contains a collection of helpers for array manipulation, big-endian marshalling, -datetime conversion, hexadecimal printing, string manipulation and byte swapping. -* [Aaru.Partitions](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Partitions) - -This module contains code for reading partition schemes. -* [Aaru.Server](https://github.com/aaru-dps/Aaru.Server) - -This module contains the server-side code that's running at https://www.aaru.app -* [Aaru.Settings](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Settings) - -This module contains code for handling Aaru settings. -* [Aaru.Tests](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests) - -This module contains the unit tests for the rest of the modules. You should add new unit -tests here but cannot run all of them because the test images they require amount to more -than 100GiB. -* [Aaru.Tests.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests.Devices) - -This module presents a menu driven interface to send commands to devices, as a way to test -the Core module, as those tests cannot be automated. It can be used to debug drive responses. +* [Claunia.RsrcFork](https://github.com/claunia/Claunia.RsrcFork) - This library includes code for handling Mac OS + resource forks, and decoding them, so any code related to Mac OS resource forks should be added here. +* [Claunia.Encoding](https://github.com/claunia/Claunia.Encoding) - This library includes code for converting codepages + not supported by .NET, like those used by ancient operating systems, to/from UTF-8. +* [plist-cil](https://github.com/claunia/plist-cil) - This library includes code for handling Apple property lists. +* [SharpCompress](https://github.com/adamhathcock/sharpcompress) - This library includes code for handling compression + algorithms and compressed archives. Any need you have of compression or decompression should be handled with this + library, and any new algorithm should be added here. +* [Aaru](https://github.com/aaru-dps/Aaru/tree/master/Aaru) - This module contains the command line interface. In the + future a GUI will be added. +* [AaruRemote](https://github.com/aaru-dps/aaruremote) - Standalone small application designed to run on older machines + where Aaru does not run to allow device commands to be executed remotely. +* [Aaru.Checksums](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Checksums) - This module contains the checksum, + hashing and error correction algorithms. +* [Aaru.CommonTypes](https://github.com/aaru-dps/Aaru.CommonTypes) - This module contains interfaces, structures and + enumerations needed by more than one of the other modules. +* [Aaru.Console](https://github.com/aaru-dps/Aaru.Console) - This module abstracts consoles used by other modules to + output information, so they can be redirected to a CLI or to a GUI output. +* [Aaru.Core](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Core) - This module contains the implementation of the + functions and commands that are called by the user interface itself. +* [Aaru.Decoders](https://github.com/aaru-dps/Aaru.Decoders) - This module contains internal disk, drive and protocol + structures as well as code to marshal, decode and print them. +* [Aaru.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Devices) - This module contains code to talk with + hardware devices in different platforms. Each platform has lowlevel calls in its own folder, and each device protocol + has highlevel calls in its own folder. Device commands are separated by protocol standard, or vendor name. +* [Aaru.Device.Report](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Device.Report) - This is a separate application + in C89 designed to create device reports on enviroments where you can't run .NET or Mono but can run Linux. +* [Aaru.DiscImages](https://github.com/aaru-dps/Aaru/tree/master/Aaru.DiscImages) - This module provides reading + capabilities for the disk/disc images, one per file. +* [Aaru.DiscImages](https://github.com/aaru-dps/Aaru.Dto) - This module provides common structures between Aaru and + Aaru.Server. +* [Aaru.Filesystems](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Filesystems) - This module provides the + filesystem support. If only identification is implemented a single file should be used. For full read-only support, a + folder should be used. +* [Aaru.Filters](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Filters) - A filter is a modification of the data + before it can be passed to the disk image module + (compression, fork union, etc), and this module provides support for them. If a image is compressed, say in gzip, or + encoded, say in AppleDouble, a filter is the responsible of decompressing or decoding it on-the-fly. +* [Aaru.Helpers](https://github.com/aaru-dps/Aaru.Helpers) - This module contains a collection of helpers for array + manipulation, big-endian marshalling, datetime conversion, hexadecimal printing, string manipulation and byte + swapping. +* [Aaru.Partitions](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Partitions) - This module contains code for + reading partition schemes. +* [Aaru.Server](https://github.com/aaru-dps/Aaru.Server) - This module contains the server-side code that's running + at https://www.aaru.app +* [Aaru.Settings](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Settings) - This module contains code for handling + Aaru settings. +* [Aaru.Tests](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests) - This module contains the unit tests for the + rest of the modules. You should add new unit tests here but cannot run all of them because the test images they + require amount to more than 100GiB. +* [Aaru.Tests.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests.Devices) - This module presents a menu + driven interface to send commands to devices, as a way to test the Core module, as those tests cannot be automated. It + can be used to debug drive responses. ## How Can I Contribute? ### Reporting Devices -Aaru tries to be as universal as possible. However some devices do not behave in -the expected ways, some media is unknown and needs to be known prior to enabling dumping of it, -etc. +Aaru tries to be as universal as possible. However some devices do not behave in the expected ways, some media is +unknown and needs to be known prior to enabling dumping of it, etc. -For that reason, Aaru includes the [device-report command](https://github.com/aaru-dps/Aaru/wiki/Reporting-physical-device-capabilities). -Using this command will guide you thru a series of questions about the device, and if it -contains removable media, for you to insert the different media you have, and create a report -of its abilities. The report will automatically be sent to our server and saved on your computer. -Please note that we do not store any personal information and when possible remove the drive -serial numbers from the report. +For that reason, Aaru includes +the [device-report command](https://github.com/aaru-dps/Aaru/wiki/Reporting-physical-device-capabilities). Using this +command will guide you thru a series of questions about the device, and if it contains removable media, for you to +insert the different media you have, and create a report of its abilities. The report will automatically be sent to our +server and saved on your computer. Please note that we do not store any personal information and when possible remove +the drive serial numbers from the report. -If you have a drive attached to a computer that you cannot run the full Aaru on it -but can compile a C89 application, you can use [AaruRemote](https://github.com/aaru-dps/aaruremote) +If you have a drive attached to a computer that you cannot run the full Aaru on it but can compile a C89 application, +you can use [AaruRemote](https://github.com/aaru-dps/aaruremote) and an ethernet connection between that machine and a machine that can run the full Aaru. ### Reporting Bugs -This section guides you through submitting a bug report for Aaru. Following these guidelines -helps maintainers and the community understand your report :pencil:, reproduce the -behavior :computer: :computer:, and find related reports :mag_right:. +This section guides you through submitting a bug report for Aaru. Following these guidelines helps maintainers and the +community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports : +mag_right:. -Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you -might find out that you don't need to create one. When you are creating a bug report, please +Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you +don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out -[the required template](.github/ISSUE_TEMPLATE.md), the information it asks for helps us resolve -issues faster. +[the required template](.github/ISSUE_TEMPLATE.md), the information it asks for helps us resolve issues faster. -> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're -experiencing, open a new issue and include a link to the original issue in the body of your -new one. +> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one. #### Before Submitting A Bug Report -* **Check the [wiki](https://github.com/aaru-dps/Aaru/wiki)** for a list of common -questions and problems. +* **Check the [wiki](https://github.com/aaru-dps/Aaru/wiki)** for a list of common questions and problems. * **Determine [which module the problem should be reported in](#aaru-and-modules)**. * **Perform a [cursory search](https://github.com/search?q=+is%3Aissue+user%3Aclaunia)** -to see if the problem has already been reported. If it has **and the issue is still open**, -add a comment to the existing issue instead of opening a new one. + to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the + existing issue instead of opening a new one. #### How Do I Submit A (Good) Bug Report? -Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After -you've determined [which module](#aaru-and-modules) your bug is related to, -create an issue on that repository and provide the following information by filling in +Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've +determined [which module](#aaru-and-modules) your bug is related to, create an issue on that repository and provide the +following information by filling in [the template](.github/ISSUE_TEMPLATE.md). Explain the problem and include additional details to help maintainers reproduce the problem: * **Use a clear and descriptive title** for the issue to identify the problem. -* **Describe the exact steps which reproduce the problem** in as many details as possible. -For example, start by explaining how you started Aaru, e.g. which command exactly -you used in the terminal. Also note that some device commands requires you to have -administrative privileges, be in a specific group, or be the root user, so try it again with -escalated privileges. -* **Provide specific examples to demonstrate the steps**. Include links to media images, -reports of the devices, or the output of using [Aaru.Tests.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests.Devices). -* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. +* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by + explaining how you started Aaru, e.g. which command exactly you used in the terminal. Also note that some device + commands requires you to have administrative privileges, be in a specific group, or be the root user, so try it again + with escalated privileges. +* **Provide specific examples to demonstrate the steps**. Include links to media images, reports of the devices, or the + output of using [Aaru.Tests.Devices](https://github.com/aaru-dps/Aaru/tree/master/Aaru.Tests.Devices). +* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that + behavior. * **Explain which behavior you expected to see instead and why.** * **Include a copy of the output in the terminal** enabling both verbose, using the `-v` -command line parameter, and debug, using the `-d` command line parameter, outputs. -* **If you're reporting that Aaru crashed**, try doing the same with the debug -version and include a crash report with a stack trace. Include the crash report in the issue -in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a -[file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), -or put it in a [gist](https://gist.github.com/) and provide link to that gist. -* **If the problem wasn't triggered by a specific action**, describe what you were doing -before the problem happened and share more information using the guidelines below. + command line parameter, and debug, using the `-d` command line parameter, outputs. +* **If you're reporting that Aaru crashed**, try doing the same with the debug version and include a crash report with a + stack trace. Include the crash report in the issue in + a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a + [file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), or put it in + a [gist](https://gist.github.com/) and provide link to that gist. +* **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened and + share more information using the guidelines below. Include details about your configuration and environment: * **Which version of Aaru are you using?** * **What's the name and version of the OS you're using**? -* **Are you running Aaru in a virtual machine?** If so, which VM software are you -using and which operating systems and versions are used for the host and the guest? -* **Are you trying to execute a device command?** If so, who manufactured the device, which -model is it, and how is it connected to the computer? +* **Are you running Aaru in a virtual machine?** If so, which VM software are you using and which operating systems and + versions are used for the host and the guest? +* **Are you trying to execute a device command?** If so, who manufactured the device, which model is it, and how is it + connected to the computer? ### Suggesting Enhancements -This section guides you through submitting an enhancement suggestion for Aaru, including -completely new features and minor improvements to existing functionality. Following these -guidelines helps maintainers and the community understand your suggestion :pencil: and find -related suggestions :mag_right:. +This section guides you through submitting an enhancement suggestion for Aaru, including completely new features and +minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand +your suggestion :pencil: and find related suggestions :mag_right:. -Before creating enhancement suggestions, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). -Fill in [the template](.github/ISSUE_TEMPLATE.md), including the steps that you imagine you would -take if the feature you're requesting existed. +Before creating enhancement suggestions, +please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Fill +in [the template](.github/ISSUE_TEMPLATE.md), including the steps that you imagine you would take if the feature you're +requesting existed. #### How Do I Submit A (Good) Enhancement Suggestion? -Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). -After you've determined [which module](#aaru-and-modules) your enhancement suggestion -is related to, create an issue on that repository and provide the following information: +Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've +determined [which module](#aaru-and-modules) your enhancement suggestion is related to, create an issue on that +repository and provide the following information: * **Use a clear and descriptive title** for the issue to identify the suggestion. -* **Provide a step-by-step description of the suggested enhancement** in as many details as -possible. -* **Provide specific examples to demonstrate the steps**. If the feature is about a media image, -filesystem, partitioning scheme, or filter, please include as many test files as possible, -and if applicable which software created them. +* **Provide a step-by-step description of the suggested enhancement** in as many details as possible. +* **Provide specific examples to demonstrate the steps**. If the feature is about a media image, filesystem, + partitioning scheme, or filter, please include as many test files as possible, and if applicable which software + created them. * **Describe the current behavior** and **explain which behavior you expected to see instead** and why. * **List some other applications where this enhancement exists.** * **Specify which version of Aaru you're using.** @@ -231,43 +218,46 @@ Unsure where to begin contributing to Aaru? You can start by looking through the * [Beginner issues][beginner] - issues which should only require a few lines of code, and a test or two. * [Help wanted issues][help-wanted] - issues which should be a bit more involved than `beginner` issues. -Both issue lists are sorted by total number of comments. While not perfect, number of -comments is a reasonable proxy for impact a given change will have. +Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for +impact a given change will have. If you want to read about using Aaru, the [wiki](https://github.com/aaru-dps/Aaru/wiki) is available. -Do not modify the interfaces. If you need or want to, comment in an issue how and why you -want to change it and we'll discuss it. Same applies for creating new interfaces. +Do not modify the interfaces. If you need or want to, comment in an issue how and why you want to change it and we'll +discuss it. Same applies for creating new interfaces. -Aaru uses C# 7 language features (inline declaration, Tuples, etc.) so it can only -be compiled with [VisualStudio](http://www.visualstudio.com) 2017 or higher, [Xamarin Studio](https://www.xamarin.com/download) -7 or higher, [MonoDevelop](http://www.monodevelop.com) 7 or higher, or [JetBrains Rider](https://www.jetbrains.com/rider/) 2017.2 or higher. +Aaru uses C# 7 language features (inline declaration, Tuples, etc.) so it can only be compiled +with [VisualStudio](http://www.visualstudio.com) 2017 or higher, [Xamarin Studio](https://www.xamarin.com/download) +7 or higher, [MonoDevelop](http://www.monodevelop.com) 7 or higher, +or [JetBrains Rider](https://www.jetbrains.com/rider/) 2017.2 or higher. ### Pull Requests * Fill in [the required template](.github/PULL_REQUEST_TEMPLATE.md) * Do not include issue numbers in the PR title * Follow the [code styleguide](#code-styleguide). -* Include test files as applicable, that do not have software under copyright inside them, -if possible. +* Include test files as applicable, that do not have software under copyright inside them, if possible. * Document new code based using XML documentation wherever possible. * DO NOT end files with a newline. -* Avoid platform-dependent code, unless absolutely needed. Any call to a part of the -.NET framework that doesn't start with `System.` is probably platform-dependent. +* Avoid platform-dependent code, unless absolutely needed. Any call to a part of the .NET framework that doesn't start + with `System.` is probably platform-dependent. * Do not call libraries external to .NET. Only Interop calls to the operating system kernel -(that is `KERNEL32.DLL` in Windows and `libc` in others) will be accepted. If you need to -talk with a USB devices your pull request must implement calls both to `WinUsb` and `libusb`. + (that is `KERNEL32.DLL` in Windows and `libc` in others) will be accepted. If you need to talk with a USB devices your + pull request must implement calls both to `WinUsb` and `libusb`. ### Patronizing + If you want to donate money you can become a patron at https://www.patreon.com/claunia ### Donating + You may donate us one of the [devices we need](NEEDED.md). ### Needed information -If you have test images, imaging applications that generate formats we do not support, or -documentation about media dump formats, filesystems or partitioning schemes we do not -support, you can provide us with that information to add support for them. + +If you have test images, imaging applications that generate formats we do not support, or documentation about media dump +formats, filesystems or partitioning schemes we do not support, you can provide us with that information to add support +for them. ## Styleguides @@ -289,8 +279,7 @@ support, you can provide us with that information to add support for them. - Do not use `var` ever. - `else`, `while`, `catch` and `finally` should be on a new line. - If you know C apply a simple rule: Be as C as and as less C# or C++ as possible. -- If you will only store variables, use a struct. If you need it to be nullable, use a -nullable struct if applicable. +- If you will only store variables, use a struct. If you need it to be nullable, use a nullable struct if applicable. - Indent statements and cases. - Indent using 4 spaces (soft tab). - Instace and static fields should be lowerCamelCase. @@ -298,8 +287,7 @@ nullable struct if applicable. - Separate attributes. - Use 120 columns margins. - Use built-in keywords: `uint` instead of `UInt32`. -- Use expression bodies only for properties, indexes and events. For the rest use block -bodies. +- Use expression bodies only for properties, indexes and events. For the rest use block bodies. - Use implicit modifiers. - Use inline variable declaration. - Use struct implicit constructor. diff --git a/Changelog.md b/Changelog.md index fc103ab00..e26e90957 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,30 +1,40 @@ # [5.2.99.xxxx] - 2021-xx-yy + ## Added + ### - Aaru Image Format + - DVD CSS related structures. ### - AaruRemote + - Use system URI parser to parse AaruRemote endpoints. Allows to set different ports. ### - Alcohol 120% disc image + - Support for images created by CDRWin 10 and GameJack. - Support incorrect implementation of images with track 1 pregap made by UltraISO. ### - Apple DOS interleaved disk images + - Support for 13-sector Apple DOS images. ### - Apple Universal Disk Image Format + - Detect LZMA chunks. ### - BlindWrite 4 disc image + - Consider there is subchannel if we have a subchannel file, ignoring header. - Reverse engineer unknown field that adjusts the file offset per track. ### - BlindWrite 5/6 disc image + - Return empty data where only some tracks has subchannel. - Support split images. ### - CDRWin cuesheet disc image + - Check if media is a CD when generating track list. - Detect corrupt DVD images created by PowerISO and stop processing. - Detect incorrect images created by MagicISO. @@ -34,26 +44,32 @@ - Show error message when trying to convert multi-session Redump dumps. - Support Redump GD-ROM dumps. - Support writing with hidden tracks (NOT CD-i Ready). -- Try to detect, and workaround, disc images that lack the first track data when there's a hidden track, as such created by PowerISO. +- Try to detect, and workaround, disc images that lack the first track data when there's a hidden track, as such created + by PowerISO. ### - CloneCD disc image + - More possible values for track mode and index handling. - Process track entries. ### - Device information + - Check Extended CSD is empty on device info. ### - Device report + - Check support for SCSI READ LONG(16) in device report. - Try other ways of getting the SCSI MODE SENSE values that are more effective with certain devices. - Workaround firmware bug in Lite-On iHOS104. ### - Devices + - Better decoding of SecureDigital Card Register. - More fields to MultiMediaCard's Extended CSD. - Enlarge sense buffer to 64 bytes. ### - Dumping + - Do not cross into each session's first track pregap as this makes some drives fail. - Dumping of CSS disc key and title keys. - Enable storing decrypted CSS sectors. @@ -64,6 +80,7 @@ - Write MMC/SD card registers to image before closing it. ### - FAT filesystem + - Check entire FAT validity to fix identifying between FAT12 and FAT16. - Check which FAT is valid (first or second) and use it for FAT12 and FAT16. - Do not return *invalid argument* when reading a 0-byte sized file. @@ -74,25 +91,31 @@ - Support for FAT32 volumes that uses *sectors* field in BPB. ### - HD-Copy disk image + - Support for different or newer format. ### - Image information + - Show Pre-Recorded Information (PRI). ### - ISO9660 filesystem + - Do not stop processing a directory when there is 1 or more sectors of data left to process. - Mounting volumes with an invalid path table. ### - Media detection + - Detect when DVD book type is different from drive's firmware profile. - PlayStation 5 Ultra HD Blu-ray game discs. - Ultra HD Blu-ray. - Xbox Game Disc 4 (Xbox One). ### - Media images + - DiskDupe (DDI) image format. ### - Media information + - Decode Pre-Recorded Information. - More media manufacturers. - Print Disc Key and Sector CMI information. @@ -100,9 +123,11 @@ - Show hidden track. ### - Media scan + - Allow scanning Audio CD on drives that don't allow READ(12) on them. ### - Nero Burning ROM disc image + - Detect incorrect images where the track mode does not match with the track sector size and try to workaround it. - Implement support for Nero Burning ROM 4 disc images. - Support alternate audio track mode number in disc images. @@ -112,28 +137,36 @@ - Workaround MagicISO bug in images with more than 15 tracks. ### - RAW (sector by sector) disk image + - Support setting sector size in raw image when the extension describes it. ### - SCSI response decoders + - Decode fixed or descriptor SCSI sense in a single pass, use whichever was returned by drive. - Do not skip pages when decoding a page longer than the MODE SENSE buffer. ### - Universal Disk Format filesystem + - Recognize volumes that expected a 2048 bytes per sector device but are in a 512 bytes per sector image. - Set volume serial as volume set identifier. ### - VirtualBox disk image + - Support for version 1.1+ geometry. ## Fixed + ### - Aaru Image Format + - Images that got a wrong track end beyond a leadout on dumping. - Workaround for corrupt multisession AaruFormat images. ### - AaruRemote + - Ensure remotes pointing to a UNIX device node have the proper absolute path slash. ### - Alcohol 120% disc image + - Prevent writing non-long sectors. - Reading images with a hidden track. - Reading images with pregaps. @@ -141,25 +174,31 @@ - Taking account of session start pregaps when writing Alcohol 120% images. ### - AmigaDOS filesystem + - Guard identification against too small partitions. ### - Apple New Disk Image Format + - Prevent identifying obsolete UDIF images. ### - Apple Universal Disk Image Format + - Data offset. - Reading obsolete RO images, these require resource fork. - Sectors in obsolete RO images. ### - BlindWrite 4 disc image + - Reading images with pregaps. - Track flags. ### - cdrdao disc image + - Track properties. - Return session. ### - CDRWin cuesheet disc image + - Calculation of sizes when it has *CDG* tracks. - Completely wrong handling of *PREGAP* value. - Do not allow CD-only tags on non-CD media. @@ -169,6 +208,7 @@ - Skipping non-present pregap images when there is more than one. ### - CloneCD disc image + - Detection of track mode. - File offsets when reading multisession images. - Image size calculation. @@ -178,17 +218,21 @@ - Track 1 pregap. ### - Commands + - Do not crash without configuration when no argument is used. - Do not try to read arguments when there are none. ### - CPCEMU Disk-File and Extended CPC Disk-File disk image + - Interleaved sectors numbers. - Reading of images where the headers have different case. ### - CP/M File System + - Handling filenames that contain a forward slash. ### - Devices + - 48-bit ATA commands. - Block size for SD cards, that must always be read using 512b blocks even if their CSD says otherwise. - Block size from READ(16). @@ -203,6 +247,7 @@ - Stack corruption when sending multiple MMC/SD commands in Linux. ### - DiscJuggler disc image + - Be more lenient with unknown data images. - Correct image size. - Do not generate long sectors on non-CD media. @@ -212,6 +257,7 @@ - Track flags not readable. ### - Dumping + - Creating sidecar from MMC trying to hash non-existing SD registers. - Pregap calculation on first tracks of each session when dumping CDs. - Re-setting track end when correctly reading a new subchannel that changes the next track start. @@ -220,6 +266,7 @@ - Use a bigger buffer for READ TOC command that was preventing dumping > 90 track discs. ### - FAT filesystem + - Add a guard for FAT12 and FAT16 to prevent an exception on invalid FAT chains. - Clusters calculation in FAT12 and FAT16. - Fix reserved FAT entries. @@ -232,27 +279,34 @@ - Regression in setting timestamps from FAT filesystems. ### - Filesystems + - Creation of destination folders when extracting files. - Extracting extended attributes ### - Flash-Friendly File System (F2FS) + - Guard against reading beyond partition end when identifying. ### - Image conversion + - Converting tape images using command line. ### - Image verification + - Off by one error when verifying disc images with tracks. ### - ISO9660 filesystem + - Extents not being created for 0 byte files in High Sierra, ISO9660 and CD-i volumes. - ISO9660, High Sierra and CD-i volumes where the directories span multiple sectors. ### - Kreon firmware (XGD dumping and information) + - Correct calculations on dumping and media information. - Ensure Kreon commands return proper error status. ### - Media detection + - Detecting CD-R and CD-RW when dumping if drive reports as CD-ROM. - DVD discs being detected always as -ROM when the drive returned this profile on dump. - Misdetecting optical discs as flash drives. @@ -260,13 +314,16 @@ - XGD. ### - Media images + - Fix full TOC generation. ### - Media scan + - Calculating blocks to read when dumping or scanning MMC/SD. - Seeking test in SD/MMC media scan. ### - Nero Burning ROM disc image + - Incorrect size in multisession media. - Invalid pregaps detected. - Long sectors returning subchannel. @@ -278,41 +335,54 @@ - Wrong sessions in some media. ### - Parallels disk image + - Images bigger than 4GiB. ### - QEMU Copy-On-Write disk image + - Align structures when writing. ### - QEMU Copy-On-Write v2 disk image + - Tables calculations that crashed and made unreadable images. ### - RAW (sector by sector) disk image + - Getting tracks when writing raw image. - Returned track properties in raw ISO images. ### - Reiser 3 filesystem + - Volume label decoding. ### - SCSI response decoders + - Descriptor sense decoding. - Skip invalid EVPD page 80h if it contains non-ASCII characters. ### - UNICOS filesystem + - Guard against reading beyond partition end when identifying. ### - Universal Disk Format filesystem + - Regression in volume identification. ### - VirtualBox disk image + - Working with disk images bigger than 4GiB. ### - VirtualPC disk image + - Reading disk images bigger than 4GiB. - Reading dynamic images. ### - Xbox FAT filesystem + - Exchange access and creation timestamps. + ## Changes + - Add command line to pause before exiting. - Clarify anonymouslity of stats sharing. - Consider 0 to be "current default timeout", otherwise some device commands / operating system combinations fail. @@ -337,33 +407,45 @@ - Use SCSI reader detection of maximum supporter blocks to read at once when scanning non-CD media. # [5.2.0.3330] - 2020-12-03 + ## Added + ### - Aaru Image Format + - Enable checksums by default when writing. ### - Alcohol 120% disc image + - Support writing PhotoCD. ### - cdrdao disc image + - Support writing PhotoCD. ### - CDRWin cuesheet disc image + - Support writing PhotoCD. ### - CloneCD disc image + - Support writing PhotoCD. ### - Device report + - Check DVD-RAM if the drive claims to be able to read any DVD based format. - Use features to see MMC drives read capabilities. ### - ISO9660 filesystem + - Support a block size different from 2048 bytes. ### - Media detection -- Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim later). + +- Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim + later). ### - Media information + - Add detection of 44Mb Bernoulli Box II disks. - Add detection of 150Mb Bernoulli Box II disks. - Add detection of ECMA-322 / ISO/IEC 22092 1024bps magneto-optical disks. @@ -373,7 +455,9 @@ - Add detection of SyQuest SQ400 disks. ## Fixed + ### - Aaru Image Format + - Fix reporting track flags and ISRCs on non-CD media. - Fix resuming subchannel and other CD structures. - Fix when writing subchannel that doesn't belong to any track. @@ -381,20 +465,24 @@ - Remove check for track crossing when writing. ### - AaruRemote + - Catch when host is already an IP address. - Cover closing remote connection when socket is disposed. - Remove trailing slash on remote device command. ### - AppleSingle filter + - Do not try to open non-existing file. ### - BlindWrite 4 disc image + - Fix images that contain sectors 150 sectors of first track pregap. - Fix off by one track ends. - Fix track file offsets in BlindWrite 4 disc images. - If any track has subchannel, the subchannel sidecar file contains them for all tracks. ### - BlindWrite 5/6 disc image + - Add sessions. - Fix cross track detection. - Fix disc size calculation. @@ -403,23 +491,29 @@ - Fix setting track session. ### - cdrdao disc image + - Prevent empty ISRC from being added. ### - CDRWin cuesheet disc image + - Prevent empty ISRC from being added. ### - CloneCD disc image + - Fix indexes. ### - DiscJuggler disc image + - Do not try to read descriptors if there are none. - Fix cross track detection. ### - Dumping + - Add classifying rw full off 0xFF as being empty - Check MMC drive profile when dumping. - Consider RW subchannels as ok if some are all 0s and some are all 1s. -- Consider the last sector of all the tracks on a DVD or Blu-ray as the last block on disc even if drive tells otherwise. +- Consider the last sector of all the tracks on a DVD or Blu-ray as the last block on disc even if drive tells + otherwise. - Continue printing SCSI sense buffer in error log even if we have an operating system error. - Disable FUA to fix reading from old SCSI disks. - Do not generate subchannels if aborted. @@ -433,22 +527,27 @@ - Fix retrieving CD drive offsets from database when model or manufacturer contains a slash. - Get back tracks, indexes, MCN and ISRCs from resumed file. - Guard against some firmware bugs when getting DVD/BD track number and length. -- Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim later). +- Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim + later). - Hardcode read command and blocks to read if we cannot calculate them for magneto-opticals. - If device returns "corrected error", consider it as a good read. - Use image capabilities when dumping CDs. ### - FAT filesystem + - Fix reading volume name from incorrect implementations that fill it with NULs. ### - ISO9660 filesystem + - Fix extended attributes. - Reject processing a path table that doesn't start with the root directory. ### - MacBinary filter + - Do not try to open non-existing file. ### - Media detection + - Do not decode invalid ATIP data. - Fix detection of CD-i Ready discs when negative offset and drive cannot read negative sectors. - Fix detection of dual layer DVDs. @@ -456,15 +555,16 @@ - Fix detection of version 3 and upper DVD-RW and DVD-RW DL. - Fix negative offset calculating when detecting scrambled CD-i Ready. - ### - XZ filter + - Fix crashing when file is too small. ### - RAW (sector by sector) disk image + - Fix capabilities. - ## Changes + - Add new issue templates. - Add support for dumping CDs to images that only support cooked user data. - Allow to dump the video partition of XGD discs when forced is enable. @@ -479,32 +579,39 @@ - Scan blank blocks in magneto-optical disks before dumping, and do not treat them as errors. - Use track 1's first sector to check readability of CompactDisc media. - # [5.1.0.3214] - 2020-07-25 + ## Added + ### - Aaru Image Format + - Save Compact Disc track indexes in. - Support reading mode2 subheaders. - Support writing multi-session DVD/Blu-ray in Aaru Image Format and CDRWin. ### - BlindWrite 4 disc image + - Add reading subchannels. ### - CDRWin cuesheet disc image + - Support Redump GD-ROM variant. - Support writing multi-session DVD/Blu-ray in Aaru Image Format and CDRWin. - Write proper Lead-Out entry on CDRWin images. ### - Device report + - Add MediaTek command F1h subcommand 06h to device report. - Add test for reading Lead-Out using a trap disc. - Support creating device reports of MiniDisc Data drives. ### - Devices + - Add ATA commands for lock, unlock and eject. - Add READ TRACK INFORMATION command from SCSI MMC. ### - Dumping + - Add dumping MD DATA discs. - Add floptical detection. - Add list of files for media dump command. @@ -526,21 +633,26 @@ - Write subchannel log when dumping Compact Disc media. ### - Image analysis + - Print track indexes in image info. ### - Image conversion + - Add option to fix subchannels on image conversion. - Add option to generate subchannels. ### - ISO9660 filesystem + - Add interpretation of timezone offsets. - Check if PVD points to the real root directory, if not check path table, if neither do not mount. - Expose MODE2 subheaders as extended attributes. ### - Media image formats + - Add generation of RAW CD sectors from images that do only contains them cooked. ### - Media information + - Add detection of CD32 and CDTV discs. - Add detection of China Video Disc. - Add detection of HiFD floppies. @@ -555,14 +667,17 @@ - Show the reasons while a media type has been chosen on detection. ### - Media types + - Add China Video Disc media type. ### - Metadata sidecar + - Add media catalogue number, track isrc, flag and indexes. - ## Fixed + ### - Aaru Image Format + - Clarify error message in case of corrupted prefix/suffix data. - Ensure FLAC buffer is finished correctly. - Fix marking CD track flags and ISRCs as present. @@ -570,18 +685,22 @@ - Sectors with no entry in the DDTs to be considered not dumped. ### - Acorn Advanced Disc Filing System + - Fix identification of some variants. ### - Alcohol 120% disc image + - Fix message about incorrect images showing with correct images. - Fix saving proper pregap, length and offset. - Fix writing multi-session images. - Write extra field in Alcohol for tracks that don't have it (POINT>=A0h). ### - BlindWrite 4 disc image + - Fixed track offsets and pregaps in BlindWrite 4 images. ### - BlindWrite 5/6 disc image + - Fix identifying BlindWrite 5 vs 6. - Fix images that contain a non existent data file. - Fix multi-session images. @@ -589,14 +708,17 @@ - Fix reading subchannels. ### - cdrdao disc image + - Fix writing indexes. ### - CDRWin cuesheet disc image + - Fix reading images that do not have track mode in all caps. - Fix reading multi-session images. - Fix writing indexes. ### - CloneCD disc image + - Fix reading multi-session images. - Fix subchannels. - Fix track solving. @@ -604,24 +726,29 @@ - Fix writing pregap mode. ### - Database + - Ensure not adding duplicate seen devices to database. ### - Device report + - Correctly handle report of pregap and Lead-in readability. - On device report try only a few sectors from track 1 pregap. ### - Devices + - Add SCSI MEDIUM SCAN command. - Do not show information about CD offsets in device info when device is not an MMC class device. Fixes #357 - Fix getting serial from USB or FireWire. ### - DiscJuggler disc image + - Fix incorrect mode2 handling. - Fix indexes and track starts. - Fix partition calculations. - Fix session sequence in tracks. ### - Dumping + - Do not cross Lead-out in data tracks. - Do not show speed burst if they have not been set. - Fix calculating offset using scrambled read as audio when device is in database. @@ -641,22 +768,27 @@ - If block 0 can not be read, try another random block before deciding media cannot be read, for SBC and ATA. - If track mode can not be guessed, try again after pregap. - Make pregap calculation faster in some drive/disc combinations. -- On errors when dumping with INSITE floptical drives, always stop, as these drives have a SCSI bus quirk that makes them need a reset on modern software stacks after an error has been found. +- On errors when dumping with INSITE floptical drives, always stop, as these drives have a SCSI bus quirk that makes + them need a reset on modern software stacks after an error has been found. - Trim as audio when we know it is an audio sector, fixes some firmware bugs in audio pregap after a data track. - Update the pregap while dumping if found to be bigger than known one. - Use SCSI MEDIUM SCAN to find the first readable block. ### - FAT filesystem + - Do not try to read EAs from FAT16 directory entry field when it is a FAT32 volume. - Fix false positive in FAT identification. ### - Image analysis + - Do not calculate pregaps on non-CD optical disc images. ### - Image conversion + - Fix overwriting flags and isrc in all CD writable image formats. ### - ISO9660 filesystem + - Fix files of size 0. - Fix listing extended attributes for empty files. - Fix reading directories that span more than a sector when detecting media type. @@ -664,45 +796,56 @@ - If use path table option is indicated, use it also for the root directory. ### - MAME Compressed Hunks of Data + - Disable support for CHD v5 until it can be fixed properly. - Fix indexes and pregap. ### - Media information + - Discard PMA without descriptors. - Display media sizes in international system units. ### - Metadata sidecar + - Disable trying to checksum between sessions, as all images throw an exception here. - Fix creating sidecar when a track's index 0 is negative. ### - Nero Burning ROM disc image + - Fix off by one error reading. - Fix reading multi-session images. ### - Statistics + - Fix sending media formats statistics. - ## Changes + - Change database name to be more inclusive. - Move common subchannel code to decoders. - Optimize speed when reading subchannels. - Read with subchannel even if not supported by image or not asked by user. - Send statistics at program end, not start. - # [5.0.1.2884] - 2020-04-23 + ## Fixed + ### - Aaru Image Format + - Fixes data loss on certain Compact Disc audio tracks when dumping in Aaru Format with compression enabled. # [5.0.0.2879] - 2020-03-15 -- First and most importantly, we got a rename. We're now Aaru, part of the Aaru Data Preservation Suite, that encompasses Aaru (previously DiscImageChef), -Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) and aaruremote. + +- First and most importantly, we got a rename. We're now Aaru, part of the Aaru Data Preservation Suite, that + encompasses Aaru (previously DiscImageChef), Aaru.Server (previously DiscImageChef.Server), aaruformat (previously + dicformat) and aaruremote. - This release is dedicated to the loving memory of Facunda "Tata" Suárez Domínguez, R.I.P. 2019/07/24. ## Added + ### - Aaru Image Format + - Add ".aif" as a supported extension. - Add CD Mode 2 sector reconstruction. - Claunia Subchannel Transform algorithm. Makes subchannel compress 100% faster and 25% better. @@ -713,9 +856,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Update template with block addressable tape types. ### - CDRWin cuesheet disc image + - Save metadata in CDRWin cuesheet. ### - Database + - Add entities for USB vendor and product IDs. - Add entry for optimal count of sectors for multiple read in devices. - Added new database system @@ -727,6 +872,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Submit pending statistics in background. ### - Device report + - Add check for Nintendo discs. - Add new CompactDisc and Blu-ray variants. - Add test for inter-session reading in multi-session discs. @@ -744,6 +890,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support iomega REV disks. ### - Dumping + - Add default value for writable image options. - Add option to not store paths and serial numbers when dumping. - Add support for CD-i Ready. @@ -759,9 +906,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support PD650 discs. ### - Filesystems + - Full read-only implementation of Xbox and Xbox 360 FAT filesystems ### - FAT filesystem + - Full read-only implementation. - Support for Microsoft FASTFAT long file names. - Support for OS/2 Extended Attributes. @@ -771,6 +920,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support for Sharp X68000 extended filenames. ### - ISO9660 filesystem + - Full read-only implementation for CD-i filesystem. - Full read-only implementation for High Sierra Format. - Full read-only implementation for ISO 9660 (up to level 4). @@ -783,10 +933,12 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support for Romeo variant. ### - Media image formats + - Add support for DataPackRat's f2d/d2f disk images. - Full read/write support for CopyTape tape images. ### - Media information + - Add another value for Mitsubishi Chemical ATIP frame number. (97:34:22) - Detect 3DO discs. - Detect Atari Jaguar CD discs. @@ -817,6 +969,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Detect TR-4 and TR-5. ### - Media types + - Add Amiga CD32 - Add Amiga CDTV. - Add another DDS1 SCSI medium type. @@ -833,50 +986,64 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Add Sega MilCD. ### - Metadata sidecar + - List and hash filesystem contents when creating a sidecar. ### - Opera filesystem + - Full read-only implementation. ### - SCSI response decoders + - Add encoder for ATA IDENTIFY (PACKET) DEVICE. - Add encoder for SCSI INQUIRY. - Add encoder for SCSI MODE PAGE 2Ah. ## Fixed + ### - Aaru Image Format + - Don't initialize LZMA when compression is disabled. - Ensure all LZMA allocations are freed when closed. - Fix double negation options - Fix reading MODE2 sectors with incorrect EDC/ECC correctly. ### - Alcohol 120% disc image + - Fix media size calculation when reading Alcohol images with several pregaps. ### - Apple Hierarchical File System + - Fix interpretation of the Apple boot block. ### - CDRWin cuesheet disc image + - Fix pregap reading in CDRWin format. - Fix pregap writing in CDRWin format. ### - Checksum + - Optimize SpamSum ### - CPCEMU Disk-File and Extended CPC Disk-File disk image + - Fix images not recognized as such. ### - CP/M File System + - Fix the CPM filesystem detection and file listing ### - Device report + - Allow ASC 28h in streaming device report. - Eject media once reported. - Fix SCSI Streaming Command device reporting. -- On streaming device report do not LOAD as the tape is already in loaded state once inserted in the drive, and some old drives get confused. +- On streaming device report do not LOAD as the tape is already in loaded state once inserted in the drive, and some old + drives get confused. - Retry 50 times as tapes can take long to be ready. ### - Devices + - Allow opening read-only devices on Linux. - Allows opening some devices in non-administrator mode. - Close device when finished command execution. @@ -888,9 +1055,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - In Windows, close the device handle, to prevent an exception being raised. ### - Dreamcast GDI disc image + - Fix reading pregap in GDI images. ### - Dumping + - Check which LOCATE version is supported regardless of the next block on resume. - Correct device not ready error messages on dumping SCSI. - Fix Compact Disc type detection @@ -911,44 +1080,55 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - When SCSI device is becoming ready, wait more, as tapes can take a long time to become ready. ### - Filesystems + - Fix extracting file from filesystems with subdirectories. - Fix listing files walking thru subdirectories. - Stylize output when listing files. ### - IBM Journaled File System + - Fix decoding of volume label. ### - Image analysis + - Fix crash in partitions enumeration. - Treat tape files as partitions. ### - Image comparison + - Do not compare metadata between two images. ### - Image conversion + - Checking if input tracks is null when converting image. - Fix showing sector where conversion fails. ### - Image filters + - Fix bzip2 initialization. ### - Image verification + - Fix verify command when image can represent optical media, but doesn't. ### - ISO9660 filesystem + - Do not set ISO identifiers in XML metadata if they are empty. - Fix reading application identifier from ISO9660. - Fix trimming of null character and spaces in Joliet volume descriptor. ### - Macintosh File System + - Correct behaviour when path starts with directory separator. - Fix interpretation of the Apple boot block. ### - Media information + - Fix media type detection from SBC devices. - Fix support for 128Mb 3.5" magneto optical. ### - Metadata sidecar + - Calculate tape hashes in smaller chunks as tapes can have huge blocks. - Fix error creating sidecar with DVD's CMI. - Fix media type sidecar on DVD based console discs. @@ -956,27 +1136,34 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Fix when USB descriptors are null at sidecar creation after dump. ### - Nero Burning ROM disc image + - Fix offset by 1 that prevented reading the last sector of every track. ### - RAW (sector by sector) disk image + - Do not allow CDs with more than one tracks, or non-mode1 tracks to be written as raw images (.iso). - Fix dumping CDs in raw image format (.iso). ### - SCSI response decoders + - Protect against null mode pages. ### - SecureDigital devices + - Fix overflow on SecureDigital CSD v2.0 size calculation. ### - VirtualPC disk image + - Conversion optimizations make opening images up to 38 times faster. ## Changes + - Add binary packages for major targets. - Add mime database file for Linux systems to correctly recognize aaruformat images. - Add support to use devices remotely with Aaruremote. - Change command line to a cleaner and more natural system. -- Complete CompactDisc dumping rewrite, allowing fixing audio tracks offset, more correct audio track dumping, workarounds firmware bugs from several common drives and gives more preservation-quality dumps. +- Complete CompactDisc dumping rewrite, allowing fixing audio tracks offset, more correct audio track dumping, + workarounds firmware bugs from several common drives and gives more preservation-quality dumps. - Deprecate Mono and .NET Framework. - Fix null reference exception on verify. - Fix overflow with small sectors in Apple Partition Map. @@ -989,8 +1176,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Use .NET Core. # [4.5.1.1692] - 2018-07-19 + ## Fixed + ### - Alcohol 120% disc image + - Correct writing images of Compact Disc >= 60 min - Correct writing MODE2 tracks to image - Correct writing TOC to image @@ -998,38 +1188,49 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Generation of pregaps changing tracks # [4.5.0.1663] - 2018-06-24 + ## Added + ### - Alcohol 120% disc image + - 010editor template. - Support for creating images. ### - Apple New Disk Image Format + - Support RLE compressed images. ### - Blindwrite 4 disc image + - 010editor template. - Information about why this format cannot support writing. ### - Blindwrite 5 disc image + - 010editor template. - Information about why this format cannot support writing. ### - DART disk image + - Support RLE compressed images. ### - Decoders + - Added Blu-ray DI decoders. - Support decoding 2048 bytes PFI. ### - Devices + - On Linux try to open in read/write and exclusive mode, if not retry in readonly. - On Linux use direct SG_IO. - Workaround some Blu-ray drives not reporting correct size on READ DISC STRUCTURE. ### - DiscJuggler disc image + - Information about why this format cannot support writing. ### - Dumping + - Added support for CD drives that don't return a TOC. - Added support for CD drives that don't support READ CD command. - Added support for Compact Disc that don't report tracks. @@ -1038,128 +1239,167 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Dump MCN. - Fix reading PW subchannels. - Separate trimming from error retry. -- When dumping CDs in persistent mode, try disabling L-EC check if drive doesn't support TB bit, or doesn't return data with TB bit enabled. +- When dumping CDs in persistent mode, try disabling L-EC check if drive doesn't support TB bit, or doesn't return data + with TB bit enabled. - When dumping, print bad sectors to dump log. ### - FAT filesystem + - Add list of known boot sector hashes. - Support Human68k FAT16 BPB. ### - Filesystems + - Detecting High Performance Optical File System (HPOFS). - Detecting Microsoft Resilient filesystem (ReFS). - Detecting PC-FX executable tracks. - Detecting Xia filesystem. ### - Apple 2IMG disk image + - Support for creating images. ### - Anex86 disk image + - Support for creating images. ### - Apple II interleaved disk image + - Support for creating images. ### - Apple Universal Disk Image Format + - Support for creating images. - Support RLE compressed images. ### - Apridisk disk image + - Support for creating images. ### - Basic Lisa Utility disk image + - Support for creating images. ### - cdrdao disc image + - Support for creating images. ### - CDRWin cuesheet disc image + - Support for creating images. ### - CisCopy disk image + - Support for creating images. ### - CloneCD disc image + - Support for creating images. ### - Digital Research DISKCOPY disk image + - Support for creating images. ### - DiskCopy 4.2 disk image + - Support for creating images. ### - IBM SaveDskF disk image + - Support for creating images. ### - MaxiDisk disk image + - Support for creating images. ### - NHDr0 disk image + - Support for creating images. ### - Parallels disk image + - Support for creating images. ### - QEMU Copy-On-Write disk image + - Support for creating images. ### - QEMU Copy-On-Write v2 disk image + - Support for creating images. ### - QEMU Enhanced Disk image + - Support for creating images. ### - RAW (sector by sector) disk image + - Added geometry and size for ZIP100 and ZIP250. - Support 2448 bytes/sector and 2352 bytes/sector CD images. - Support media tags. ### - Ray Arachelian's disk image + - Support for creating images. ### - RS-IDE disk image + - Support for creating images. ### - T98 Hard Disk Image + - Support for creating images. ### - Virtual98 disk image + - Support for creating images. ### - VirtualBox disk image + - Added image type and flags. - Support for creating images. ### - VirtualPC disk image + - Support for creating images. ### - VMware disk image + - Support for creating images. ## Fixes + ### - Apple DOS filesystem + - Use Apple II character set encoding. ### - Apple ProDOS filesystem + - Use Apple IIc character set encoding. ### - BlindWrite 4 disc image + - Fix incorrect pregap calculation preventing images from showing correct data. ### - CICM metadata + - Can now get dump hardware information from images. ### - cdrdao disc image + - Fix audio track endian. - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - CDRWin disc image + - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - CloneCD disc image + - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - Checksums + - Correct CD ECC. - Correct CD EDC. - Fix CRC16 returning a 32-bit value. @@ -1168,6 +1408,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Fix Fletcher-32. ### - Create sidecar + - Add filesystems only to the appropriate partition and track. - Fix CD first track pregap, TOC and XGD tags. - Fix diameter setting. @@ -1175,13 +1416,16 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Fix USB descriptors. ### - DART disk image + - Fixed endian. ### - Devices + - Fix sending READ LONG commands to ATA devices. - Fixed crashing with some rogue SCSI MMC firmwares. ### - Dumping + - Correctly detect CD-i, CD+ and CD-ROM XA. - Correctly detect Mode 2 Form 1 and Form 2. - Do not retry when retry passes are zero. @@ -1192,38 +1436,49 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Send error recovery MODE before retrying sectors. ### - HDCopy disk image + - Fix sector calculation. ### - Image comparison + - Fix when sessions are null. ### - Image verification + - Corrected status printing. ### - ISO9660 filesystem + - Do not try to read past partition if El Torito indicates image goes beyond limits. - Fix when root directory is outside of device. - Skip null terminated strings in ISO9660 fields. ### - Lisa filesystem + - Corrected character set encoding. ### - Macintosh filesystem + - Corrected character set encoding. ### - PC-98 Partition Table + - Prevent some FAT BPBs to false positive as PC-98 partition tables. ### - RT-11 filesystem + - Use Radix-50 character set encoding. ### - System V filesystem + - Fix partition bounds. ### - VirtualPC disk image + - Corrected reading non-allocated blocks. ## Changes + - Added command to convert disc images. - Added command to get information about an image and its contents. - Added D/CAS-25, D/CAS-85 and D/CAS-103 formats. @@ -1247,39 +1502,52 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support newest XDG Base Directory Specification for Linux. # [4.0.1.0] - 2018-01-06 + ## Fixes + ### Apple DOS and ProDOS interleaved disk images + - Fixed interleaving values. ### Apple Nibble disk image + - Fixed detection of DOS vs ProDOS sector order. ### Apple 2IMG disk image + - Fixed deinterleaving of DOS and ProDOS sector order. - Fixed denibblizing images. ### Apple ProDOS filesystem + - Fixed detection on Apple II disks. ### UCSD Pascal filesystem + - Added support for Apple II variants (two physical sectors per logical sector and little endian fields). # [4.0.0.0] - 2017-12-25 + ## Added + ### - Advanced Disc Filing System + - Added support for ADFS-S, ADFS-M, ADFS-L, ADFS-D, ADFS-E, ADFS-E+, ADFS-F, ADFS-F+ and ADFS-G. ### - Apple Partition Map + - Added support for decoding Driver Description Map. - Added support for maps without Driver Description Map. - Added support for old partition table. ### - Commands + - Added separate application to debug commands sent to devices. - list-devices: Lists devices that can be used for device dependent commands. - list-encodings: Lists supported character encodings. ### - Create Sidecar command + - Added support for hashing DiscFerret flux images. - Added support for hashing KryoFlux STREAM flux images. - Added support for hashing SuperCardPro flux images. @@ -1291,22 +1559,26 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Use dump drive information from images that support it. ### - Decoders + - Xbox DMI. - Xbox Security Sectors. ### - Devices + - MMC. - PCMCIA block devices. - SCSI Streaming Devices (aka "tapes"). - SecureDigital. ### - Device commands + - Add ATA and SCSI commands support for FreeBSD. - Add ATA commands support for Windows. - Add retrieval of USB information on Windows. - Add SecureDigital/MMC commands support for Windows. ### - Disc images. + - Alcohol 120%. - Anex86. - Apple DOS interleaved (.do). @@ -1347,11 +1619,13 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - X68k .DIM. ### - DiskCopy 4.2 disk image + - Added support for invalid images that use little-endian values. - Added support for images created by macOS that don't have a format byte set. - Use resource fork to get DiskCopy version used to create them. ### - Dumping + - Added the ability to resume a partially done dump, even on a separate drive. - Added the ability to skip dumping the Lead-in. - Allow creation of a separate subchannel file. @@ -1361,16 +1635,19 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - XGD with Kreon drives. ### - ext2/3/4 filesystem + - Added new superblock fields. - Added support for devices with sectors bigger than 512 bytes. ### - FAT filesystem + - Added DEC Rainbow's hard-wired BPB. - Added support for volumes with 256 bytes/sector. - Added support for ACT Apricot BPB. - Gets volume label, creation time and modification time from root directory if available. ### - Filesystems + - Apple DOS. - CP/M. - Detecting AO-DOS. @@ -1411,6 +1688,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - UCSD Pascal. ### - Filters + - AppleDouble. - Apple PCExchange. - AppleSingle. @@ -1421,9 +1699,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - XZ. ### - GUID Partition Table + - New type GUIDs. ### - ISO9660 filesystem + - Added detection of AAIP extensions. - Added detection of Apple extensions. - Added detection of EFI Platform ID for El Torito. @@ -1433,9 +1713,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Added detection of ziso extensions. ### - Lisa filesystem -- Full read-only support. + +- Full read-only support. ### - Media types + - DDS, DDS-2, DDS-3, DDS-4. - HiFD. - IOMEGA Clik! (aka PocketZip). @@ -1447,6 +1729,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - XGD3. ### - Partitions + - Acorn FileCore. - ACT Apricot. - BSD disklabels. @@ -1463,23 +1746,28 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - XENIX partition table. ### - SCSI decoding + - Handling of EVPDs smaller than length field. - Handling of modes 02h, 04h and 1Ch smaller than expected. - Prettyfying of mode 0Bh. ### - SmartFileSystem + - Added support for version 2. ### - Statistics + - Added version and operating system statistics. ### - Sun disklabel + - Added bound checks. - Added support for 16-entries VTOC. - Added support for pre-VTOC disklabels. - Corrected structures for 8-entries VTOC. ### - System V filesystem + - Added COHERENT offsets. - Check for it starting on second cylinder. - Corrected cluster size calculation. @@ -1488,12 +1776,15 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Enlarged NICFREE for Version 7. ### TeleDisk images + - Added support for Advanced Compression. - Added support for floppy lead-out. - Added variable sectors per track support. ## Fixes + ### - AmigaDOS filesystem + - Corrected checksum calculation. - Corrected cluster size calculation. - Corrected root block location. @@ -1502,6 +1793,7 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Tested FFS2. ### - Apple Partition Map + - Added bound checks. - Added support for decoding Driver Description Map. - Added support for maps without Driver Description Map. @@ -1511,39 +1803,48 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Cut partitions that span outside the device. ### - cdrdao + - Audio track matching. - Corrected images that start with comments. - Prevent reading binary files. ### - CDRWin + - CD-Text detection. - CD+G data return. - Fixed composer parsing. - Prevent reading binary files. ### - CP/M filesystem + - Corrected cluster count calculation. - Corrected directory location on CP/M-86. - Corrected sector reading. - Skip media types that were never used as a CP/M disk. ### - Create Sidecar command + - Corrected creation when path is absolute. ### - Device commands + - Do not send SCSI INQUIRY to non-SCSI paths on Linux. ### - Device reports + - Call ATA READ LONG last, as it confuses some drives. - Try SCSI READ LONG (10) until max block size (65535). ### - DiskCopy 4.2 + - Corrected track order for Lisa and Macintosh Twiggy. ### - Dreamcast GDI images + - Prevent reading binary files. ### - Dumping + - Calculation of streaming device dumping speed. - Corrected dumping CD-R and CD-RW. - Optical media with 2048 bytes/sector now get ".iso" file extension. @@ -1552,9 +1853,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Wait for SCSI devices to exit ASC 28h (MEDIUM CHANGE) status. ### - ext2/3/4 filesystem + - Use os type as XML system identifier. ### - FAT filesystem + - Behaviour with some non-compliant media descriptors. - Corrected 5.25" MD1DD detection. - Corrected boot code detection. @@ -1563,31 +1866,37 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Use OEM name as XML system identifier. ### - Guid Partition Table + - Added bound checks. - Corrected misaligned tables on optical media. - Corrected when table is smaller than one sector. ### - HFS filesystem + - Corrected detection of a PowerPC only bootable volume (no boot sector). - Corrected misaligned volumes on optical media. - Corrected volume serial number case. ### - HFS+ filesystem + - Corrected misaligned volumes on optical media. - Corrected misalignment of fields in Volume Header. - Use last mount version as XML system identifier. ### - HPFS filesystem + - Corrected cluster size. - Detect boot code. - Show NT flags. - Use OEM name as XML system identifier. ### - ISO9660 filesystem + - Complete rewrite. - Check that date fields start with a number. ### - Master Boot Record partitioning scheme + - Check real presence of a GPT. - Corrected infinite looping on extended partitions. - Remove disklabels support. @@ -1596,10 +1905,12 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support OnTrack extensions. ### - MINIX filesystem + - Added support for v1 and v2 created on MINIX 3. - Corrected misaligned volumes on optical media. ### - Nero Burning ROM + - Corrected track handling. - Corrected typo on parsing v2 images. - Disc types. @@ -1609,36 +1920,44 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Session count. ### - NeXT partition table + - Added missing fields. - Corrected offsets. - Cut partitions that span outside the device. ### - ODS filesystem + - Corrected cluster size calculation. - Corrected misaligned volumes on optical media. ### - ProDOS filesystem + - Corrected cluster size calculation. - Corrected misaligned volumes on optical media. - Volume size. ### - Rigid Disk Block partition scheme + - Corrected AMIX mappings. ### - SCSI decoding + - Handling of EVPDs smaller than length field. - Handling of modes 02h, 04h and 1Ch smaller than expected. - Prevented overflow on MMC FEATURES decoding. - Prevented overflow on SCSI MODE PAGE decoding. ### - SmartFileSystem + - Added support for version 2. ### - Sun disklabel + - Added bound checks. - Corrected structures for 8-entries VTOC. ### - System V filesystem + - Check for it starting on second cylinder. - Corrected cluster size calculation. - Corrected detection between Release 2 and Release 4. @@ -1646,10 +1965,12 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Enlarged NICFREE for Version 7. ### - UFS filesystem + - Corrected superblock locations. - Move superblock to a single structure and marshal it, corrects detection of several variants. ## Changes + - Added a public changelog. - Added a side application to create device reports under Linux without a .NET environment. - Added operating system version statistics. @@ -1672,8 +1993,11 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Support subchannel with only Q channel. # [3.0.0.0] - 2016-07-19 + ## Added + ### - Commands + - benchmark: Tests speed for checksum algorithms. - create-sidecar: Creates an XML sidecar with metadata. - decode: Decodes and prints a disk tag present on the image. @@ -1684,10 +2008,12 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - scan-media: Scans media for errors. ### - Checksums + - Adler-32 - SpamSum ### - Devices + - ATA on Linux. - ATA on Windows (untested). - FireWire on Linux. @@ -1696,15 +2022,18 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - USB on Linux. ### - Disc images + - Apple 2IMG. - CDRDAO. - Dreamcast GDI. - VirtualPC. ### - Fast File System (FFS) + - Atari UNIX variant. ### - Filesystems + - Acorn ADFS. - AmigaDOS. - Apple File System, aka APFS. @@ -1714,94 +2043,129 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Nintendo Wii. ### - Partitions + - Amiga Rigid Disk Block (aka RDB). - Atari. - Sun. - (U)EFI GPT. ## Changes + ### - PrintHex command + - Allow to print several sectors. ## Fixes + ### - Be filesystem + - Endianness. - Support for Be CDs. ### - CDRWin disk image + - Behaviour on .NET Framework. - Detection of CD-ROM XA. - Flags. - Partition calculations. ### - Fast File System (FFS) + - False positives with 7th Edition. ### - ISO9660 + - Dreamcast IP.BIN decoding. - Sega CD IP.BIN decoding. ### - System V Filesystem + - Big endian support # [2.20] - 2014-08-28 + ## Added + ### - Checksums + - Reed Solomon. ## Fixes + ### - Apple Partition Map + - Disks with 2048 bytes/sector but a 512 bytes/sector map. ### - HFS + - Disks with 2048 bytes/sector but a 512 bytes/sector filesystem. # [2.10] - 2014-08-25 + ## Added + ### - Checksums + - CD EDC and ECC. - CRC16. ### - Commands + - Verify: Verifies disk image contents, if supported. ### - Disc images + - Nero Burning ROM. # [2.0] - 2014-07-03 + ## Added + ### - Commands + - analyze: Gives information about disk image contents as well as detecting partitions and filesystems. - checksum: Generates CRC32, CRC64, RIPEMD160, MD5, SHA1, SHA256, SHA384 and SHA512 checksums of disk image contents. - compare: Compares two media images. - printhex: Prints a hexadecimal output of a sector. ### - Disc images + - RAW (sector by sector). ### - Media types + - BD-R. - BD-RE XL. - FDFORMAT. ## Fixes + ### - FAT filesystem + - Workaround FAT12 without BIOS Parameter Block. ### - MBR partitions + - Do not search for them on disks with less than 512 bytes/sector. ### - ODS-11 filesystem + - Do not search for them on disks with less than 512 bytes/sector. # [1.10] - 2014-04-21 + ## Added + ### - Disc images + - Sydex TeleDisk. # [1.0] - 2014-04-17 + ## Added + ### - Filesystems + - Detecting BeFS. - Detecting ext. - Detecting ext2. @@ -1829,23 +2193,36 @@ Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) - Detecting UnixWare boot. ### - Disc images + - Apple DiskCopy 4.2. - CDRWin. ### - Partitions + - Apple Partition Map (aka APM). - Master Boot Record (aka MBR). - NeXT disklabels. [5.2.0.3330]: https://github.com/aaru-dps/Aaru/releases/tag/v5.2.0.3330 + [5.1.0.3214]: https://github.com/aaru-dps/Aaru/releases/tag/v5.1.0.3214 + [5.0.1.2884]: https://github.com/aaru-dps/Aaru/releases/tag/v5.0.1.2884 + [5.0.0.2879]: https://github.com/aaru-dps/Aaru/releases/tag/v5.0.0.2879 + [4.5.1.1692]: https://github.com/aaru-dps/Aaru/releases/tag/v4.5.1.1692 + [4.5.0.1663]: https://github.com/aaru-dps/Aaru/releases/tag/v4.5.0.1663 + [4.0.1.0]: https://github.com/aaru-dps/Aaru/releases/tag/v4.0.1.0 + [4.0.0.0]: https://github.com/aaru-dps/Aaru/releases/tag/v4.0.0.0 + [3.0.0.0]: https://github.com/aaru-dps/Aaru/releases/tag/v3.0.0.0 + [2.20]: https://github.com/aaru-dps/Aaru/releases/tag/v2.2 + [2.10]: https://github.com/aaru-dps/Aaru/releases/tag/v2.1 + [2.0]: https://github.com/aaru-dps/Aaru/releases/tag/v2.0 diff --git a/NEEDED.md b/NEEDED.md index 231a7e8b2..89e0ac3de 100644 --- a/NEEDED.md +++ b/NEEDED.md @@ -1,16 +1,16 @@ -This is a list of hardware, software, and general information needed to expand and better support various unique hardware and -software configurations for Aaru. We accept donation of this hardware, or loans: paying for shipping is greatly appreciated, -but can make other arrangements depending on cost. For media, we do accept loans, but please be aware that due to it’s age, there is -no guarantee it will still be working after it is returned and thus donations are preferred. +This is a list of hardware, software, and general information needed to expand and better support various unique +hardware and software configurations for Aaru. We accept donation of this hardware, or loans: paying for shipping is +greatly appreciated, but can make other arrangements depending on cost. For media, we do accept loans, but please be +aware that due to it’s age, there is no guarantee it will still be working after it is returned and thus donations are +preferred. Drives ====== -This is a list of drives. The reason we need these drives is because it is the only way to add enhanced support for them (e.g. media -detection, ECC support, raw dumping, etc.). Also some drives depart from the specifications and need special workarounds. If a drive is -listed here, but the media it uses is not listed below, we already have media for it. Drives are preferred in ATA/ATAPI, SCSI, USB or -FireWire buses. Parallel port drives require a larger amount of work, and there is no guarantee it can work, at all, with other drives. If in -doubt, please contact us. - +This is a list of drives. The reason we need these drives is because it is the only way to add enhanced support for +them (e.g. media detection, ECC support, raw dumping, etc.). Also some drives depart from the specifications and need +special workarounds. If a drive is listed here, but the media it uses is not listed below, we already have media for it. +Drives are preferred in ATA/ATAPI, SCSI, USB or FireWire buses. Parallel port drives require a larger amount of work, +and there is no guarantee it can work, at all, with other drives. If in doubt, please contact us. - 5.25" magneto-optical (preferibly the 9.6Gb supporting one) - 8" shugart floppy drive (preferibly the 240VAC one) @@ -43,7 +43,9 @@ doubt, please contact us. Media ===== -This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual hardware. +This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual +hardware. + - 5.25" magneto-optical media: 128MiB - ADR tapes - AIT tapes @@ -72,69 +74,68 @@ This is the media for the drives listed above, or media for drives we do have, b Software ================== -This is a list of software whose physical media has some characteristics that needs -to be investigated to allow correct dumping of such characteristics. Usually those -are copy protections. +This is a list of software whose physical media has some characteristics that needs to be investigated to allow correct +dumping of such characteristics. Usually those are copy protections. - CD-i Ready - - Accelerator - - Alien Gate - - Beyond Limits - - Escape - - Lucky Luke - - Louis Armstrong - - Dark Fables of Aesop - - More Dark Fables of Aesop - - Mozart - - Opera Imaginaire - - Pavarotti - - Steel Machine - - The Apprentice - - Dimo's Quest - - The Worlds of... + - Accelerator + - Alien Gate + - Beyond Limits + - Escape + - Lucky Luke + - Louis Armstrong + - Dark Fables of Aesop + - More Dark Fables of Aesop + - Mozart + - Opera Imaginaire + - Pavarotti + - Steel Machine + - The Apprentice + - Dimo's Quest + - The Worlds of... - SafeDisc - - Beowulf - - Black & White 2 - - Brothers in Arms: Road to Hill 30 - - Carmageddon II: Carpocalypse Now - - Close Combat: Invasion Normandy - - Codename: Eagle + - Beowulf + - Black & White 2 + - Brothers in Arms: Road to Hill 30 + - Carmageddon II: Carpocalypse Now + - Close Combat: Invasion Normandy + - Codename: Eagle - SecuROM - - Arabian Nights - - Arcania: Gothic 4 - - Boiling Point: Road to Hell - - Cars 2 - - Colin McRae Rally 04 - - Colin McRae Rally 2.0 - - Colin McRae Rally 3 - - Command & Conquer: Red Alert 3 - Uprising - - Devil May Cry 4 - - Die Hard: Nakatomi Plaza - - Disney Planes + - Arabian Nights + - Arcania: Gothic 4 + - Boiling Point: Road to Hell + - Cars 2 + - Colin McRae Rally 04 + - Colin McRae Rally 2.0 + - Colin McRae Rally 3 + - Command & Conquer: Red Alert 3 - Uprising + - Devil May Cry 4 + - Die Hard: Nakatomi Plaza + - Disney Planes - StarForce - - Black Mirror 3 - - BloodRayne 2 - - Chronostorm: Siberian Border - - Codename: Outbreak - - Dead to Rights - - Disciples III: Renaissance - - Mount & Blade - - Pac-Man World 2 + - Black Mirror 3 + - BloodRayne 2 + - Chronostorm: Siberian Border + - Codename: Outbreak + - Dead to Rights + - Disciples III: Renaissance + - Mount & Blade + - Pac-Man World 2 - Tages - - Anno 1701 - - Darkstar One - - Faery: Legends of Avalon - - Helldorado - - Nostradamus: The Last Prophecy - - Silverfall + - Anno 1701 + - Darkstar One + - Faery: Legends of Avalon + - Helldorado + - Nostradamus: The Last Prophecy + - Silverfall - Solidshield - - A-Train 8 - - Anno 2070 - - Assassin's Creed: Brotherhood - - Dead Mountaineer's Hotel - - Dead Space 2 - - Helldorado - - I Am Alive - - ObsCure II - - Shift 2 Unleashed - - Warfare \ No newline at end of file + - A-Train 8 + - Anno 2070 + - Assassin's Creed: Brotherhood + - Dead Mountaineer's Hotel + - Dead Space 2 + - Helldorado + - I Am Alive + - ObsCure II + - Shift 2 Unleashed + - Warfare \ No newline at end of file diff --git a/README.md b/README.md index 11e7d2f54..4c45128b6 100644 --- a/README.md +++ b/README.md @@ -11,16 +11,15 @@ Copyright © 2011-2021 Natalia Portillo You can see statistics and device reports [here](https://www.aaru.app/Stats) -Aaru is a fully featured media dump management solution. You usually know media dumps -as disc images, disk images, tape images, etc. +Aaru is a fully featured media dump management solution. You usually know media dumps as disc images, disk images, tape +images, etc. -With Aaru you can identify a media dump, extract files from it (for supported -filesystems), compare two of them, create them from real media using the appropriate drive, -create a sidecar metadata with information about the media dump, and a lot of other features -that commonly would require you to use separate applications. +With Aaru you can identify a media dump, extract files from it (for supported filesystems), compare two of them, create +them from real media using the appropriate drive, create a sidecar metadata with information about the media dump, and a +lot of other features that commonly would require you to use separate applications. -To see last changes, check the [changelog](Changelog.md). -To see list of pending things to do, check the [list of issues](https://github.com/aaru-dps/Aaru/issues). +To see last changes, check the [changelog](Changelog.md). To see list of pending things to do, check +the [list of issues](https://github.com/aaru-dps/Aaru/issues). If you want to contribute in any way please read the [contributing guide](CONTRIBUTING.md). @@ -29,13 +28,13 @@ Stable releases in [Github](https://github.com/aaru-dps/Aaru/releases). System requirements =================== -Aaru is created using .NET Core 3.1 and can be compiled with all the major IDEs. -To run it you require to use one of the stable releases, or build it yourself. +Aaru is created using .NET Core 3.1 and can be compiled with all the major IDEs. To run it you require to use one of the +stable releases, or build it yourself. Usage ===== -aaru.exe +aaru.exe And read help. @@ -43,7 +42,9 @@ Or read the [documentation](https://github.com/aaru-dps/Aaru.Documentation/blob/ Features ======== -* Identifies a disk image getting information about the disk itself and shows information about partitions and filesystems inside them + +* Identifies a disk image getting information about the disk itself and shows information about partitions and + filesystems inside them * Can checksum the disks (and if optical disc, separate tracks) user-data (tags and metadata coming soon) * Can compare two disk images, even different formats, for different sectors and/or metadata * Can list and extract contents from supported filesystems @@ -51,17 +52,20 @@ Features * Can read several known sector by sector formats with variable bytes per sector. * Can read standard sector by sector copies for optical and magnetic discs with constant bytes per sector. * Can verify sectors or disk images if supported by the underlying format -* Can dump media from ATA, ATAPI, SCSI, USB, FireWire and SDHCI drives (magnetic disks, optical discs, magnetoptical disks, flash devices, memory cards and tapes) to several supported image formats. +* Can dump media from ATA, ATAPI, SCSI, USB, FireWire and SDHCI drives (magnetic disks, optical discs, magnetoptical + disks, flash devices, memory cards and tapes) to several supported image formats. * Can convert between image formats. * Includes an open-source archival image format with compression and deduplication. * Can create standard open XML metadata from existing images. * Can measure readability and speed of media (same that can be dumped, MHDD style) * Has an online database with drive capabilities, and can report the capabilities of any drive. -* Works on any operating system and architecture where .NET Core is supported (drive access requires Windows, Linux or FreeBSD). +* Works on any operating system and architecture where .NET Core is supported (drive access requires Windows, Linux or + FreeBSD). * Has a graphical interface (work in progress) Supported disk image formats (read-only) ======================================== + * Apple Disk Archival/Retrieval Tool (DART) * Apple II nibble images (NIB) * BlindWrite 4 TOC files (.BWT/.BWI/.BWS) @@ -84,6 +88,7 @@ Supported disk image formats (read-only) Supported disk image formats (read and write) ============================================= + * Alcohol 120% Media Descriptor Structure (.MDS/.MDF) * Anex86 disk images (.FDI for floppies, .HDI for hard disks) * Any 512 bytes/sector disk image format (sector by sector copy, aka raw) @@ -122,6 +127,7 @@ Supported disk image formats (read and write) Supported partitioning schemes ============================== + * Acorn Linux and RISCiX partitions * ACT Apricot partitions * Amiga Rigid Disk Block (RDB) @@ -149,6 +155,7 @@ Supported partitioning schemes Supported file systems for read-only operations =============================================== + * 3DO Opera file system * Apple DOS file system * Apple Lisa file system @@ -165,6 +172,7 @@ Supported file systems for read-only operations Supported file systems for identification and information only ============================================================== + * Acorn Advanced Disc Filing System * Alexander Osipov DOS (AO-DOS for Electronika BK-0011) file system * Amiga Fast File System v2, untested @@ -230,6 +238,7 @@ Supported file systems for identification and information only Supported checksums =================== + * Adler-32 * CRC-16 * CRC-32 @@ -243,6 +252,7 @@ Supported checksums Supported filters ================= + * Apple PCExchange (FINDER.DAT & RESOURCE.FRK) * AppleDouble * AppleSingle @@ -255,11 +265,11 @@ Supported filters Partially supported disk image formats ====================================== These disk image formats cannot be read, but their contents can be checksummed on sidecar creation + * DiscFerret * KryoFlux STREAM * SuperCardPro - License ======= [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef?ref=badge_large)