// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // // Filename : FAT12.cs // Version : 1.0 // Author(s) : Natalia Portillo // // Component : Component // // Revision : $Revision$ // Last change by : $Author$ // Date : $Date$ // // --[ Description ] ---------------------------------------------------------- // // Description // // --[ License ] -------------------------------------------------------------- // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ---------------------------------------------------------------------------- // Copyright (C) 2011-2015 Claunia.com // ****************************************************************************/ // //$Id$ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] public class FAT12 { readonly string[] testfiles = { // Concurrent DOS 6.00 "concurrentdos_6.00_dshd.img.lz", "concurrentdos_6.00_mf2dd.img.lz", "concurrentdos_6.00_mf2hd.img.lz", // DR-DOS 3.40 "drdos_3.40_dsdd.img.lz", "drdos_3.40_dsdd8.img.lz", "drdos_3.40_dshd.img.lz", "drdos_3.40_mf2dd.img.lz", "drdos_3.40_mf2hd.img.lz", "drdos_3.40_ssdd.img.lz", "drdos_3.40_ssdd8.img.lz", // DR-DOS 3.41 "drdos_3.41_dsdd.img.lz", "drdos_3.41_dsdd8.img.lz", "drdos_3.41_dshd.img.lz", "drdos_3.41_mf2dd.img.lz", "drdos_3.41_mf2hd.img.lz", "drdos_3.41_ssdd.img.lz", "drdos_3.41_ssdd8.img.lz", // DR-DOS 5.00 "drdos_5.00_dsdd.img.lz", "drdos_5.00_dsdd8.img.lz", "drdos_5.00_dshd.img.lz", "drdos_5.00_mf2dd.img.lz", "drdos_5.00_mf2hd.img.lz", "drdos_5.00_ssdd.img.lz", "drdos_5.00_ssdd8.img.lz", // DR-DOS 6.00 "drdos_6.00_dsdd.img.lz", "drdos_6.00_dsdd8.img.lz", "drdos_6.00_dshd.img.lz", "drdos_6.00_mf2dd.img.lz", "drdos_6.00_mf2ed.img.lz", "drdos_6.00_mf2hd.img.lz", "drdos_6.00_ssdd.img.lz", "drdos_6.00_ssdd8.img.lz", // DR-DOS 7.02 "drdos_7.02_dsdd.img.lz", "drdos_7.02_dsdd8.img.lz", "drdos_7.02_dshd.img.lz", "drdos_7.02_mf2dd.img.lz", "drdos_7.02_mf2ed.img.lz", "drdos_7.02_mf2hd.img.lz", "drdos_7.02_ssdd.img.lz", "drdos_7.02_ssdd8.img.lz", // DR-DOS 7.03 "drdos_7.03_dsdd.img.lz", "drdos_7.03_dsdd8.img.lz", "drdos_7.03_dshd.img.lz", "drdos_7.03_mf2dd.img.lz", "drdos_7.03_mf2ed.img.lz", "drdos_7.03_mf2hd.img.lz", // DR-DOS 8.00 "drdos_8.00_dsdd.img.lz", "drdos_8.00_dsdd8.img.lz", "drdos_8.00_dshd.img.lz", "drdos_8.00_mf2dd.img.lz", "drdos_8.00_mf2ed.img.lz", "drdos_8.00_mf2hd.img.lz", "drdos_8.00_ssdd.img.lz", "drdos_8.00_ssdd8.img.lz", // MS-DOS 3.30A "msdos_3.30A_dsdd.img.lz","msdos_3.30A_dsdd8.img.lz","msdos_3.30A_dshd.img.lz","msdos_3.30A_mf2dd.img.lz", "msdos_3.30A_mf2ed.img.lz","msdos_3.30A_mf2hd.img.lz","msdos_3.30A_ssdd.img.lz","msdos_3.30A_ssdd8.img.lz", // MS-DOS 3.31 "msdos_3.31_dsdd.img.lz","msdos_3.31_dsdd8.img.lz","msdos_3.31_dshd.img.lz","msdos_3.31_mf2dd.img.lz", "msdos_3.31_mf2ed.img.lz","msdos_3.31_mf2hd.img.lz","msdos_3.31_ssdd.img.lz","msdos_3.31_ssdd8.img.lz", // MS-DOS 4.01 "msdos_4.01_dsdd.img.lz","msdos_4.01_dsdd8.img.lz","msdos_4.01_dshd.img.lz","msdos_4.01_mf2dd.img.lz", "msdos_4.01_mf2hd.img.lz","msdos_4.01_ssdd.img.lz","msdos_4.01_ssdd8.img.lz", // MS-DOS 5.00 "msdos_5.00_dsdd.img.lz","msdos_5.00_dsdd8.img.lz","msdos_5.00_dshd.img.lz","msdos_5.00_mf2dd.img.lz", "msdos_5.00_mf2ed.img.lz","msdos_5.00_mf2hd.img.lz","msdos_5.00_ssdd.img.lz","msdos_5.00_ssdd8.img.lz", // MS-DOS 6.00 "msdos_6.00_dsdd.img.lz","msdos_6.00_dsdd8.img.lz","msdos_6.00_dshd.img.lz","msdos_6.00_mf2dd.img.lz", "msdos_6.00_mf2ed.img.lz","msdos_6.00_mf2hd.img.lz","msdos_6.00_ssdd.img.lz","msdos_6.00_ssdd8.img.lz", // MS-DOS 6.20 "msdos_6.20_dsdd.img.lz","msdos_6.20_dsdd8.img.lz","msdos_6.20_dshd.img.lz","msdos_6.20_mf2dd.img.lz", "msdos_6.20_mf2ed.img.lz","msdos_6.20_mf2hd.img.lz","msdos_6.20_ssdd.img.lz","msdos_6.20_ssdd8.img.lz", // MS-DOS 6.20 RC1 "msdos_6.20rc1_dsdd.img.lz","msdos_6.20rc1_dsdd8.img.lz","msdos_6.20rc1_dshd.img.lz","msdos_6.20rc1_mf2dd.img.lz", "msdos_6.20rc1_mf2ed.img.lz","msdos_6.20rc1_mf2hd.img.lz","msdos_6.20rc1_ssdd.img.lz","msdos_6.20rc1_ssdd8.img.lz", // MS-DOS 6.21 "msdos_6.21_dsdd.img.lz","msdos_6.21_dsdd8.img.lz","msdos_6.21_dshd.img.lz","msdos_6.21_mf2dd.img.lz", "msdos_6.21_mf2ed.img.lz","msdos_6.21_mf2hd.img.lz","msdos_6.21_ssdd.img.lz","msdos_6.21_ssdd8.img.lz", // MS-DOS 6.22 "msdos_6.22_dsdd.img.lz","msdos_6.22_dsdd8.img.lz","msdos_6.22_dshd.img.lz","msdos_6.22_mf2dd.img.lz", "msdos_6.22_mf2ed.img.lz","msdos_6.22_mf2hd.img.lz","msdos_6.22_ssdd.img.lz","msdos_6.22_ssdd8.img.lz", // MS-DOS 7.10 "msdos_7.10_dsdd.img.lz","msdos_7.10_dsdd8.img.lz","msdos_7.10_dshd.img.lz","msdos_7.10_mf2dd.img.lz", "msdos_7.10_mf2ed.img.lz","msdos_7.10_mf2hd.img.lz","msdos_7.10_ssdd.img.lz","msdos_7.10_ssdd8.img.lz", // MS-DOS 3.20 for Amstrad "msdos_amstrad_3.20_dsdd.img.lz","msdos_amstrad_3.20_dsdd8.img.lz","msdos_amstrad_3.20_dshd.img.lz", "msdos_amstrad_3.20_mf2dd.img.lz","msdos_amstrad_3.20_ssdd.img.lz","msdos_amstrad_3.20_ssdd8.img.lz", // MS-DOS 2.11 for AT&T "msdos_att_2.11_dsdd.img.lz", // MS-DOS 3.30 for DeLL "msdos_dell_3.30_dsdd.img.lz","msdos_dell_3.30_dsdd8.img.lz","msdos_dell_3.30_dshd.img.lz", "msdos_dell_3.30_mf2dd.img.lz","msdos_dell_3.30_mf2hd.img.lz","msdos_dell_3.30_ssdd.img.lz", "msdos_dell_3.30_ssdd8.img.lz", // MS-DOS 3.10 for Epson "msdos_epson_3.10_dsdd.img.lz","msdos_epson_3.10_dsdd8.img.lz","msdos_epson_3.10_dshd.img.lz", // MS-DOS 3.20 for Epson "msdos_epson_3.20_dsdd.img.lz","msdos_epson_3.20_dsdd8.img.lz","msdos_epson_3.20_dshd.img.lz", "msdos_epson_3.20_mf2dd.img.lz","msdos_epson_3.20_ssdd.img.lz","msdos_epson_3.20_ssdd8.img.lz", // MS-DOS 3.20 for HP "msdos_hp_3.20_dsdd.img.lz","msdos_hp_3.20_dsdd8.img.lz","msdos_hp_3.20_dshd.img.lz", "msdos_hp_3.20_mf2dd.img.lz","msdos_hp_3.20_mf2hd.img.lz","msdos_hp_3.20_ssdd.img.lz", "msdos_hp_3.20_ssdd8.img.lz", // MS-DOS 3.21 for Hyosung "msdos_hyonsung_3.21_dsdd.img.lz","msdos_hyonsung_3.21_dsdd8.img.lz","msdos_hyonsung_3.21_dshd.img.lz", "msdos_hyonsung_3.21_mf2dd.img.lz","msdos_hyonsung_3.21_mf2hd.img.lz","msdos_hyonsung_3.21_ssdd.img.lz", "msdos_hyonsung_3.21_ssdd8.img.lz", // MS-DOS 3.21 for Kaypro "msdos_kaypro_3.21_dsdd.img.lz","msdos_kaypro_3.21_dsdd8.img.lz","msdos_kaypro_3.21_dshd.img.lz", "msdos_kaypro_3.21_mf2dd.img.lz","msdos_kaypro_3.21_mf2hd.img.lz","msdos_kaypro_3.21_ssdd.img.lz", //"msdos_kaypro_3.21_ssdd8.img.lz", // MS-DOS 3.10 for Olivetti "msdos_olivetti_3.10_dsdd.img.lz","msdos_olivetti_3.10_dshd.img.lz","msdos_olivetti_3.10_ssdd.img.lz", // MS-DOS 3.30 for Toshiba "msdos_toshiba_3.30_dsdd.img.lz","msdos_toshiba_3.30_dsdd8.img.lz","msdos_toshiba_3.30_dshd.img.lz", "msdos_toshiba_3.30_mf2dd.img.lz","msdos_toshiba_3.30_mf2hd.img.lz","msdos_toshiba_3.30_ssdd.img.lz", "msdos_toshiba_3.30_ssdd8.img.lz", // MS-DOS 4.01 for Toshiba "msdos_toshiba_4.01_dsdd.img.lz","msdos_toshiba_4.01_dsdd8.img.lz","msdos_toshiba_4.01_dshd.img.lz", "msdos_toshiba_4.01_mf2dd.img.lz","msdos_toshiba_4.01_mf2hd.img.lz","msdos_toshiba_4.01_ssdd.img.lz", "msdos_toshiba_4.01_ssdd8.img.lz", // Novell DOS 7.00 "novelldos_7.00_dsdd.img.lz","novelldos_7.00_dsdd8.img.lz","novelldos_7.00_dshd.img.lz","novelldos_7.00_mf2dd.img.lz", "novelldos_7.00_mf2ed.img.lz","novelldos_7.00_mf2hd.img.lz","novelldos_7.00_ssdd.img.lz","novelldos_7.00_ssdd8.img.lz", // OpenDOS 7.01 "opendos_7.01_dsdd.img.lz","opendos_7.01_dsdd8.img.lz","opendos_7.01_dshd.img.lz","opendos_7.01_mf2dd.img.lz", "opendos_7.01_mf2ed.img.lz","opendos_7.01_mf2hd.img.lz","opendos_7.01_ssdd.img.lz","opendos_7.01_ssdd8.img.lz", // PC-DOS 2.00 "pcdos_2.00_dsdd.img.lz", // PC-DOS 2.10 "pcdos_2.10_dsdd.img.lz", // PC-DOS 2000 "pcdos_2000_dsdd.img.lz","pcdos_2000_dsdd8.img.lz","pcdos_2000_dshd.img.lz","pcdos_2000_mf2dd.img.lz", "pcdos_2000_mf2ed.img.lz","pcdos_2000_mf2hd.img.lz","pcdos_2000_ssdd.img.lz","pcdos_2000_ssdd8.img.lz", // PC-DOS 3.00 "pcdos_3.00_dshd.img.lz", // PC-DOS 3.10 "pcdos_3.10_dshd.img.lz", // PC-DOS 3.30 "pcdos_3.30_dshd.img.lz","pcdos_3.30_mf2hd.img.lz", // PC-DOS 4.00 "pcdos_4.00_dshd.img.lz","pcdos_4.00_mf2hd.img.lz", // PC-DOS 5.00 "pcdos_5.00_dsdd.img.lz","pcdos_5.00_dsdd8.img.lz","pcdos_5.00_dshd.img.lz","pcdos_5.00_mf2dd.img.lz", "pcdos_5.00_mf2ed.img.lz","pcdos_5.00_mf2hd.img.lz","pcdos_5.00_ssdd.img.lz","pcdos_5.00_ssdd8.img.lz", // PC-DOS 5.02 "pcdos_5.02_dsdd.img.lz","pcdos_5.02_dsdd8.img.lz","pcdos_5.02_dshd.img.lz","pcdos_5.02_mf2dd.img.lz", "pcdos_5.02_mf2ed.img.lz","pcdos_5.02_mf2hd.img.lz","pcdos_5.02_ssdd.img.lz","pcdos_5.02_ssdd8.img.lz", // PC-DOS 6.10 "pcdos_6.10_dsdd.img.lz","pcdos_6.10_dsdd8.img.lz","pcdos_6.10_dshd.img.lz","pcdos_6.10_mf2dd.img.lz", "pcdos_6.10_mf2ed.img.lz","pcdos_6.10_mf2hd.img.lz","pcdos_6.10_ssdd.img.lz","pcdos_6.10_ssdd8.img.lz", // PC-DOS 6.30 "pcdos_6.30_dsdd.img.lz","pcdos_6.30_dsdd8.img.lz","pcdos_6.30_dshd.img.lz","pcdos_6.30_mf2dd.img.lz", "pcdos_6.30_mf2ed.img.lz","pcdos_6.30_mf2hd.img.lz","pcdos_6.30_ssdd.img.lz","pcdos_6.30_ssdd8.img.lz", // mkfs.vfat "mkfs.vfat_dshd.img.lz","mkfs.vfat_mf2dd.img.lz","mkfs.vfat_mf2ed.img.lz","mkfs.vfat_mf2hd.img.lz", // mkfs.vfat for Atari "mkfs.vfat_atari_dshd.img.lz","mkfs.vfat_atari_mf2dd.img.lz","mkfs.vfat_atari_mf2ed.img.lz","mkfs.vfat_atari_mf2hd.img.lz", // Microsoft OS/2 1.00 for Tandy "msos2_1.00_tandy_dsdd.img.lz","msos2_1.00_tandy_dshd.img.lz","msos2_1.00_tandy_mf2dd.img.lz","msos2_1.00_tandy_mf2hd.img.lz", // Microsoft OS/2 1.10 for AST "msos2_1.10_ast_dsdd.img.lz","msos2_1.10_ast_dshd.img.lz","msos2_1.10_ast_mf2dd.img.lz","msos2_1.10_ast_mf2hd.img.lz", // Microsoft OS/2 1.10 for Nokia "msos2_1.10_nokia_dsdd.img.lz","msos2_1.10_nokia_dshd.img.lz","msos2_1.10_nokia_mf2dd.img.lz","msos2_1.10_nokia_mf2hd.img.lz", // Microsoft OS/2 1.21 "msos2_1.21_dsdd.img.lz","msos2_1.21_dshd.img.lz","msos2_1.21_mf2dd.img.lz","msos2_1.21_mf2hd.img.lz", // Microsoft OS/2 1.30.1 "msos2_1.30.1_dsdd.img.lz","msos2_1.30.1_dshd.img.lz","msos2_1.30.1_mf2dd.img.lz","msos2_1.30.1_mf2ed.img.lz","msos2_1.30.1_mf2hd.img.lz", // OS/2 1.20 "os2_1.20_dsdd.img.lz","os2_1.20_dshd.img.lz","os2_1.20_mf2dd.img.lz","os2_1.20_mf2hd.img.lz", // OS/2 1.30 "os2_1.30_dsdd.img.lz","os2_1.30_dshd.img.lz","os2_1.30_mf2dd.img.lz","os2_1.30_mf2hd.img.lz", // OS/2 2.00 "os2_6.307_dsdd.img.lz","os2_6.307_dshd.img.lz","os2_6.307_mf2dd.img.lz","os2_6.307_mf2ed.img.lz","os2_6.307_mf2hd.img.lz", // OS/2 2.10 "os2_6.514_dsdd.img.lz","os2_6.514_dshd.img.lz","os2_6.514_mf2dd.img.lz","os2_6.514_mf2ed.img.lz","os2_6.514_mf2hd.img.lz", // OS/2 2.11 "os2_6.617_dsdd.img.lz","os2_6.617_dshd.img.lz","os2_6.617_mf2dd.img.lz","os2_6.617_mf2ed.img.lz","os2_6.617_mf2hd.img.lz", // OS/2 Warp 3 "os2_8.162_dshd.img.lz","os2_8.162_mf2dd.img.lz","os2_8.162_mf2ed.img.lz","os2_8.162_mf2hd.img.lz", // OS/2 Warp 4 "os2_9.023_dshd.img.lz","os2_9.023_mf2dd.img.lz","os2_9.023_mf2ed.img.lz","os2_9.023_mf2hd.img.lz", // eComStation "ecs_dshd.img.lz","ecs_mf2dd.img.lz","ecs_mf2ed.img.lz","ecs_mf2hd.img.lz", // Windows 95 "win95_dsdd8.img.lz","win95_dsdd.img.lz","win95_dshd.img.lz","win95_mf2dd.img.lz", "win95_mf2ed.img.lz","win95_mf2hd.img.lz","win95_ssdd8.img.lz","win95_ssdd.img.lz", // Windows 95 OSR 2 "win95osr2_dsdd8.img.lz","win95osr2_dsdd.img.lz","win95osr2_dshd.img.lz","win95osr2_mf2dd.img.lz", "win95osr2_mf2ed.img.lz","win95osr2_mf2hd.img.lz","win95osr2_ssdd8.img.lz","win95osr2_ssdd.img.lz", /// Windows 95 OSR 2.1 "win95osr2.1_dsdd8.img.lz","win95osr2.1_dsdd.img.lz","win95osr2.1_dshd.img.lz","win95osr2.1_mf2dd.img.lz", "win95osr2.1_mf2ed.img.lz","win95osr2.1_mf2hd.img.lz","win95osr2.1_ssdd8.img.lz","win95osr2.1_ssdd.img.lz", // Windows 95 OSR 2.5 "win95osr2.5_dsdd8.img.lz","win95osr2.5_dsdd.img.lz","win95osr2.5_dshd.img.lz","win95osr2.5_mf2dd.img.lz", "win95osr2.5_mf2ed.img.lz","win95osr2.5_mf2hd.img.lz","win95osr2.5_ssdd8.img.lz","win95osr2.5_ssdd.img.lz", // Windows 98 "win98_dsdd8.img.lz","win98_dsdd.img.lz","win98_dshd.img.lz","win98_mf2dd.img.lz", "win98_mf2ed.img.lz","win98_mf2hd.img.lz","win98_ssdd8.img.lz","win98_ssdd.img.lz", // Windows 98 Second Edition "win98se_dsdd8.img.lz","win98se_dsdd.img.lz","win98se_dshd.img.lz","win98se_mf2dd.img.lz", "win98se_mf2ed.img.lz","win98se_mf2hd.img.lz","win98se_ssdd8.img.lz","win98se_ssdd.img.lz", // Windows Me "winme_dsdd.img.lz","winme_dshd.img.lz","winme_mf2dd.img.lz","winme_mf2ed.img.lz","winme_mf2hd.img.lz", // Windows NT 3.10 "winnt_3.10_dshd.img.lz","winnt_3.10_mf2dd.img.lz","winnt_3.10_mf2ed.img.lz","winnt_3.10_mf2hd.img.lz", // Windows NT 3.50 "winnt_3.50_dshd.img.lz","winnt_3.50_mf2dd.img.lz","winnt_3.50_mf2ed.img.lz","winnt_3.50_mf2hd.img.lz", // Windows NT 3.51 "winnt_3.51_dshd.img.lz","winnt_3.51_mf2dd.img.lz","winnt_3.51_mf2ed.img.lz","winnt_3.51_mf2hd.img.lz", // Windows NT 4.00 "winnt_4_dsdd.img.lz","winnt_4_dshd.img.lz","winnt_4_mf2dd.img.lz","winnt_4_mf2ed.img.lz", "winnt_4_mf2hd.img.lz","winnt_4_ssdd.img.lz", // Windows 2000 "win2000_dsdd.img.lz","win2000_dshd.img.lz","win2000_mf2dd.img.lz","win2000_mf2ed.img.lz","win2000_mf2hd.img.lz", // Windows Vista "winvista_dsdd.img.lz","winvista_dshd.img.lz","winvista_mf2dd.img.lz","winvista_mf2ed.img.lz","winvista_mf2hd.img.lz", // BeOS R4.5 "beos_r4.5_mf2hd.img.lz", }; readonly MediaType[] mediatypes = { // Concurrent DOS 6.00 MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, // DR-DOS 3.40 MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_SS_DD_9, MediaType.DOS_525_SS_DD_8, // DR-DOS 3.41 MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_SS_DD_9, MediaType.DOS_525_SS_DD_8, // DR-DOS 5.00 MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_SS_DD_9, MediaType.DOS_525_SS_DD_8, // DR-DOS 6.00 MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_525_SS_DD_9, MediaType.DOS_525_SS_DD_8, // DR-DOS 7.02 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // DR-DOS 7.03 MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD, // DR-DOS 8.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.30A MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.31 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 4.01 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 5.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 6.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 6.20 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 6.20 RC1 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 6.21 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 6.22 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 7.10 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.20 for Amstrad MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 2.11 for AT&T MediaType.DOS_525_DS_DD_9, // MS-DOS 3.30 for DeLL MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.10 for Epson MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD, // MS-DOS 3.20 for Epson MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.20 for HP MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.21 for Hyosung MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.21 for Kaypro MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.10 for Olivetti MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_525_SS_DD_9, // MS-DOS 3.30 for Toshiba MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 4.01 for Toshiba MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // Novell DOS 7.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // OpenDOS 7.01 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // PC-DOS 2.00 MediaType.DOS_525_DS_DD_9, // PC-DOS 2.10 MediaType.DOS_525_DS_DD_9, // PC-DOS 2000 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // PC-DOS 3.00 MediaType.DOS_525_HD, // PC-DOS 3.10 MediaType.DOS_525_HD, // PC-DOS 3.30 MediaType.DOS_525_HD,MediaType.DOS_35_HD, // PC-DOS 4.00 MediaType.DOS_525_HD,MediaType.DOS_35_HD, // PC-DOS 5.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // PC-DOS 5.02 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // PC-DOS 6.10 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // PC-DOS 6.30 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // mkfs.vfat MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // mkfs.vfat for Atari MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Microsoft OS/2 1.00 for Tandy MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // Microsoft OS/2 1.10 for AST MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // Microsoft OS/2 1.10 for Nokia MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // Microsoft OS/2 1.21 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // Microsoft OS/2 1.30.1 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // OS/2 1.20 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // OS/2 1.30 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, // OS/2 2.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // OS/2 2.10 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // OS/2 2.11 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // OS/2 Warp 3 MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // OS/2 Warp 4 MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // eComStation MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows 95 MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, // Windows 95 OSR 2 MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, /// Windows 95 OSR 2.1 MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, // Windows 95 OSR 2.5 MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, // Windows 98 MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, // Windows 98 Second Edition MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_8,MediaType.DOS_525_SS_DD_9, // Windows Me MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows NT 3.10 MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows NT 3.50 MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows NT 3.51 MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows NT 4.00 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9, // Windows 2000 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Windows Vista MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_ED,MediaType.DOS_35_HD, // BeOS R4.5 MediaType.DOS_35_HD, }; readonly ulong[] sectors = { // Concurrent DOS 6.00 2400, 1440, 2880, // DR-DOS 3.40 720, 640, 2400, 1440, 2880, 360, 320, // DR-DOS 3.41 720,640,2400,1440,2880,360,320, // DR-DOS 5.00 720,640,2400,1440,2880,360,320, // DR-DOS 6.00 720,640,2400,1440,5760,2880,360,320, // DR-DOS 7.02 720,640,2400,1440,5760,2880,360,320, // DR-DOS 7.03 720,640,2400,1440,5760,2880, // DR-DOS 8.00 720,640,2400,1440,5760,2880,360,320, // MS-DOS 3.30A 720,640,2400,1440,5760,2880,360,320, // MS-DOS 3.31 720,640,2400,1440,5760,2880,360,320, // MS-DOS 4.01 720,640,2400,1440,2880,360,320, // MS-DOS 5.00 720,640,2400,1440,5760,2880,360,320, // MS-DOS 6.00 720,640,2400,1440,5760,2880,360,320, // MS-DOS 6.20 720,640,2400,1440,5760,2880,360,320, // MS-DOS 6.20 RC1 720,640,2400,1440,5760,2880,360,320, // MS-DOS 6.21 720,640,2400,1440,5760,2880,360,320, // MS-DOS 6.22 720,640,2400,1440,5760,2880,360,320, // MS-DOS 7.10 720,640,2400,1440,5760,2880,360,320, // MS-DOS 3.20 for Amstrad 720,640,2400,1440,360,320, // MS-DOS 2.11 for AT&T 720, // MS-DOS 3.30 for DeLL 720,640,2400,1440,2880,360,320, // MS-DOS 3.10 for Epson 720,640,2400, // MS-DOS 3.20 for Epson 720,640,2400,1440,360,320, // MS-DOS 3.20 for HP 720,640,2400,1440,2880,360,320, // MS-DOS 3.21 for Hyosung 720,640,2400,1440,2880,360,320, // MS-DOS 3.21 for Kaypro 720,640,2400,1440,2880,360,320, // MS-DOS 3.10 for Olivetti 720,2400,360, // MS-DOS 3.30 for Toshiba 720,640,2400,1440,2880,360,320, // MS-DOS 4.01 for Toshiba 720,640,2400,1440,2880,360,320, // Novell DOS 7.00 720,640,2400,1440,5760,2880,360,320, // OpenDOS 7.01 720,640,2400,1440,5760,2880,360,320, // PC-DOS 2.00 720, // PC-DOS 2.10 720, // PC-DOS 2000 720,640,2400,1440,5760,2880,360,320, // PC-DOS 3.00 2400, // PC-DOS 3.10 2400, // PC-DOS 3.30 2400,2880, // PC-DOS 4.00 2400,2880, // PC-DOS 5.00 720,640,2400,1440,5760,2880,360,320, // PC-DOS 5.02 720,640,2400,1440,5760,2880,360,320, // PC-DOS 6.10 720,640,2400,1440,5760,2880,360,320, // PC-DOS 6.30 720,640,2400,1440,5760,2880,360,320, // mkfs.vfat 2400,1440,5760,2880, // mkfs.vfat for Atari 2400,1440,5760,2880, // Microsoft OS/2 1.00 for Tandy 720,2400,1440,2880, // Microsoft OS/2 1.10 for AST 720,2400,1440,2880, // Microsoft OS/2 1.10 for Nokia 720,2400,1440,2880, // Microsoft OS/2 1.21 720,2400,1440,2880, // Microsoft OS/2 1.30.1 720,2400,1440,5760,2880, // OS/2 1.20 720,2400,1440,2880, // OS/2 1.30 720,2400,1440,2880, // OS/2 2.00 720,2400,1440,5760,2880, // OS/2 2.10 720,2400,1440,5760,2880, // OS/2 2.11 720,2400,1440,5760,2880, // OS/2 Warp 3 2400,1440,5760,2880, // OS/2 Warp 4 2400,1440,5760,2880, // eComStation 2400,1440,5760,2880, // Windows 95 640,720,2400,1440,5760,2880,320,360, // Windows 95 OSR 2 640,720,2400,1440,5760,2880,320,360, /// Windows 95 OSR 2.1 640,720,2400,1440,5760,2880,320,360, // Windows 95 OSR 2.5 640,720,2400,1440,5760,2880,320,360, // Windows 98 640,720,2400,1440,5760,2880,320,360, // Windows 98 Second Edition 640,720,2400,1440,5760,2880,320,360, // Windows Me 720,2400,1440,5760,2880, // Windows NT 3.10 2400,1440,5760,2880, // Windows NT 3.50 2400,1440,5760,2880, // Windows NT 3.51 2400,1440,5760,2880, // Windows NT 4.00 720,2400,1440,5760,2880,360, // Windows 2000 720,2400,1440,5760,2880, // Windows Vista 720,2400,1440,5760,2880, // BeOS R4.5 2880, }; readonly uint[] sectorsize = { // Concurrent DOS 6.00 512, 512, 512, // DR-DOS 3.40 512, 512, 512, 512, 512, 512, 512, // DR-DOS 3.41 512,512,512,512,512,512,512, // DR-DOS 5.00 512,512,512,512,512,512,512, // DR-DOS 6.00 512,512,512,512,512,512,512,512, // DR-DOS 7.02 512,512,512,512,512,512,512,512, // DR-DOS 7.03 512,512,512,512,512,512, // DR-DOS 8.00 512,512,512,512,512,512,512,512, // MS-DOS 3.30A 512,512,512,512,512,512,512,512, // MS-DOS 3.31 512,512,512,512,512,512,512,512, // MS-DOS 4.01 512,512,512,512,512,512,512, // MS-DOS 5.00 512,512,512,512,512,512,512,512, // MS-DOS 6.00 512,512,512,512,512,512,512,512, // MS-DOS 6.20 512,512,512,512,512,512,512,512, // MS-DOS 6.20 RC1 512,512,512,512,512,512,512,512, // MS-DOS 6.21 512,512,512,512,512,512,512,512, // MS-DOS 6.22 512,512,512,512,512,512,512,512, // MS-DOS 7.10 512,512,512,512,512,512,512,512, // MS-DOS 3.20 for Amstrad 512,512,512,512,512,512, // MS-DOS 2.11 for AT&T 512, // MS-DOS 3.30 for DeLL 512,512,512,512,512,512,512, // MS-DOS 3.10 for Epson 512,512,512, // MS-DOS 3.20 for Epson 512,512,512,512,512,512, // MS-DOS 3.20 for HP 512,512,512,512,512,512,512, // MS-DOS 3.21 for Hyosung 512,512,512,512,512,512,512, // MS-DOS 3.21 for Kaypro 512,512,512,512,512,512,512, // MS-DOS 3.10 for Olivetti 512,512,512, // MS-DOS 3.30 for Toshiba 512,512,512,512,512,512,512, // MS-DOS 4.01 for Toshiba 512,512,512,512,512,512,512, // Novell DOS 7.00 512,512,512,512,512,512,512,512, // OpenDOS 7.01 512,512,512,512,512,512,512,512, // PC-DOS 2.00 512, // PC-DOS 2.10 512, // PC-DOS 2000 512,512,512,512,512,512,512,512, // PC-DOS 3.00 512, // PC-DOS 3.10 512, // PC-DOS 3.30 512,512, // PC-DOS 4.00 512,512, // PC-DOS 5.00 512,512,512,512,512,512,512,512, // PC-DOS 5.02 512,512,512,512,512,512,512,512, // PC-DOS 6.10 512,512,512,512,512,512,512,512, // PC-DOS 6.30 512,512,512,512,512,512,512,512, // mkfs.vfat 512,512,512,512, // mkfs.vfat for Atari 512,512,512,512, // Microsoft OS/2 1.00 for Tandy 512,512,512,512, // Microsoft OS/2 1.10 for AST 512,512,512,512, // Microsoft OS/2 1.10 for Nokia 512,512,512,512, // Microsoft OS/2 1.21 512,512,512,512, // Microsoft OS/2 1.30.1 512,512,512,512,512, // OS/2 1.20 512,512,512,512, // OS/2 1.30 512,512,512,512, // OS/2 2.00 512,512,512,512,512, // OS/2 2.10 512,512,512,512,512, // OS/2 2.11 512,512,512,512,512, // OS/2 Warp 3 512,512,512,512, // OS/2 Warp 4 512,512,512,512, // eComStation 512,512,512,512, // Windows 95 512,512,512,512,512,512,512,512, // Windows 95 OSR 2 512,512,512,512,512,512,512,512, /// Windows 95 OSR 2.1 512,512,512,512,512,512,512,512, // Windows 95 OSR 2.5 512,512,512,512,512,512,512,512, // Windows 98 512,512,512,512,512,512,512,512, // Windows 98 Second Edition 512,512,512,512,512,512,512,512, // Windows Me 512,512,512,512,512, // Windows NT 3.10 512,512,512,512, // Windows NT 3.50 512,512,512,512, // Windows NT 3.51 512,512,512,512, // Windows NT 4.00 512,512,512,512,512,512, // Windows 2000 512,512,512,512,512, // Windows Vista 512,512,512,512,512, // BeOS R4.5 512, }; readonly long[] clusters = { // Concurrent DOS 6.00 2400, 720, 2880, // DR-DOS 3.40 360,320,2400,720,2880,360,320, // DR-DOS 3.41 360,320,2400,720,2880,360,320, // DR-DOS 5.00 360,320,2400,720,2880,360,320, // DR-DOS 6.00 360,320,2400,720,2880,2880,360,320, // DR-DOS 7.02 360,320,2400,720,2880,2880,360,320, // DR-DOS 7.03 360,320,2400,720,2880,2880, // DR-DOS 8.00 360,320,2400,720,2880,2880,360,320, // MS-DOS 3.30A 360,320,2400,720,5760,2880,360,320, // MS-DOS 3.31 360,320,2400,720,5760,2880,360,320, // MS-DOS 4.01 360,320,2400,720,2880,360,320, // MS-DOS 5.00 360,320,2400,720,2880,2880,360,320, // MS-DOS 6.00 360,320,2400,720,2880,2880,360,320, // MS-DOS 6.20 360,320,2400,720,2880,2880,360,320, // MS-DOS 6.20 RC1 360,320,2400,720,2880,2880,360,320, // MS-DOS 6.21 360,320,2400,720,2880,2880,360,320, // MS-DOS 6.22 360,320,2400,720,2880,2880,360,320, // MS-DOS 7.10 360,320,2400,720,2880,2880,360,320, // MS-DOS 3.20 for Amstrad 360,320,2400,720,360,320, // MS-DOS 2.11 for AT&T 360, // MS-DOS 3.30 for DeLL 360,320,2400,720,2880,360,320, // MS-DOS 3.10 for Epson 360,320,2400, // MS-DOS 3.20 for Epson 360,320,2400,720,360,320, // MS-DOS 3.20 for HP 360,320,2400,720,2880,360,320, // MS-DOS 3.21 for Hyosung 360,320,2400,720,2880,360,320, // MS-DOS 3.21 for Kaypro 360,320,2400,720,2880,360,320, // MS-DOS 3.10 for Olivetti 360,2400,360, // MS-DOS 3.30 for Toshiba 360,320,2400,720,2880,360,320, // MS-DOS 4.01 for Toshiba 360,320,2400,720,2880,360,320, // Novell DOS 7.00 360,320,2400,720,2880,2880,360,320, // OpenDOS 7.01 360,320,2400,720,2880,2880,360,320, // PC-DOS 2.00 360, // PC-DOS 2.10 360, // PC-DOS 2000 360,320,2400,720,2880,2880,360,320, // PC-DOS 3.00 2400, // PC-DOS 3.10 2400, // PC-DOS 3.30 2400,2880, // PC-DOS 4.00 2400,2880, // PC-DOS 5.00 360,320,2400,720,2880,2880,360,320, // PC-DOS 5.02 360,320,2400,720,2880,2880,360,320, // PC-DOS 6.10 360,320,2400,720,2880,2880,360,320, // PC-DOS 6.30 360,320,2400,720,2880,2880,360,320, // mkfs.vfat 2400,720,2880,2880, // mkfs.vfat for Atari 1200,720,2880,1440, // Microsoft OS/2 1.00 for Tandy 360,2400,720,2880, // Microsoft OS/2 1.10 for AST 360,2400,720,2880, // Microsoft OS/2 1.10 for Nokia 360,2400,720,2880, // Microsoft OS/2 1.21 360,2400,720,2880, // Microsoft OS/2 1.30.1 360,2400,720,2880,2880, // OS/2 1.20 360,2400,720,2880, // OS/2 1.30 360,2400,720,2880, // OS/2 2.00 360,2400,720,2880,2880, // OS/2 2.10 360,2400,720,2880,2880, // OS/2 2.11 360,2400,720,2880,2880, // OS/2 Warp 3 2400,720,2880,2880, // OS/2 Warp 4 2400,720,2880,2880, // eComStation 2400,720,2880,2880, // Windows 95 320,360,2400,720,2880,2880,320,360, // Windows 95 OSR 2 320,360,2400,720,2880,2880,320,360, /// Windows 95 OSR 2.1 320,360,2400,720,2880,2880,320,360, // Windows 95 OSR 2.5 320,360,2400,720,2880,2880,320,360, // Windows 98 320,360,2400,720,2880,2880,320,360, // Windows 98 Second Edition 320,360,2400,720,2880,2880,320,360, // Windows Me 360,2400,720,2880,2880, // Windows NT 3.10 2400,720,2880,2880, // Windows NT 3.50 2400,720,2880,2880, // Windows NT 3.51 2400,720,2880,2880, // Windows NT 4.00 360,2400,720,2880,2880,360, // Windows 2000 360,2400,720,2880,2880, // Windows Vista 360,2400,720,2880,2880, // BeOS R4.5 2880, }; readonly int[] clustersize = { // Concurrent DOS 6.00 512, 1024, 512, // DR-DOS 3.40 1024,1024,512,1024,512,512,512, // DR-DOS 3.41 1024,1024,512,1024,512,512,512, // DR-DOS 5.00 1024,1024,512,1024,512,512,512, // DR-DOS 6.00 1024,1024,512,1024,1024,512,512,512, // DR-DOS 7.02 1024,1024,512,1024,1024,512,512,512, // DR-DOS 7.03 1024,1024,512,1024,1024,512, // DR-DOS 8.00 1024,1024,512,1024,1024,512,512,512, // MS-DOS 3.30A 1024,1024,512,1024,512,512,512,512, // MS-DOS 3.31 1024,1024,512,1024,512,512,512,512, // MS-DOS 4.01 1024,1024,512,1024,512,512,512, // MS-DOS 5.00 1024,1024,512,1024,1024,512,512,512, // MS-DOS 6.00 1024,1024,512,1024,1024,512,512,512, // MS-DOS 6.20 1024,1024,512,1024,1024,512,512,512, // MS-DOS 6.20 RC1 1024,1024,512,1024,1024,512,512,512, // MS-DOS 6.21 1024,1024,512,1024,1024,512,512,512, // MS-DOS 6.22 1024,1024,512,1024,1024,512,512,512, // MS-DOS 7.10 1024,1024,512,1024,1024,512,512,512, // MS-DOS 3.20 for Amstrad 1024,1024,512,1024,512,512, // MS-DOS 2.11 for AT&T 1024, // MS-DOS 3.30 for DeLL 1024,1024,512,1024,512,512,512, // MS-DOS 3.10 for Epson 1024,1024,512, // MS-DOS 3.20 for Epson 1024,1024,512,1024,512,512, // MS-DOS 3.20 for HP 1024,1024,512,1024,512,512,512, // MS-DOS 3.21 for Hyosung 1024,1024,512,1024,512,512,512, // MS-DOS 3.21 for Kaypro 1024,1024,512,1024,512,512,512, // MS-DOS 3.10 for Olivetti 1024,512,512, // MS-DOS 3.30 for Toshiba 1024,1024,512,1024,512,512,512, // MS-DOS 4.01 for Toshiba 1024,1024,512,1024,512,512,512, // Novell DOS 7.00 1024,1024,512,1024,1024,512,512,512, // OpenDOS 7.01 1024,1024,512,1024,1024,512,512,512, // PC-DOS 2.00 1024, // PC-DOS 2.10 1024, // PC-DOS 2000 1024,1024,512,1024,1024,512,512,512, // PC-DOS 3.00 512, // PC-DOS 3.10 512, // PC-DOS 3.30 512,512, // PC-DOS 4.00 512,512, // PC-DOS 5.00 1024,1024,512,1024,1024,512,512,512, // PC-DOS 5.02 1024,1024,512,1024,1024,512,512,512, // PC-DOS 6.10 1024,1024,512,1024,1024,512,512,512, // PC-DOS 6.30 1024,1024,512,1024,1024,512,512,512, // mkfs.vfat 512,1024,1024,512, // mkfs.vfat for Atari 1024,1024,1024,1024, // Microsoft OS/2 1.00 for Tandy 1024,512,1024,512, // Microsoft OS/2 1.10 for AST 1024,512,1024,512, // Microsoft OS/2 1.10 for Nokia 1024,512,1024,512, // Microsoft OS/2 1.21 1024,512,1024,512, // Microsoft OS/2 1.30.1 1024,512,1024,1024,512, // OS/2 1.20 1024,512,1024,512, // OS/2 1.30 1024,512,1024,512, // OS/2 2.00 1024,512,1024,1024,512, // OS/2 2.10 1024,512,1024,1024,512, // OS/2 2.11 1024,512,1024,1024,512, // OS/2 Warp 3 512,1024,1024,512, // OS/2 Warp 4 512,1024,1024,512, // eComStation 512,1024,1024,512, // Windows 95 1024,1024,512,1024,1024,512,512,512, // Windows 95 OSR 2 1024,1024,512,1024,1024,512,512,512, /// Windows 95 OSR 2.1 1024,1024,512,1024,1024,512,512,512, // Windows 95 OSR 2.5 1024,1024,512,1024,1024,512,512,512, // Windows 98 1024,1024,512,1024,1024,512,512,512, // Windows 98 Second Edition 1024,1024,512,1024,1024,512,512,512, // Windows Me 1024,512,1024,1024,512, // Windows NT 3.10 512,1024,1024,512, // Windows NT 3.50 512,1024,1024,512, // Windows NT 3.51 512,1024,1024,512, // Windows NT 4.00 1024,512,1024,512,512,512, // Windows 2000 1024,512,1024,1024,512, // Windows Vista 1024,512,1024,1024,512, // BeOS R4.5 512, }; readonly string[] volumename = { // Concurrent DOS 6.00 null, null, null, // DR-DOS 3.40 null, null, null, null, null, null, null, // DR-DOS 3.41 null, null, null, null, null, null, null, // DR-DOS 5.00 null, null, null, null, null, null, null, // DR-DOS 6.00 null, null, null, null, null, null, null, null, // DR-DOS 7.02 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // DR-DOS 7.03 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // DR-DOS 8.00 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // MS-DOS 3.30A null, null, null, null, null, null, null,null, // MS-DOS 3.31 null, null, null, null, null, null, null,null, // MS-DOS 4.01 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 5.00 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 6.00 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 6.20 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 6.20 RC1 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 6.21 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 6.22 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 7.10 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 3.20 for Amstrad null,null,null,null,null,null, // MS-DOS 2.11 for AT&T null, // MS-DOS 3.30 for DeLL null,null,null,null,null,null,null, // MS-DOS 3.10 for Epson null,null,null, // MS-DOS 3.20 for Epson null,null,null,null,null,null, // MS-DOS 3.20 for HP null,null,null,null,null,null,null, // MS-DOS 3.21 for Hyosung null,null,null,null,null,null,null, // MS-DOS 3.21 for Kaypro null,null,null,null,null,null,null, // MS-DOS 3.10 for Olivetti null,null,null, // MS-DOS 3.30 for Toshiba null,null,null,null,null,null,null, // MS-DOS 4.01 for Toshiba "VOLUMELABEL","NO NAME ","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","NO NAME ", // Novell DOS 7.00 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OpenDOS 7.01 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // PC-DOS 2.00 null, // PC-DOS 2.10 null, // PC-DOS 2000 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // PC-DOS 3.00 null, // PC-DOS 3.10 null, // PC-DOS 3.30 null,null, // PC-DOS 4.00 "VOLUMELABEL","VOLUMELABEL", // PC-DOS 5.00 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // PC-DOS 5.02 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // PC-DOS 6.10 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // PC-DOS 6.30 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // mkfs.vfat "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // mkfs.vfat for Atari null,null,null,null, // Microsoft OS/2 1.00 for Tandy null,null,null,null, // Microsoft OS/2 1.10 for AST null,null,null,null, // Microsoft OS/2 1.10 for Nokia null,null,null,null, // Microsoft OS/2 1.21 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Microsoft OS/2 1.30.1 "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 1.20 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 1.30 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 2.00 "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 2.10 "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 2.11 "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 Warp 3 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // OS/2 Warp 4 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // eComStation "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Windows 95 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", // Windows 95 OSR 2 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", /// Windows 95 OSR 2.1 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", // Windows 95 OSR 2.5 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", // Windows 98 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", // Windows 98 Second Edition null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", // Windows Me "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows NT 3.10 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Windows NT 3.50 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Windows NT 3.51 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Windows NT 4.00 "NO NAME ","NO NAME ","NO NAME ","NO NAME ", "NO NAME ","NO NAME ", // Windows 2000 "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // Windows Vista "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // BeOS R4.5 "NO NAME ", }; readonly string[] volumeserial = { // Concurrent DOS 6.00 null, null, null, // DR-DOS 3.40 null, null, null, null, null, null, null, // DR-DOS 3.41 null, null, null, null, null, null, null, // DR-DOS 5.00 null, null, null, null, null, null, null, // DR-DOS 6.00 null, null, null, null, null, null, null, null, // DR-DOS 7.02 "1BF63C69","1BF70E75","1BF7185F","1BF80C4F","1BF90F1D","1BF82777","1BF72430","1BF72F1E", // DR-DOS 7.03 "0C1A2013","0CE22B5B","0CEA1D3E","0CEE102F","0CEE3760","0CEF2739", // DR-DOS 8.00 "1BFD1977","1BFD2D3F","1BFD3531","1BFC3231","1BFA1D58","1BFC117D","1BFE0971","1BFE1423", // MS-DOS 3.30A null, null, null, null, null, null, null,null, // MS-DOS 3.31 null, null, null, null, null, null, null,null, // MS-DOS 4.01 "122C190A",null,"2480190A","2D471909","0F5A1908","2F3D190A",null, // MS-DOS 5.00 "0B6018F8",null,"1E3518F8","285A18FB","231D18FE","415118FC","316118F8",null, // MS-DOS 6.00 "067B18F6",null,"193418F6","1F3A18F5","165318F3","172418F4","234918F6",null, // MS-DOS 6.20 "265418ED",null,"0B7018EE","127418F0","137F18F2","364C18F0","185C18EE",null, // MS-DOS 6.20 RC1 "064B18EB",null,"192518EB","244C18EA","3C3118E7","344118E9","267E18EB",null, // MS-DOS 6.21 "2A41181B",null,"0641181C","3B26181C","082518E2","237118E1","123F181C",null, // MS-DOS 6.22 "317C1818",null,"0D3A1819","3C251817","387A1815","185E1817","18231819",null, // MS-DOS 7.10 "1156180A",null,"2951180A","3057180B","2B4A1811","344B180C","352D180A",null, // MS-DOS 3.20 for Amstrad null,null,null,null,null,null, // MS-DOS 2.11 for AT&T null, // MS-DOS 3.30 for DeLL null,null,null,null,null,null,null, // MS-DOS 3.10 for Epson null,null,null, // MS-DOS 3.20 for Epson null,null,null,null,null,null, // MS-DOS 3.20 for HP null,null,null,null,null,null,null, // MS-DOS 3.21 for Hyosung null,null,null,null,null,null,null, // MS-DOS 3.21 for Kaypro null,null,null,null,null,null,null, // MS-DOS 3.10 for Olivetti null,null,null, // MS-DOS 3.30 for Toshiba null,null,null,null,null,null,null, // MS-DOS 4.01 for Toshiba "0B2519E7","163419E7","1E3119E7","133919E9","177419EA","317E19E7","3B7319E7", // Novell DOS 7.00 "1BE7254C","1BE73024","1BE7397C","1BE63635","1BE51661","1BE61143","1BE80A5D","1BE8144C", // OpenDOS 7.01 "1BE93E2B","1BEA234D","1BEA325D","1BEB294F","1BEC2C2E","1BEC0C5D","1BEA3E60","1BEB0E26", // PC-DOS 2.00 null, // PC-DOS 2.10 null, // PC-DOS 2000 "2634100E",null,"3565100E","3B6B1012","3B2D1013","1D491013","4136100E",null, // PC-DOS 3.00 null, // PC-DOS 3.10 null, // PC-DOS 3.30 null,null, // PC-DOS 4.00 "3C240FE3","2E3E0FE1", // PC-DOS 5.00 "33260FF9",null,"11550FFA","234F0FFB","2F600FFC","0D550FFC","1D630FFA",null, // PC-DOS 5.02 "06231000",null,"1A3E1000","1F3B0FFF","3D750FFD","3F4F0FFE","26471000",null, // PC-DOS 6.10 "25551004",null,"3E5F1004","142D1006","17541007","355A1006","0D5E1005",null, // PC-DOS 6.30 "2B22100C",null,"3B47100C","0C55100C","1B80100A","0B59100B","0A3A100D",null, // mkfs.vfat "20C279B1","20FD9501","2132D70A","2118F1AA", // mkfs.vfat for Atari null,null,null,null, // Microsoft OS/2 1.00 for Tandy "9C170C15","9BFB0C15","9C13FC15","9BF99C15", // Microsoft OS/2 1.10 for AST "66A42C15","67696C15","66DEBC15","66DC4C15", // Microsoft OS/2 1.10 for Nokia "676B4C15","67768C15","9C12DC15","66A74C15", // Microsoft OS/2 1.21 "9C074C15","66BCFC15","66C1AC15","66C7FC15", // Microsoft OS/2 1.30.1 "66C47C15","66CBEC15","9C167C15","9C147C15","9C0FEC15", // OS/2 1.20 "5BF5E015","5BE61015","5C26F015","5C376015", // OS/2 1.30 "5C418015","5BE20015","5C7F1015","5B83C015", // OS/2 2.00 "5C3BD015","5B807015","5BE69015","5C187015","5C390015", // OS/2 2.10 "1BFCB414","E6C6C414","E6CCF414","E6AF6414","1C005414", // OS/2 2.11 "E6AEB414","1C00D414","1C03B414","E6C90414","E6B6E414", // OS/2 Warp 3 "E6AF7414","E6D63414","E6A65414","E6AE6414", // OS/2 Warp 4 "E6CD9414","1BFAD414","E6DFF414","E6D4C414", // eComStation "E6CA5814","E6CBC814","E6B81814","1C013814", // Windows 95 null,"3B360D0D","24240D0D","3C260D11", "30050D10","275A0D11",null,"3B100D0F", // Windows 95 OSR 2 null,"1C5B0D19","11510D19","0F1F0D15", "40200D17","3D610D14",null,"280B0D19", /// Windows 95 OSR 2.1 null,"1F3B0D1C","14470D1C","1C510DE4", "2E250DE2","10640DE4",null,"2B3E0D1C", // Windows 95 OSR 2.5 null,"18190DFB","0A240DFB","1E320DE7", "33230DE8","125B0DE7",null,"21410DFB", // Windows 98 null,"40090E0F","28140E0F","0E620E0A", "14390E0D","0E081246",null,"30600E10", // Windows 98 Second Edition null,"1B550EEC","1B100EEB","08410EE6", "0E0F0EE8","325D0EE4",null,"13380EEC", // Windows Me "2F200F02","103A0F01","2F1C0EFC","21570EFF","07040EFB", // Windows NT 3.10 "60EA50BC","6C857D51","4009440C","30761EDC", // Windows NT 3.50 "0C478404","7CBEB35B","7C1E8DCB","ECB276AF", // Windows NT 3.51 "482D8681","8889C95E","54DE6C39","F47D2516", // Windows NT 4.00 "D8CAAC1F","E0BB6D70","C08C3C60","9C44B411", "4C7DD099","4CD82982", // Windows 2000 "4019989C","78F30AF8","E4217DDE","80B3B996","28043527", // Windows Vista "3C9F0BD2","3A8E465C","B2EFB822","3C30C632","16DAB07A", // BeOS R4.5 "00000000", }; readonly string[] oemid = { // Concurrent DOS 6.00 "DIGITAL ", "DIGITAL ", "DIGITAL ", // DR-DOS 3.40 "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", // DR-DOS 3.41 "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", "DIGITAL ", // DR-DOS 5.00 "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", // DR-DOS 6.00 "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", "IBM 3.3", // DR-DOS 7.02 "DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7", // DR-DOS 7.03 "DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7", // DR-DOS 8.00 "DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7", // MS-DOS 3.30A "MSDOS3.3",null,"MSDOS3.3","MSDOS3.3","MSDOS3.3","MSDOS3.3","MSDOS3.3",null, // MS-DOS 3.31 "IBM 3.3",null,"IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3",null, // MS-DOS 4.01 "MSDOS4.0",null,"MSDOS4.0","MSDOS4.0","MSDOS4.0","MSDOS4.0",null, // MS-DOS 5.00 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 6.00 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 6.20 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 6.20 RC1 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 6.21 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 6.22 "MSDOS5.0",null,"MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0",null, // MS-DOS 7.10 "MSWIN4.1",null,"MSWIN4.1","MSWIN4.1","MSWIN4.1","MSWIN4.1","MSWIN4.1",null, // MS-DOS 3.20 for Amstrad "MSDOS3.2",null,"MSDOS3.2","MSDOS3.2","MSDOS3.2",null, // MS-DOS 2.11 for AT&T "PSA 1.04", // MS-DOS 3.30 for DeLL "IBM 3.3",null,"IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3",null, // MS-DOS 3.10 for Epson "EPS 3.10","EPS 3.10","EPS 3.10", // MS-DOS 3.20 for Epson "IBM 3.2","IBM 3.2","IBM 3.2","IBM 3.2","IBM 3.2","IBM 3.2", // MS-DOS 3.20 for HP "MSDOS3.2",null,"MSDOS3.2","MSDOS3.2","MSDOS3.2","MSDOS3.2",null, // MS-DOS 3.21 for Hyosung "MSDOS3.2",null,"MSDOS3.2","MSDOS3.2","MSDOS3.2","MSDOS3.2",null, // MS-DOS 3.21 for Kaypro "MSDOS3.2",null,"MSDOS3.2","MSDOS3.2","MSDOS3.2","MSDOS3.2",null, // MS-DOS 3.10 for Olivetti "IBM 3.1","IBM 3.1","IBM 3.1", // MS-DOS 3.30 for Toshiba "IBM 3.3",null,"IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3",null, // MS-DOS 4.01 for Toshiba "T V4.00 ","T V4.00 ","T V4.00 ","T V4.00 ","T V4.00 ","T V4.00 ","T V4.00 ", // Novell DOS 7.00 "NWDOS7.0","NWDOS7.0","NWDOS7.0","NWDOS7.0","NWDOS7.0","NWDOS7.0","NWDOS7.0","NWDOS7.0", // OpenDOS 7.01 "OPENDOS7","OPENDOS7","OPENDOS7","OPENDOS7","OPENDOS7","OPENDOS7","OPENDOS7","OPENDOS7", // PC-DOS 2.00 "IBM 2.0", // PC-DOS 2.10 "IBM 2.0", // PC-DOS 2000 "IBM 7.0",null,"IBM 7.0","IBM 7.0","IBM 7.0","IBM 7.0","IBM 7.0",null, // PC-DOS 3.00 "IBM 3.0", // PC-DOS 3.10 "IBM 3.1", // PC-DOS 3.30 "IBM 3.3","IBM 3.3", // PC-DOS 4.00 "IBM 4.0","IBM 4.0", // PC-DOS 5.00 "IBM 5.0",null,"IBM 5.0","IBM 5.0","IBM 5.0","IBM 5.0","IBM 5.0",null, // PC-DOS 5.02 "IBM 5.0",null,"IBM 5.0","IBM 5.0","IBM 5.0","IBM 5.0","IBM 5.0",null, // PC-DOS 6.10 "IBM 6.0",null,"IBM 6.0","IBM 6.0","IBM 6.0","IBM 6.0","IBM 6.0",null, // PC-DOS 6.30 "IBM 6.0",null,"IBM 6.0","IBM 6.0","IBM 6.0","IBM 6.0","IBM 6.0",null, // mkfs.vfat "mkfs.fat","mkfs.fat","mkfs.fat","mkfs.fat", // mkfs.vfat for Atari null,null,null,null, // Microsoft OS/2 1.00 for Tandy "TAN 10.0","TAN 10.0","TAN 10.0","TAN 10.0", // Microsoft OS/2 1.10 for AST "IBM 10.1","IBM 10.1","IBM 10.1","IBM 10.1", // Microsoft OS/2 1.10 for Nokia "IBM 10.1","IBM 10.1","IBM 10.1","IBM 10.1", // Microsoft OS/2 1.21 "IBM 10.2","IBM 10.2","IBM 10.2","IBM 10.2", // Microsoft OS/2 1.30.1 "IBM 10.2","IBM 10.2","IBM 10.2","IBM 10.2","IBM 10.2", // OS/2 1.20 "IBM 10.2","IBM 10.2","IBM 10.2","IBM 10.2", // OS/2 1.30 "IBM 10.2","IBM 10.2","IBM 10.2","IBM 10.2", // OS/2 2.00 "IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0", // OS/2 2.10 "IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0", // OS/2 2.11 "IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0", // OS/2 Warp 3 "IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0", // OS/2 Warp 4 "IBM 20.0","IBM 20.0","IBM 20.0","IBM 20.0", // eComStation "IBM 4.50","IBM 4.50","IBM 4.50","IBM 4.50", // Windows 95 null,"MSWIN4.0","MSWIN4.0","MSWIN4.0", "MSWIN4.0","MSWIN4.0",null,"MSWIN4.0", // Windows 95 OSR 2 null,"MSWIN4.1","MSWIN4.1","MSWIN4.1", "MSWIN4.1","MSWIN4.1",null,"MSWIN4.1", /// Windows 95 OSR 2.1 null,"MSWIN4.1","MSWIN4.1","MSWIN4.1", "MSWIN4.1","MSWIN4.1",null,"MSWIN4.1", // Windows 95 OSR 2.5 null,"MSWIN4.1","MSWIN4.1","MSWIN4.1", "MSWIN4.1","MSWIN4.1",null,"MSWIN4.1", // Windows 98 null,"MSWIN4.1","MSWIN4.1","MSWIN4.1", "MSWIN4.1","MSWIN4.1",null,"MSWIN4.1", // Windows 98 Second Edition null,"MSWIN4.1","MSWIN4.1","MSWIN4.1", "MSWIN4.1","MSWIN4.1",null,"MSWIN4.1", // Windows Me "MSWIN4.1","MSWIN4.1","MSWIN4.1","MSWIN4.1","MSWIN4.1", // Windows NT 3.10 "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // Windows NT 3.50 "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // Windows NT 3.51 "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // Windows NT 4.00 "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", "MSDOS5.0","MSDOS5.0", // Windows 2000 "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // Windows Vista "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // BeOS R4.5 "BeOS ", }; [Test] public void Test() { for(int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); Filesystem fs = new FAT(); Assert.AreEqual(true, fs.Identify(image, 0, image.ImageInfo.sectors - 1), testfiles[i]); fs.GetInformation(image, 0, image.ImageInfo.sectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); Assert.AreEqual("FAT12", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); Assert.AreEqual(oemid[i], fs.XmlFSType.SystemIdentifier, testfiles[i]); } } } }