From ef10f16d96144b48803c611f676efd4ae7f1ba25 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 8 Jul 2017 19:24:07 +0100 Subject: [PATCH] Added more tests. --- .../DiscImageChef.Tests.csproj | 35 + DiscImageChef.Tests/Filesystems/AFFS.cs | 1405 +-------------- DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs | 26 +- DiscImageChef.Tests/Filesystems/AFFS_MBR.cs | 32 +- .../Filesystems/AFFS_MBR_RDB.cs | 12 +- DiscImageChef.Tests/Filesystems/AFFS_RDB.cs | 39 +- DiscImageChef.Tests/Filesystems/AOFS.cs | 8 +- DiscImageChef.Tests/Filesystems/AOFS_MBR.cs | 34 +- .../Filesystems/AOFS_MBR_RDB.cs | 10 +- DiscImageChef.Tests/Filesystems/AOFS_RDB.cs | 32 +- DiscImageChef.Tests/Filesystems/BeFS_GPT.cs | 27 +- DiscImageChef.Tests/Filesystems/BeFS_MBR.cs | 16 +- DiscImageChef.Tests/Filesystems/FAT12.cs | 137 ++ DiscImageChef.Tests/Filesystems/FAT12_APM.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT12_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT12_MBR.cs | 10 +- DiscImageChef.Tests/Filesystems/FAT16_APM.cs | 26 +- DiscImageChef.Tests/Filesystems/FAT16_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT16_MBR.cs | 26 +- DiscImageChef.Tests/Filesystems/FAT16_RDB.cs | 41 +- DiscImageChef.Tests/Filesystems/FAT32_APM.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT32_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT32_MBR.cs | 26 +- DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs | 36 +- DiscImageChef.Tests/Filesystems/HFS.cs | 1546 +---------------- .../Filesystems/HFSPlus_APM.cs | 56 +- .../Filesystems/HFSPlus_GPT.cs | 2 +- .../Filesystems/HFSPlus_MBR.cs | 28 +- DiscImageChef.Tests/Filesystems/HFSX_APM.cs | 14 +- DiscImageChef.Tests/Filesystems/HFSX_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/HFSX_MBR.cs | 16 +- DiscImageChef.Tests/Filesystems/HFS_APM.cs | 57 +- DiscImageChef.Tests/Filesystems/HFS_MBR.cs | 13 +- DiscImageChef.Tests/Filesystems/HFS_RDB.cs | 14 +- DiscImageChef.Tests/Filesystems/LFS_MBR.cs | 26 +- DiscImageChef.Tests/Filesystems/Locus.cs | 8 +- DiscImageChef.Tests/Filesystems/MFS.cs | 32 +- DiscImageChef.Tests/Filesystems/NTFS_GPT.cs | 31 +- DiscImageChef.Tests/Filesystems/NTFS_MBR.cs | 15 +- DiscImageChef.Tests/Filesystems/NWFS386.cs | 28 +- DiscImageChef.Tests/Filesystems/OCFS2.cs | 28 +- DiscImageChef.Tests/Filesystems/PFS3_RDB.cs | 1 - DiscImageChef.Tests/Filesystems/ProDOS_APM.cs | 60 +- DiscImageChef.Tests/Filesystems/SFS_MBR.cs | 23 +- .../Filesystems/SFS_MBR_RDB.cs | 24 +- DiscImageChef.Tests/Filesystems/SFS_RDB.cs | 24 +- DiscImageChef.Tests/Filesystems/SysV.cs | 30 +- DiscImageChef.Tests/Filesystems/SysV_MBR.cs | 22 +- DiscImageChef.Tests/Filesystems/SysV_RDB.cs | 32 +- DiscImageChef.Tests/Filesystems/UDF.cs | 27 +- DiscImageChef.Tests/Filesystems/UFS.cs | 38 +- DiscImageChef.Tests/Filesystems/UFS_APM.cs | 46 +- DiscImageChef.Tests/Filesystems/UFS_MBR.cs | 76 +- DiscImageChef.Tests/Filesystems/UFS_NeXT.cs | 114 +- DiscImageChef.Tests/Filesystems/UFS_RDB.cs | 42 +- DiscImageChef.Tests/Filesystems/UFS_Suni86.cs | 26 +- DiscImageChef.Tests/Filesystems/UNIXBFS.cs | 31 +- .../Filesystems/UNIXBFS_MBR.cs | 18 +- .../Filesystems/UNIXBFS_RDB.cs | 8 +- DiscImageChef.Tests/Filesystems/ZFS.cs | 40 +- DiscImageChef.Tests/Filesystems/exFAT_APM.cs | 2 +- DiscImageChef.Tests/Filesystems/exFAT_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/exFAT_MBR.cs | 2 +- DiscImageChef.Tests/Filesystems/ext2.cs | 18 +- 64 files changed, 1014 insertions(+), 3596 deletions(-) diff --git a/DiscImageChef.Tests/DiscImageChef.Tests.csproj b/DiscImageChef.Tests/DiscImageChef.Tests.csproj index 63ff6d93..ff841050 100644 --- a/DiscImageChef.Tests/DiscImageChef.Tests.csproj +++ b/DiscImageChef.Tests/DiscImageChef.Tests.csproj @@ -104,6 +104,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DiscImageChef.Tests/Filesystems/AFFS.cs b/DiscImageChef.Tests/Filesystems/AFFS.cs index 0b6c4638..9a3288c5 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : FAT12.cs +// Filename : AFFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,1416 +45,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT12 + public class AFFS { 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", + "amigaos_3.9.adf.lz", "amigaos_3.9_intl.adf.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, + MediaType.CBM_AMIGA_35_DD, MediaType.CBM_AMIGA_35_DD, }; 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, + 1760, 1760, }; 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, + 512, 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, + 1760, 1760, }; 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, + 512, 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 ", + "Volume label", "Volume label", }; 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 ", + null, null, }; [Test] @@ -1462,7 +84,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -1470,15 +92,14 @@ namespace DiscImageChef.Tests.Filesystems 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(); + Filesystem fs = new AmigaDOSPlugin(); 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("Amiga FFS", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs index 0b7e88a4..fe7c5b8f 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : SFS_RDB.cs +// Filename : AFFS2_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,10 +48,10 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class SFS_RDB + public class AFFS2_RDB { readonly string[] testfiles = { - "uae.vdi.lz", + "amigaos_4.0.vdi.lz", }; readonly ulong[] sectors = { @@ -63,31 +63,27 @@ namespace DiscImageChef.Tests.Filesystems }; readonly long[] clusters = { - 127000, + 1022080, }; readonly int[] clustersize = { - 2048, + 512, }; readonly string[] volumename = { - null, + "Volume label", }; readonly string[] volumeserial = { null, }; - readonly string[] oemid = { - null, - }; - [Test] public void Test() { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs2_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -96,12 +92,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.SFS(); + Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"SFS\\0\"") + if(partitions[j].PartitionType == "\"DOS\\7\"") { part = j; break; @@ -112,10 +107,9 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("SmartFileSystem", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("Amiga FFS2", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs b/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs index d0898dd9..56a0e6d5 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_RDB.cs +// Filename : AFFS_MBR.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,41 +48,34 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_RDB + public class AFFS_MBR { readonly string[] testfiles = { - "amigaos_3.9.vdi.lz","amigaos_3.9_intl.vdi.lz","aros.vdi.lz","aros_intl.vdi.lz", - "amigaos_4.0.vdi.lz","amigaos_4.0_intl.vdi.lz","amigaos_4.0_cache.vdi.lz" + "aros.vdi.lz","aros_intl.vdi.lz", }; readonly ulong[] sectors = { - 1024128,1024128,409600,409600, - 1024128,1024128,1024128, + 409600,409600, }; readonly uint[] sectorsize = { - 512,512,512,512, - 512,512,512, + 512,512, }; readonly long[] clusters = { - 1020064,1020064,407232,407232, - 1020064,1020064,1020064, + 408240,408240, }; readonly int[] clustersize = { - 512,512,512,512, - 512,512,512, + 512,512, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label", + "Volume label","Volume label", }; readonly string[] volumeserial = { - null,null,null,null, - null,null,null, + null,null, }; [Test] @@ -90,21 +83,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AmigaRigidDiskBlock(); + PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"DOS\\1\"" || partitions[j].PartitionType == "\"DOS\\3\"" || partitions[j].PartitionType == "\"DOS\\5\"") + if(partitions[j].PartitionType == "0x2D") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs index 56a0e6d5..5963fc01 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_MBR.cs +// Filename : AFFS_MBR_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -44,11 +44,12 @@ using DiscImageChef.Filters; using DiscImageChef.ImagePlugins; using DiscImageChef.PartPlugins; using NUnit.Framework; +using System; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_MBR + public class AFFS_MBR_RDB { readonly string[] testfiles = { "aros.vdi.lz","aros_intl.vdi.lz", @@ -81,9 +82,10 @@ namespace DiscImageChef.Tests.Filesystems [Test] public void Test() { - for(int i = 0; i < testfiles.Length; i++) + throw new NotImplementedException("Partition schemes inside partitions are not yet implemented, and should be tested here."); +/* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -110,7 +112,7 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); - } + }*/ } } } diff --git a/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs index 0b7e88a4..4ff00542 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : SFS_RDB.cs +// Filename : AFFS_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,38 +48,41 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class SFS_RDB + public class AFFS_RDB { readonly string[] testfiles = { - "uae.vdi.lz", + "amigaos_3.9.vdi.lz","amigaos_3.9_intl.vdi.lz","aros.vdi.lz","aros_intl.vdi.lz", + "amigaos_4.0.vdi.lz","amigaos_4.0_intl.vdi.lz","amigaos_4.0_cache.vdi.lz" }; readonly ulong[] sectors = { - 1024128, + 1024128,1024128,409600,409600, + 1024128,1024128,1024128, }; readonly uint[] sectorsize = { - 512, + 512,512,512,512, + 512,512,512, }; readonly long[] clusters = { - 127000, + 1020064,1020064,407232,407232, + 1020064,1020064,1020064, }; readonly int[] clustersize = { - 2048, + 512,512,512,512, + 512,512,512, }; readonly string[] volumename = { - null, + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label", }; readonly string[] volumeserial = { - null, - }; - - readonly string[] oemid = { - null, + null,null,null,null, + null,null,null, }; [Test] @@ -87,7 +90,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -96,12 +99,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.SFS(); + Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"SFS\\0\"") + if(partitions[j].PartitionType == "\"DOS\\1\"" || partitions[j].PartitionType == "\"DOS\\3\"" || partitions[j].PartitionType == "\"DOS\\5\"") { part = j; break; @@ -112,10 +114,9 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("SmartFileSystem", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("Amiga FFS", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/AOFS.cs b/DiscImageChef.Tests/Filesystems/AOFS.cs index 9a3288c5..71c8b9e0 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS.cs +// Filename : AOFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,7 +45,7 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS + public class AOFS { readonly string[] testfiles = { "amigaos_3.9.adf.lz", "amigaos_3.9_intl.adf.lz", @@ -84,7 +84,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -97,7 +97,7 @@ namespace DiscImageChef.Tests.Filesystems 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("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("Amiga OFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs b/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs index d0898dd9..1910a3c6 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_RDB.cs +// Filename : AOFS_MBR.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,41 +48,34 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_RDB + public class AOFS_MBR { readonly string[] testfiles = { - "amigaos_3.9.vdi.lz","amigaos_3.9_intl.vdi.lz","aros.vdi.lz","aros_intl.vdi.lz", - "amigaos_4.0.vdi.lz","amigaos_4.0_intl.vdi.lz","amigaos_4.0_cache.vdi.lz" + "aros.vdi.lz","aros_intl.vdi.lz", }; readonly ulong[] sectors = { - 1024128,1024128,409600,409600, - 1024128,1024128,1024128, + 409600,409600, }; readonly uint[] sectorsize = { - 512,512,512,512, - 512,512,512, + 512,512, }; readonly long[] clusters = { - 1020064,1020064,407232,407232, - 1020064,1020064,1020064, + 408240,408240, }; readonly int[] clustersize = { - 512,512,512,512, - 512,512,512, + 512,512, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label", + "Volume label","Volume label", }; readonly string[] volumeserial = { - null,null,null,null, - null,null,null, + null,null, }; [Test] @@ -90,21 +83,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AmigaRigidDiskBlock(); + PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"DOS\\1\"" || partitions[j].PartitionType == "\"DOS\\3\"" || partitions[j].PartitionType == "\"DOS\\5\"") + if(partitions[j].PartitionType == "0x2C") { part = j; break; @@ -115,7 +107,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("Amiga OFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs index 1910a3c6..b0034321 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AOFS_MBR.cs +// Filename : AOFS_MBR_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -35,6 +35,7 @@ // Copyright (C) 2011-2015 Claunia.com // ****************************************************************************/ // //$Id$ +using System; using System.Collections.Generic; using System.IO; using DiscImageChef.CommonTypes; @@ -48,7 +49,7 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AOFS_MBR + public class AOFS_MBR_RDB { readonly string[] testfiles = { "aros.vdi.lz","aros_intl.vdi.lz", @@ -81,7 +82,8 @@ namespace DiscImageChef.Tests.Filesystems [Test] public void Test() { - for(int i = 0; i < testfiles.Length; i++) + throw new NotImplementedException("Partition schemes inside partitions are not yet implemented, and should be tested here."); +/* for(int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_mbr", testfiles[i]); Filter filter = new LZip(); @@ -110,7 +112,7 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("Amiga OFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); - } + }*/ } } } diff --git a/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs b/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs index 0b7e88a4..cd988dca 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : SFS_RDB.cs +// Filename : AOFS_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,38 +48,34 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class SFS_RDB + public class AOFS_RDB { readonly string[] testfiles = { - "uae.vdi.lz", + "amigaos_3.9.vdi.lz","amigaos_3.9_intl.vdi.lz","aros.vdi.lz","aros_intl.vdi.lz", }; readonly ulong[] sectors = { - 1024128, + 1024128,1024128,409600,409600, }; readonly uint[] sectorsize = { - 512, + 512,512,512,512, }; readonly long[] clusters = { - 127000, + 1020064,1020064,407232,407232, }; readonly int[] clustersize = { - 2048, + 512,512,512,512, }; readonly string[] volumename = { - null, + "Volume label","Volume label","Volume label","Volume label", }; readonly string[] volumeserial = { - null, - }; - - readonly string[] oemid = { - null, + null,null,null,null, }; [Test] @@ -87,7 +83,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -96,12 +92,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.SFS(); + Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"SFS\\0\"") + if(partitions[j].PartitionType == "\"DOS\\0\"" || partitions[j].PartitionType == "\"DOS\\2\"" || partitions[j].PartitionType == "\"DOS\\4\"") { part = j; break; @@ -112,10 +107,9 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("SmartFileSystem", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("Amiga OFS", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs b/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs index 1fc45d68..6416fb42 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : BeFS_APM.cs +// Filename : BeFS_GPT.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,59 +48,55 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class BeFS_APM + public class BeFS_GPT { readonly string[] testfiles = { - "beos_r3.1.vdi.lz", "beos_r4.5.vdi.lz", + "haiku_hrev51259.vdi.lz", }; readonly ulong[] sectors = { - 1572864, 1572864, + 8388608, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 786400, 785232, + 2096640, }; readonly int[] clustersize = { - 1024, 1024, + 2048 }; readonly string[] volumename = { - "Volume label","Volume label", + "Volume label", }; readonly string[] volumeserial = { null,null, }; - readonly string[] oemid = { - null,null, - }; - [Test] public void Test() { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "befs_apm", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "befs_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AppleMap(); + PartPlugin parts = new GuidPartitionTable(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.BeFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "Be_BFS") + if(partitions[j].PartitionType == "Haiku BFS") { part = j; break; @@ -114,7 +110,6 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("BeFS", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs b/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs index bd423782..5a441c31 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs @@ -51,35 +51,35 @@ namespace DiscImageChef.Tests.Filesystems public class BeFS_MBR { readonly string[] testfiles = { - "beos_r3.1.vdi.lz", "beos_r4.5.vdi.lz", + "beos_r3.1.vdi.lz", "beos_r4.5.vdi.lz", "haiku_hrev51259.vdi.lz", }; readonly ulong[] sectors = { - 1572864, 1572864, + 1572864, 1572864,8388608, }; readonly uint[] sectorsize = { - 512, 512, + 512, 512, 512, }; readonly long[] clusters = { - 786400, 785232, + 786400, 785232, 2096640, }; readonly int[] clustersize = { - 1024, 1024, + 1024, 1024, 2048, }; readonly string[] volumename = { - "Volume label","Volume label", + "Volume label","Volume label","Volume label", }; readonly string[] volumeserial = { - null,null, + null,null,null, }; readonly string[] oemid = { - null,null, + null,null,null, }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/FAT12.cs b/DiscImageChef.Tests/Filesystems/FAT12.cs index 0b6c4638..f65f369d 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12.cs @@ -235,6 +235,22 @@ namespace DiscImageChef.Tests.Filesystems "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", + // Hatari + "hatari_mf1dd.st.lz","hatari_mf1dd_10.st.lz","hatari_mf1dd_11.st.lz", + "hatari_mf2dd.st.lz","hatari_mf2dd_10.st.lz","hatari_mf2dd_11.st.lz", + "hatari_mf2ed.st.lz","hatari_mf2hd.st.lz", + // Atari TOS 1.04 + "tos_1.04_mf1dd.st.lz","tos_1.04_mf2dd.st.lz", + // NetBSD 1.6 + "netbsd_1.6_mf2dd.img.lz","netbsd_1.6_mf2hd.img.lz", + // NeXTStep 3.3 + "nextstep_3.3_mf2dd.img.lz","nextstep_3.3_mf2hd.img.lz", + // OpenStep for Mach 4.0 + "openstep_4.0_mf2dd.img.lz","openstep_4.0_mf2hd.img.lz", + // OpenStep for Mach 4.2 + "openstep_4.2_mf2dd.img.lz","openstep_4.2_mf2hd.img.lz", + // Solaris 2.4 + "solaris_2.4_mf2dd.img.lz","solaris_2.4_mf2hd.img.lz", }; readonly MediaType[] mediatypes = { @@ -419,6 +435,23 @@ namespace DiscImageChef.Tests.Filesystems 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, + // Hatari + // TODO: Incorrect media types + MediaType.DOS_35_SS_DD_9,MediaType.GENERIC_HDD,MediaType.GENERIC_HDD, + MediaType.DOS_35_DS_DD_9,MediaType.ATARI_35_DS_DD,MediaType.GENERIC_HDD, + MediaType.DOS_35_ED,MediaType.DOS_35_HD, + // Atari TOS 1.04 + MediaType.DOS_35_SS_DD_9,MediaType.DOS_35_DS_DD_9, + // NetBSD 1.6 + MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, + // NeXTStep 3.3 + MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, + // OpenStep for Mach 4.0 + MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, + // OpenStep for Mach 4.2 + MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, + // Solaris 2.4 + MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, }; readonly ulong[] sectors = { @@ -564,6 +597,20 @@ namespace DiscImageChef.Tests.Filesystems 720,2400,1440,5760,2880, // BeOS R4.5 2880, + // Hatari + 720,800,880,1440,1600,1760,5760,2880, + // Atari TOS 1.04 + 720,1440, + // NetBSD 1.6 + 1440,2880, + // NeXTStep 3.3 + 1440,2880, + // OpenStep for Mach 4.0 + 1440,2880, + // OpenStep for Mach 4.2 + 1440,2880, + // Solaris 2.4 + 1440,2880, }; readonly uint[] sectorsize = { @@ -709,6 +756,20 @@ namespace DiscImageChef.Tests.Filesystems 512,512,512,512,512, // BeOS R4.5 512, + // Hatari + 512,512,512,512,512,512,512,512, + // Atari TOS 1.04 + 512,512, + // NetBSD 1.6 + 512,512, + // NeXTStep 3.3 + 512,512, + // OpenStep for Mach 4.0 + 512,512, + // OpenStep for Mach 4.2 + 512,512, + // Solaris 2.4 + 512,512, }; readonly long[] clusters = { @@ -854,6 +915,20 @@ namespace DiscImageChef.Tests.Filesystems 360,2400,720,2880,2880, // BeOS R4.5 2880, + // Hatari + 360,400,440,720,800,880,2880,1440, + // Atari TOS 1.04 + 360,720, + // NetBSD 1.6 + 720,2880, + // NeXTStep 3.3 + 720,2880, + // OpenStep for Mach 4.0 + 720,2880, + // OpenStep for Mach 4.2 + 720,2880, + // Solaris 2.4 + 720,2880, }; readonly int[] clustersize = { @@ -999,6 +1074,20 @@ namespace DiscImageChef.Tests.Filesystems 1024,512,1024,1024,512, // BeOS R4.5 512, + // Hatari + 1024,1024,1024,1024,1024,1024,1024,1024, + // Atari TOS 1.04 + 1024,1024, + // NetBSD 1.6 + 1024,512, + // NeXTStep 3.3 + 1024,512, + // OpenStep for Mach 4.0 + 1024,512, + // OpenStep for Mach 4.2 + 1024,512, + // Solaris 2.4 + 1024,512, }; readonly string[] volumename = { @@ -1151,6 +1240,22 @@ namespace DiscImageChef.Tests.Filesystems "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", // BeOS R4.5 "NO NAME ", + // Hatari + null,null,null, + null,null,null, + null,null, + // Atari TOS 1.04 + null,null, + // NetBSD 1.6 + "VOLUMELABEL","VOLUMELABEL", + // NeXTStep 3.3 + null,null, + // OpenStep for Mach 4.0 + null,null, + // OpenStep for Mach 4.2 + null,null, + // Solaris 2.4 + null,null, }; readonly string[] volumeserial = { @@ -1303,6 +1408,22 @@ namespace DiscImageChef.Tests.Filesystems "3C9F0BD2","3A8E465C","B2EFB822","3C30C632","16DAB07A", // BeOS R4.5 "00000000", + // Hatari + null,null,null, + null,null,null, + null,null, + // Atari TOS 1.04 + null,null, + // NetBSD 1.6 + "EEB51A0C","CCFD1A06", + // NeXTStep 3.3 + null,null, + // OpenStep for Mach 4.0 + null,null, + // OpenStep for Mach 4.2 + null,null, + // Solaris 2.4 + null,null, }; readonly string[] oemid = { @@ -1455,6 +1576,22 @@ namespace DiscImageChef.Tests.Filesystems "MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0","MSDOS5.0", // BeOS R4.5 "BeOS ", + // Hatari + null,null,null, + null,null,null, + null,null, + // Atari TOS 1.04 + null,null, + // NetBSD 1.6 + "BSD 4.4","BSD 4.4", + // NeXTStep 3.3 + "NEXT ","NEXT ", + // OpenStep for Mach 4.0 + "NEXT ","NEXT ", + // OpenStep for Mach 4.2 + "NEXT ","NEXT ", + // Solaris 2.4 + "MSDOS3.3","MSDOS3.3", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/FAT12_APM.cs b/DiscImageChef.Tests/Filesystems/FAT12_APM.cs index f8e3a2af..f83ddeff 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_APM.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class FAT12_APM { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs index eb06187d..6ba4954b 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class FAT12_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs index d9e4daad..b45e18da 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs @@ -61,11 +61,12 @@ namespace DiscImageChef.Tests.Filesystems "pcdos610.vdi.lz", "pcdos630.vdi.lz", "toshibamsdos330.vdi.lz", "toshibamsdos401.vdi.lz", "msos2_1.21.vdi.lz", "msos2_1.30.1.vdi.lz", "multiuserdos_7.22r4.vdi.lz", "os2_1.20.vdi.lz", "os2_1.30.vdi.lz", "os2_6.307.vdi.lz", "os2_6.514.vdi.lz", "os2_6.617.vdi.lz", - "os2_8.162.vdi.lz", "os2_9.023.vdi.lz", "ecs.vdi.lz", "macosx.vdi.lz", + "os2_8.162.vdi.lz", "os2_9.023.vdi.lz", "ecs.vdi.lz", "macosx_10.11.vdi.lz", "win10.vdi.lz", "win2000.vdi.lz","win95.vdi.lz","win95osr2.1.vdi.lz", "win95osr2.5.vdi.lz","win95osr2.vdi.lz","win98.vdi.lz","win98se.vdi.lz", "winme.vdi.lz","winnt_3.10.vdi.lz","winnt_3.50.vdi.lz","winnt_3.51.vdi.lz", "winnt_4.00.vdi.lz","winvista.vdi.lz","beos_r4.5.vdi.lz","linux.vdi.lz", + "freebsd_6.1.vdi.lz","freebsd_7.0.vdi.lz","freebsd_8.2.vdi.lz", }; readonly ulong[] sectors = { @@ -84,6 +85,7 @@ namespace DiscImageChef.Tests.Filesystems 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384, + 16384, 16384, 16384, }; readonly uint[] sectorsize = { @@ -102,6 +104,7 @@ namespace DiscImageChef.Tests.Filesystems 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 512, 512, }; readonly long[] clusters = { @@ -120,6 +123,7 @@ namespace DiscImageChef.Tests.Filesystems 2008, 2008, 2044, 2044, 2044, 4016, 2044, 2044, 4016, 3072, 2040, 3584, + 2044, 2044, 2044, }; readonly int[] clustersize = { @@ -138,6 +142,7 @@ namespace DiscImageChef.Tests.Filesystems 4096, 4096, 4096, 4096, 4096, 2048, 4096, 4096, 2048, 2048, 4096, 2048, + 4096, 4096, 4096, }; readonly string[] volumename = { @@ -156,6 +161,7 @@ namespace DiscImageChef.Tests.Filesystems "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","NO NAME ","NO NAME ","NO NAME ", "NO NAME ","NO NAME ","NO NAME ","VolumeLabel", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", }; readonly string[] volumeserial = { @@ -174,6 +180,7 @@ namespace DiscImageChef.Tests.Filesystems "074C0DFC","33640D18","0E121460","094C0EED", "38310F02","50489A1B","2CE52101","94313E7E", "BC184FE6","BAD08A1E","00000000","8D418102", + "8FC80E0A","34FA0E0B","02140E0B", }; readonly string[] oemid = { @@ -192,6 +199,7 @@ namespace DiscImageChef.Tests.Filesystems "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "BeOS ", "mkfs.fat", + "BSD 4.4", "BSD 4.4", "BSD4.4 ", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs index f33cadbc..95051798 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : FAT16_APM.cs +// Filename : FAT16_Atari.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,38 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT16_APM + public class FAT16_Atari { readonly string[] testfiles = { - "macosx.vdi.lz", + "tos_1.04.vdi.lz","tos_1.04_small.vdi.lz", }; readonly ulong[] sectors = { - 1024000, + 16384, 81920, }; readonly uint[] sectorsize = { - 512, + 512, 512, }; readonly long[] clusters = { - 63995, + 16382, 81918, }; readonly int[] clustersize = { - 8192, + 512, 512, }; readonly string[] volumename = { - "VOLUMELABEL", + null, null, }; readonly string[] volumeserial = { - "063D1F09", + null, null, }; readonly string[] oemid = { - "BSD 4.4", + null, null, }; [Test] @@ -87,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_apm", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_atari", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AppleMap(); + PartPlugin parts = new AtariPartitions(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "DOS_FAT_16") + if(partitions[j].PartitionType == "GEM" || partitions[j].PartitionType == "BGM") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs index 0f75de48..dd677140 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class FAT16_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs index dc3c2775..41c9c9a4 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs @@ -59,11 +59,14 @@ namespace DiscImageChef.Tests.Filesystems "pcdos500.vdi.lz", "pcdos502.vdi.lz", "pcdos610.vdi.lz", "pcdos630.vdi.lz", "msos2_1.21.vdi.lz", "msos2_1.30.1.vdi.lz", "multiuserdos_7.22r4.vdi.lz", "os2_1.20.vdi.lz", "os2_1.30.vdi.lz", "os2_6.307.vdi.lz", "os2_6.514.vdi.lz", "os2_6.617.vdi.lz", - "os2_8.162.vdi.lz", "os2_9.023.vdi.lz", "ecs.vdi.lz", "macosx.vdi.lz", + "os2_8.162.vdi.lz", "os2_9.023.vdi.lz", "ecs.vdi.lz", "macosx_10.11.vdi.lz", "win10.vdi.lz", "win2000.vdi.lz", "win95osr2.1.vdi.lz", "win95osr2.5.vdi.lz", "win95osr2.vdi.lz", "win95.vdi.lz", "win98se.vdi.lz", "win98.vdi.lz", "winme.vdi.lz", "winnt_3.10.vdi.lz", "winnt_3.50.vdi.lz", "winnt_3.51.vdi.lz", "winnt_4.00.vdi.lz", "winvista.vdi.lz", "beos_r4.5.vdi.lz", "linux.vdi.lz", + "amigaos_3.9.vdi.lz","aros.vdi.lz","freebsd_6.1.vdi.lz","freebsd_7.0.vdi.lz", + "freebsd_8.2.vdi.lz","macos_7.5.3.vdi.lz","macos_7.5.vdi.lz","macos_7.6.vdi.lz", + "macos_8.0.vdi.lz", }; readonly ulong[] sectors = { @@ -80,6 +83,9 @@ namespace DiscImageChef.Tests.Filesystems 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 262144, + 1024128, 1024000, 1024000, 1024000, + 1024000, 1024000, 1024000, 1024000, + 1024000, }; readonly uint[] sectorsize = { @@ -96,6 +102,9 @@ namespace DiscImageChef.Tests.Filesystems 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, }; readonly long[] clusters = { @@ -112,6 +121,9 @@ namespace DiscImageChef.Tests.Filesystems 63941, 63941, 63998, 63998, 63998, 63941, 63998, 63998, 63941, 63616, 63996, 65024, + 63941, 63882, 63998, 63998, + 31999, 63941, 63941, 63941, + 63941, }; readonly int[] clustersize = { @@ -128,6 +140,9 @@ namespace DiscImageChef.Tests.Filesystems 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 2048, + 8192, 8192, 8192, 8192, + 16384, 8192, 8192, 8192, + 8192, }; readonly string[] volumename = { @@ -144,6 +159,9 @@ namespace DiscImageChef.Tests.Filesystems "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","NO NAME ","NO NAME ","NO NAME ", "NO NAME ","NO NAME ","NO NAME ","VolumeLabel", + "EMPTY ","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL", }; readonly string[] volumeserial = { @@ -160,6 +178,9 @@ namespace DiscImageChef.Tests.Filesystems "38270D18","2E620D0C","0B4F0EED","0E122464", "3B5F0F02","C84CB6F2","D0E9AD4E","C039A2EC", "501F9FA6","9AAA4216","00000000","A132D985", + "374D3BD1","52BEA34A","3CF10E0D","C6C30E0D", + "44770E0D","27761816","27761816","27761816", + "27761816", }; readonly string[] oemid = { @@ -176,6 +197,9 @@ namespace DiscImageChef.Tests.Filesystems "MSWIN4.1", "MSWIN4.0", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "MSDOS5.0", "BeOS ", "mkfs.fat", + "CDP 5.0", "MSWIN4.1", "BSD 4.4", "BSD 4.4", + "BSD4.4 ", "PCX 2.0 ", "PCX 2.0 ", "PCX 2.0 ", + "PCX 2.0 ", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs b/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs index 4ff00542..00f58ffb 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_RDB.cs +// Filename : FAT16_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -35,6 +35,7 @@ // Copyright (C) 2011-2015 Claunia.com // ****************************************************************************/ // //$Id$ +using System; using System.Collections.Generic; using System.IO; using DiscImageChef.CommonTypes; @@ -48,49 +49,48 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_RDB + public class FAT16_RDB { readonly string[] testfiles = { - "amigaos_3.9.vdi.lz","amigaos_3.9_intl.vdi.lz","aros.vdi.lz","aros_intl.vdi.lz", - "amigaos_4.0.vdi.lz","amigaos_4.0_intl.vdi.lz","amigaos_4.0_cache.vdi.lz" + "amigaos_3.9.vdi.lz", }; readonly ulong[] sectors = { - 1024128,1024128,409600,409600, - 1024128,1024128,1024128, + 1024128 }; readonly uint[] sectorsize = { - 512,512,512,512, - 512,512,512, + 512, }; readonly long[] clusters = { - 1020064,1020064,407232,407232, - 1020064,1020064,1020064, + 1020064 }; readonly int[] clustersize = { - 512,512,512,512, - 512,512,512, + 512, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label", + "VOLUMELABEL" }; readonly string[] volumeserial = { - null,null,null,null, - null,null,null, + "UNKNOWN ", + }; + + readonly string[] oemid = { + "CDP 5.0", }; [Test] public void Test() { + throw new NotImplementedException("Partition schemes inside partitions are not yet implemented, and should be tested here."); + /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -99,11 +99,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); + Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "\"DOS\\1\"" || partitions[j].PartitionType == "\"DOS\\3\"" || partitions[j].PartitionType == "\"DOS\\5\"") + if(partitions[j].PartitionType == "\"RES\\86\"") { part = j; break; @@ -117,7 +117,8 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("Amiga FFS", 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]); + }*/ } } } diff --git a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs index b96af8cc..20bd4149 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class FAT32_APM { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs index 22cf0bb3..3b7d6cbb 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class FAT32_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs index 9cd587e1..c0378b22 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs @@ -51,59 +51,67 @@ namespace DiscImageChef.Tests.Filesystems public class FAT32_MBR { readonly string[] testfiles = { - "drdos_7.03.vdi.lz", "drdos_8.00.vdi.lz", "msdos_7.10.vdi.lz", "macosx.vdi.lz", + "drdos_7.03.vdi.lz", "drdos_8.00.vdi.lz", "msdos_7.10.vdi.lz", "macosx_10.11.vdi.lz", "win10.vdi.lz", "win2000.vdi.lz", "win95osr2.1.vdi.lz", "win95osr2.5.vdi.lz", "win95osr2.vdi.lz", "win98se.vdi.lz", "win98.vdi.lz", "winme.vdi.lz", - "winvista.vdi.lz", "beos_r4.5.vdi.lz", "linux.vdi.lz", + "winvista.vdi.lz", "beos_r4.5.vdi.lz", "linux.vdi.lz","aros.vdi.lz", + "freebsd_6.1.vdi.lz","freebsd_7.0.vdi.lz","freebsd_8.2.vdi.lz","freedos_1.2.vdi.lz", }; readonly ulong[] sectors = { 8388608, 8388608, 8388608, 4194304, 4194304, 8388608, 4194304, 4194304, 4194304, 4194304, 4194304, 4194304, - 4194304, 4194304, 262144, + 4194304, 4194304, 262144, 4194304, + 4194304, 4194304, 4194304, 8388608, }; readonly uint[] sectorsize = { 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, }; readonly long[] clusters = { 1048233, 1048233, 1048233, 524287, 524016, 1048233, 524152, 524152, 524152, 524112, 524112, 524112, - 523520, 1048560, 260096, + 523520, 1048560, 260096, 524160, + 524112, 524112, 65514, 1048233, }; readonly int[] clustersize = { 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, - 4096, 2048, 512 + 4096, 2048, 512, 4096, + 4096, 4096, 32768, 4096, }; readonly string[] volumename = { null,null,null,null, null,null,null,null, null,null,null,null, - null,null,null, + null,null,null,null, + null,null,null,null, }; readonly string[] volumeserial = { "5955996C","1BFB1A43","3B331809","42D51EF1", "48073346","EC62E6DE","2A310DE4","0C140DFC", "3E310D18","0D3D0EED","0E131162","3F500F02", - "82EB4C04","00000000","B488C502" + "82EB4C04","00000000","B488C502","5CAC9B4E", + "41540E0E","4E600E0F","26E20E0F","3E0C1BE8", }; readonly string[] oemid = { "DRDOS7.X", "IBM 7.1", "MSWIN4.1", "BSD 4.4", "MSDOS5.0", "MSDOS5.0", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", "MSWIN4.1", - "MSDOS5.0", "BeOS ", "mkfs.fat", + "MSDOS5.0", "BeOS ", "mkfs.fat", "MSWIN4.1", + "BSD 4.4", "BSD 4.4", "BSD4.4 ", "FRDOS4.1", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs b/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs index feb60c91..496f996e 100644 --- a/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HFSX_MBR.cs +// Filename : HAMMER_MBR.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -35,6 +35,7 @@ // Copyright (C) 2011-2015 Claunia.com // ****************************************************************************/ // //$Id$ +using System; using System.Collections.Generic; using System.IO; using DiscImageChef.CommonTypes; @@ -48,46 +49,44 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HFSX_MBR + public class HAMMER_MBR { readonly string[] testfiles = { - "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz", "linux.vdi.lz", "linux_journal.vdi.lz", + "dflybsd_3.6.1.vdi.lz","dflybsd_4.0.5.vdi.lz", }; readonly ulong[] sectors = { - 393216, 409600, 262144, 262144, + 104857600, 104857600, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, + 512, 512, }; readonly long[] clusters = { - 102390, 153590, 32512, 32512, + 104856192, 104856192, }; readonly int[] clustersize = { - 4096, 4096, 4096, 4096 + 512, 512, }; readonly string[] volumename = { - "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000" - }; - - readonly string[] oemid = { - "10.0","HFSJ","10.0","10.0" + "UNKNOWN","UNKNOWN", }; [Test] public void Test() { + throw new NotImplementedException("HAMMER filesystem is not yet implemented"); + /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsx_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hammer_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -96,11 +95,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); + Filesystem fs = new DiscImageChef.Filesystems.HAMMER(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0xAF") + if(partitions[j].PartitionType == "0xA5") { part = j; break; @@ -111,11 +110,10 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("HFSX", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("HAMMER", 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]); - } + }*/ } } } diff --git a/DiscImageChef.Tests/Filesystems/HFS.cs b/DiscImageChef.Tests/Filesystems/HFS.cs index f65f369d..318b899a 100644 --- a/DiscImageChef.Tests/Filesystems/HFS.cs +++ b/DiscImageChef.Tests/Filesystems/HFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : FAT12.cs +// Filename : HFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,1553 +45,46 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT12 + public class HFS { 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", - // Hatari - "hatari_mf1dd.st.lz","hatari_mf1dd_10.st.lz","hatari_mf1dd_11.st.lz", - "hatari_mf2dd.st.lz","hatari_mf2dd_10.st.lz","hatari_mf2dd_11.st.lz", - "hatari_mf2ed.st.lz","hatari_mf2hd.st.lz", - // Atari TOS 1.04 - "tos_1.04_mf1dd.st.lz","tos_1.04_mf2dd.st.lz", - // NetBSD 1.6 - "netbsd_1.6_mf2dd.img.lz","netbsd_1.6_mf2hd.img.lz", - // NeXTStep 3.3 - "nextstep_3.3_mf2dd.img.lz","nextstep_3.3_mf2hd.img.lz", - // OpenStep for Mach 4.0 - "openstep_4.0_mf2dd.img.lz","openstep_4.0_mf2hd.img.lz", - // OpenStep for Mach 4.2 - "openstep_4.2_mf2dd.img.lz","openstep_4.2_mf2hd.img.lz", - // Solaris 2.4 - "solaris_2.4_mf2dd.img.lz","solaris_2.4_mf2hd.img.lz", + "macos_1.1_mf2dd.img.lz","macos_2.0_mf2dd.img.lz","macos_6.0.7_mf2dd.img.lz","nextstep_3.3_mf2hd.img.lz", + "openstep_4.0_mf2hd.img.lz","openstep_4.2_mf2hd.img.lz","rhapsody_dr1_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, - // Hatari - // TODO: Incorrect media types - MediaType.DOS_35_SS_DD_9,MediaType.GENERIC_HDD,MediaType.GENERIC_HDD, - MediaType.DOS_35_DS_DD_9,MediaType.ATARI_35_DS_DD,MediaType.GENERIC_HDD, - MediaType.DOS_35_ED,MediaType.DOS_35_HD, - // Atari TOS 1.04 - MediaType.DOS_35_SS_DD_9,MediaType.DOS_35_DS_DD_9, - // NetBSD 1.6 - MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, - // NeXTStep 3.3 - MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, - // OpenStep for Mach 4.0 - MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, - // OpenStep for Mach 4.2 - MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, - // Solaris 2.4 - MediaType.DOS_35_DS_DD_9,MediaType.DOS_35_HD, + MediaType.AppleSonyDS, MediaType.AppleSonyDS, MediaType.AppleSonyDS, MediaType.DOS_35_HD, + MediaType.DOS_35_HD, MediaType.DOS_35_HD, 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, - // Hatari - 720,800,880,1440,1600,1760,5760,2880, - // Atari TOS 1.04 - 720,1440, - // NetBSD 1.6 - 1440,2880, - // NeXTStep 3.3 - 1440,2880, - // OpenStep for Mach 4.0 - 1440,2880, - // OpenStep for Mach 4.2 - 1440,2880, - // Solaris 2.4 - 1440,2880, + 1600, 1600, 1600, 2880, + 2880, 2880, 2880, }; readonly uint[] sectorsize = { - // Concurrent DOS 6.00 + 512, 512, 512, 512, 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, - // Hatari - 512,512,512,512,512,512,512,512, - // Atari TOS 1.04 - 512,512, - // NetBSD 1.6 - 512,512, - // NeXTStep 3.3 - 512,512, - // OpenStep for Mach 4.0 - 512,512, - // OpenStep for Mach 4.2 - 512,512, - // Solaris 2.4 - 512,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, - // Hatari - 360,400,440,720,800,880,2880,1440, - // Atari TOS 1.04 - 360,720, - // NetBSD 1.6 - 720,2880, - // NeXTStep 3.3 - 720,2880, - // OpenStep for Mach 4.0 - 720,2880, - // OpenStep for Mach 4.2 - 720,2880, - // Solaris 2.4 - 720,2880, + 1594, 1594, 1594, 2874, + 2874, 2874, 2874, }; 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, - // Hatari - 1024,1024,1024,1024,1024,1024,1024,1024, - // Atari TOS 1.04 - 1024,1024, - // NetBSD 1.6 - 1024,512, - // NeXTStep 3.3 - 1024,512, - // OpenStep for Mach 4.0 - 1024,512, - // OpenStep for Mach 4.2 - 1024,512, - // Solaris 2.4 - 1024,512, + 512, 512, 512, 512, + 512, 512, 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 ", - // Hatari - null,null,null, - null,null,null, - null,null, - // Atari TOS 1.04 - null,null, - // NetBSD 1.6 - "VOLUMELABEL","VOLUMELABEL", - // NeXTStep 3.3 - null,null, - // OpenStep for Mach 4.0 - null,null, - // OpenStep for Mach 4.2 - null,null, - // Solaris 2.4 - null,null, + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label", }; readonly string[] volumeserial = { - // Concurrent DOS 6.00 + null, null, null, null, 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", - // Hatari - null,null,null, - null,null,null, - null,null, - // Atari TOS 1.04 - null,null, - // NetBSD 1.6 - "EEB51A0C","CCFD1A06", - // NeXTStep 3.3 - null,null, - // OpenStep for Mach 4.0 - null,null, - // OpenStep for Mach 4.2 - null,null, - // Solaris 2.4 - null,null, - }; - - 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 ", - // Hatari - null,null,null, - null,null,null, - null,null, - // Atari TOS 1.04 - null,null, - // NetBSD 1.6 - "BSD 4.4","BSD 4.4", - // NeXTStep 3.3 - "NEXT ","NEXT ", - // OpenStep for Mach 4.0 - "NEXT ","NEXT ", - // OpenStep for Mach 4.2 - "NEXT ","NEXT ", - // Solaris 2.4 - "MSDOS3.3","MSDOS3.3", }; [Test] @@ -1599,7 +92,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -1607,15 +100,14 @@ namespace DiscImageChef.Tests.Filesystems 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(); + Filesystem fs = new AppleHFS(); 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("HFS", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs index c1f13d64..5bc8502f 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs @@ -51,35 +51,75 @@ namespace DiscImageChef.Tests.Filesystems public class HFSPlus_APM { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz","darwin_1.3.1.vdi.lz","darwin_1.3.1_wrapped.vdi.lz", + "darwin_1.4.1.vdi.lz","darwin_1.4.1_wrapped.vdi.lz","darwin_6.0.2.vdi.lz","darwin_6.0.2_wrapped.vdi.lz", + "darwin_8.0.1_journal.vdi.lz","darwin_8.0.1.vdi.lz","darwin_8.0.1_wrapped.vdi.lz","macos_8.1.vdi.lz", + "macos_9.0.4.vdi.lz","macos_9.1.vdi.lz","macos_9.2.1.vdi.lz","macos_9.2.2.vdi.lz", + "macosx_10.2.vdi.lz","macosx_10.3_journal.vdi.lz","macosx_10.3.vdi.lz","macosx_10.4_journal.vdi.lz", + "macosx_10.4.vdi.lz", }; readonly ulong[] sectors = { - 409600, 614400, + 409600, 614400, 819200, 614400, + 819200, 614400, 819200, 614400, + 1228800, 819200, 614400, 4194304, + 4194304, 4194304,4194304,4194304, + 4194304, 2097152, 4194304, 2097152, + 4194304 }; readonly uint[] sectorsize = { - 512, 512 + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, }; readonly long[] clusters = { - 51190, 76790, + 51190, 76790, 51190, 76790, + 51190, 76790, 51190, 76790, + 51190, 76790, 51190, 76790, + 51190, 76790, 51190, 76790, + 51190, 76790, 51190, 76790, + 51190, }; readonly int[] clustersize = { - 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, }; readonly string[] volumename = { - "Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN", + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", + "UNKNOWN", }; readonly string[] oemid = { - "10.0","HFSJ" + "10.0","HFSJ","10.0","HFSJ", + "10.0","HFSJ","10.0","HFSJ", + "10.0","HFSJ","10.0","HFSJ", + "10.0","HFSJ","10.0","HFSJ", + "10.0","HFSJ","10.0","HFSJ", + "10.0", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs index ee83fbfb..ea4f06cb 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class HFSPlus_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs index d0459920..c512a3bd 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs @@ -51,35 +51,59 @@ namespace DiscImageChef.Tests.Filesystems public class HFSPlus_MBR { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", "linux.vdi.lz", "linux_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz", "linux.vdi.lz", "linux_journal.vdi.lz", + "darwin_1.3.1.vdi.lz","darwin_1.3.1_wrapped.vdi.lz","darwin_1.4.1.vdi.lz","darwin_1.4.1_wrapped.vdi.lz", + "darwin_6.0.2.vdi.lz","darwin_6.0.2_wrapped.vdi.lz","darwin_8.0.1_journal.vdi.lz","darwin_8.0.1.vdi.lz", + "darwin_8.0.1_wrapped.vdi.lz", }; readonly ulong[] sectors = { - 303104, 352256, 262144, 262144, + 303104, 352256, 262144, 262144, + 303104, 352256, 262144, 262144, + 303104, 352256, 262144, 262144, + 303104, }; readonly uint[] sectorsize = { 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, }; readonly long[] clusters = { 37878, 44021, 32512, 32512, + 37878, 44021, 32512, 32512, + 37878, 44021, 32512, 32512, + 37878, }; readonly int[] clustersize = { 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, + 4096, }; readonly string[] volumename = { "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label", }; readonly string[] volumeserial = { "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000", + "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000", + "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000", + "UNKNOWN", }; readonly string[] oemid = { "10.0","HFSJ","10.0","10.0", + "10.0","HFSJ","10.0","10.0", + "10.0","HFSJ","10.0","10.0", + "10.0", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/HFSX_APM.cs b/DiscImageChef.Tests/Filesystems/HFSX_APM.cs index ff0ff726..ec7ad700 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_APM.cs @@ -51,35 +51,43 @@ namespace DiscImageChef.Tests.Filesystems public class HFSX_APM { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz","darwin_8.0.1_journal.vdi.lz","darwin_8.0.1.vdi.lz", + "macosx_10.4_journal.vdi.lz","macosx_10.4.vdi.lz", }; readonly ulong[] sectors = { + 819200, 1228800, 819200, 1228800, 819200, 1228800, }; readonly uint[] sectorsize = { - 512, 512 + 512, 512, 512, 512, + 512, 512, }; readonly long[] clusters = { + 102390, 153590,102390, 153590, 102390, 153590, }; readonly int[] clustersize = { + 4096, 4096,4096, 4096, 4096, 4096, }; readonly string[] volumename = { + "Volume label","Volume label","Volume label","Volume label", "Volume label","Volume label", }; readonly string[] volumeserial = { + "UNKNOWN","UNKNOWN","UNKNOWN","UNKNOWN", "UNKNOWN","UNKNOWN", }; readonly string[] oemid = { - "10.0","HFSJ" + "10.0","HFSJ","10.0","HFSJ", + "10.0","HFSJ", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs b/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs index afeaac5c..a3b8dd56 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class HFSX_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs b/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs index 4e4fbda6..c486c107 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs @@ -51,35 +51,43 @@ namespace DiscImageChef.Tests.Filesystems public class HFSX_MBR { readonly string[] testfiles = { - "macosx.vdi.lz", "macosx_journal.vdi.lz", "linux.vdi.lz", "linux_journal.vdi.lz", + "macosx_10.11.vdi.lz", "macosx_10.11_journal.vdi.lz", "linux.vdi.lz", "linux_journal.vdi.lz", + "darwin_8.0.1_journal.vdi.lz","darwin_8.0.1.vdi.lz", }; readonly ulong[] sectors = { 393216, 409600, 262144, 262144, + 262144, 262144, }; readonly uint[] sectorsize = { 512, 512, 512, 512, + 512, 512, }; readonly long[] clusters = { 102390, 153590, 32512, 32512, + 32512, 32512, }; readonly int[] clustersize = { - 4096, 4096, 4096, 4096 + 4096, 4096, 4096, 4096, + 4096, 4096, }; readonly string[] volumename = { "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000" + "UNKNOWN","UNKNOWN","0000000000000000","0000000000000000", + "UNKNOWN","UNKNOWN", }; readonly string[] oemid = { - "10.0","HFSJ","10.0","10.0" + "10.0","HFSJ","10.0","10.0", + "10.0","10.0", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/HFS_APM.cs b/DiscImageChef.Tests/Filesystems/HFS_APM.cs index e7659623..816e7b0f 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_APM.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HFS_MBR.cs +// Filename : HFS_APM.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,34 +48,69 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HFS_MBR + public class HFS_APM { readonly string[] testfiles = { - "linux.vdi.lz", + "amigaos_3.9.vdi.lz","darwin_1.3.1.vdi.lz","darwin_1.4.1.vdi.lz","darwin_6.0.2.vdi.lz", + "darwin_8.0.1.vdi.lz","macos_1.1.vdi.lz","macos_2.0.vdi.lz","macos_6.0.7.vdi.lz", + "macos_7.5.3.vdi.lz","macos_7.5.vdi.lz","macos_7.6.vdi.lz","macos_8.0.vdi.lz", + "macos_8.1.vdi.lz","macos_9.0.4.vdi.lz","macos_9.1.vdi.lz","macos_9.2.1.vdi.lz", + "macos_9.2.2.vdi.lz","macosx_10.2.vdi.lz","macosx_10.3.vdi.lz","macosx_10.4.vdi.lz", + "rhapsody_dr1.vdi.lz", }; readonly ulong[] sectors = { - 262144, + 1024128,409600,409600,409600, + 409600,41820,41820,81648, + 1024000,1024000,1024000,1024000, + 1024000,1024000,1024000,1024000, + 1024000,1024000,1024000,1024000, + 409600, }; readonly uint[] sectorsize = { + 512,512,512,512, + 512,512,512,512, + 512,512,512,512, + 512,512,512,512, + 512,512,512,512, 512, }; readonly long[] clusters = { - 65018, + 64003,51189,51189,58502, + 58502,39991,39991,39991, + 63954,63990,63954,63954, + 63954,63922,63922,63922, + 63922,63884,63883,63883, + 58506, }; readonly int[] clustersize = { - 2048, + 8192,4096,4096,3584, + 3584,1024,1024,1024, + 8192,8192,8192,8192, + 8192,8192,8192,8192, + 8192,8192,8192,8192, + 3584, }; readonly string[] volumename = { - "Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label","Volume label","Volume label","Volume label", + "Volume label" }; readonly string[] volumeserial = { - "0000000000000000", + null,null,null,null, + "AAFE1382AF5AA898",null,null,null, + null,null,null,null, + null,null,null,null, + null,"5A7C38B0CAF279C4","FB49083EBD150509","632C0B1DB46FD188", + null, }; [Test] @@ -83,20 +118,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsplus_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + PartPlugin parts = new AppleMap(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0xAF") + if(partitions[j].PartitionType == "Apple_HFS") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/HFS_MBR.cs b/DiscImageChef.Tests/Filesystems/HFS_MBR.cs index e7659623..85892a8f 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_MBR.cs @@ -52,30 +52,37 @@ namespace DiscImageChef.Tests.Filesystems { readonly string[] testfiles = { "linux.vdi.lz", + "darwin_1.3.1.vdi.lz","darwin_1.4.1.vdi.lz","darwin_6.0.2.vdi.lz","darwin_8.0.1.vdi.lz", }; readonly ulong[] sectors = { - 262144, + 262144, + 409600,409600,409600,409600, }; readonly uint[] sectorsize = { 512, + 512,512,512,512, }; readonly long[] clusters = { 65018, + 51145,51145,58452,58502, }; readonly int[] clustersize = { 2048, + 4096,4096,3584,3584, }; readonly string[] volumename = { "Volume label", + "Volume label","Volume label","Volume label","Volume label", }; readonly string[] volumeserial = { - "0000000000000000", + null, + null,null,null,"81FE805D61458753", }; [Test] @@ -83,7 +90,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsplus_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); diff --git a/DiscImageChef.Tests/Filesystems/HFS_RDB.cs b/DiscImageChef.Tests/Filesystems/HFS_RDB.cs index 00f58ffb..4f982379 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : FAT16_RDB.cs +// Filename : HFS_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -49,7 +49,7 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT16_RDB + public class HFS_RDB { readonly string[] testfiles = { "amigaos_3.9.vdi.lz", @@ -72,15 +72,11 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - "VOLUMELABEL" + "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN ", - }; - - readonly string[] oemid = { - "CDP 5.0", + null, }; [Test] @@ -90,7 +86,7 @@ namespace DiscImageChef.Tests.Filesystems /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); diff --git a/DiscImageChef.Tests/Filesystems/LFS_MBR.cs b/DiscImageChef.Tests/Filesystems/LFS_MBR.cs index 496f996e..d3a9d34f 100644 --- a/DiscImageChef.Tests/Filesystems/LFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/LFS_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HAMMER_MBR.cs +// Filename : LFS_MBR.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -49,40 +49,40 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HAMMER_MBR + public class LFS_MBR { readonly string[] testfiles = { - "dflybsd_3.6.1.vdi.lz","dflybsd_4.0.5.vdi.lz", + "netbsd_1.6.vdi.lz", }; readonly ulong[] sectors = { - 104857600, 104857600, + 409600, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 104856192, 104856192, + 409600 }; readonly int[] clustersize = { - 512, 512, + 512, }; readonly string[] volumename = { - "Volume label", "Volume label", + null, }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN", + null, }; [Test] public void Test() { - throw new NotImplementedException("HAMMER filesystem is not yet implemented"); + throw new NotImplementedException("LFS filesystem is not yet implemented"); /* for(int i = 0; i < testfiles.Length; i++) { @@ -95,11 +95,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.HAMMER(); + Filesystem fs = new DiscImageChef.Filesystems.LFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0xA5") + if(partitions[j].PartitionType == "0xA9") { part = j; break; @@ -110,7 +110,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("HAMMER", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("LFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); }*/ diff --git a/DiscImageChef.Tests/Filesystems/Locus.cs b/DiscImageChef.Tests/Filesystems/Locus.cs index b75c0c48..4c99d2ae 100644 --- a/DiscImageChef.Tests/Filesystems/Locus.cs +++ b/DiscImageChef.Tests/Filesystems/Locus.cs @@ -87,6 +87,8 @@ namespace DiscImageChef.Tests.Filesystems [Test] public void Test() { + throw new NotImplementedException("Locus filesystem is not yet implemented"); + /* for(int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "locus", testfiles[i]); @@ -97,8 +99,6 @@ namespace DiscImageChef.Tests.Filesystems 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]); - throw new NotImplementedException("Locus filesystem is not yet implemented"); - /* Filesystem fs = new DiscImageChef.Filesystems.Locus(); Assert.AreEqual(true, fs.Identify(image, 0, image.ImageInfo.sectors - 1), testfiles[i]); fs.GetInformation(image, 0, image.ImageInfo.sectors - 1, out string information); @@ -107,8 +107,8 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("Locus", 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]);*/ - } + Assert.AreEqual(oemid[i], fs.XmlFSType.SystemIdentifier, testfiles[i]); + }*/ } } } diff --git a/DiscImageChef.Tests/Filesystems/MFS.cs b/DiscImageChef.Tests/Filesystems/MFS.cs index 318b899a..6f0e4ab7 100644 --- a/DiscImageChef.Tests/Filesystems/MFS.cs +++ b/DiscImageChef.Tests/Filesystems/MFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HFS.cs +// Filename : MFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,21 +45,21 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HFS + public class MFS { readonly string[] testfiles = { - "macos_1.1_mf2dd.img.lz","macos_2.0_mf2dd.img.lz","macos_6.0.7_mf2dd.img.lz","nextstep_3.3_mf2hd.img.lz", - "openstep_4.0_mf2hd.img.lz","openstep_4.2_mf2hd.img.lz","rhapsody_dr1_mf2hd.img.lz", + "macos_0.1_mf1dd.img.lz","macos_0.5_mf1dd.img.lz","macos_1.1_mf1dd.img.lz","macos_2.0_mf1dd.img.lz", + "macos_6.0.7_mf1dd.img.lz", }; readonly MediaType[] mediatypes = { - MediaType.AppleSonyDS, MediaType.AppleSonyDS, MediaType.AppleSonyDS, MediaType.DOS_35_HD, - MediaType.DOS_35_HD, MediaType.DOS_35_HD, MediaType.DOS_35_HD, + MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, + MediaType.AppleSonySS }; readonly ulong[] sectors = { - 1600, 1600, 1600, 2880, - 2880, 2880, 2880, + 800, 800, 800, 800, + 800, }; readonly uint[] sectorsize = { @@ -68,18 +68,18 @@ namespace DiscImageChef.Tests.Filesystems }; readonly long[] clusters = { - 1594, 1594, 1594, 2874, - 2874, 2874, 2874, + 391, 391, 391, 391, + 391, }; readonly int[] clustersize = { - 512, 512, 512, 512, - 512, 512, 512, + 1024, 1024, 1024, 1024, + 1024, }; readonly string[] volumename = { "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label", + "Volume label", }; readonly string[] volumeserial = { @@ -92,7 +92,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "mfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -100,12 +100,12 @@ namespace DiscImageChef.Tests.Filesystems 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 AppleHFS(); + Filesystem fs = new DiscImageChef.Filesystems.AppleMFS.AppleMFS(); 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("HFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("MFS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs b/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs index 134a5dff..e7334712 100644 --- a/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : NTFS_MBR.cs +// Filename : NTFS_GPT.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,32 +48,27 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class NTFS_MBR + public class NTFS_GPT { readonly string[] testfiles = { - "win10.vdi.lz", "win2000.vdi.lz", "winnt_3.10.vdi.lz", "winnt_3.50.vdi.lz", - "winnt_3.51.vdi.lz", "winnt_4.00.vdi.lz", "winvista.vdi.lz", "linux.vdi.lz", + "haiku_hrev51259.vdi.lz", }; readonly ulong[] sectors = { - 524288, 2097152, 1024000, 524288, - 524288, 524288, 524288, 262144, + 2097152, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, - 512, 512, 512, 512, + 512, }; readonly long[] clusters = { - 65263, 1046511, 1023057, 524256, - 524256, 524096, 64767, 32512, + 261887, }; readonly int[] clustersize = { - 4096, 1024, 512, 512, - 512, 512, 4096, 4096, + 4096, }; readonly string[] volumename = { @@ -82,13 +77,11 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumeserial = { - "C46C1B3C6C1B28A6","8070C8EC70C8E9CC","10CC6AC6CC6AA5A6","7A14F50014F4BFE5", - "24884447884419A6","822C288D2C287E73","E20AF54B0AF51D6B","065BB96B7C1BCFDA", + "106DA7693F7F6B3F", }; readonly string[] oemid = { - null, null, null, null, - null, null, null, null, + null, }; [Test] @@ -96,20 +89,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ntfs_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ntfs_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + PartPlugin parts = new GuidPartitionTable(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.NTFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x07") + if(partitions[j].PartitionType == "Microsoft Basic data") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs b/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs index 134a5dff..2224dbd5 100644 --- a/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs @@ -53,42 +53,49 @@ namespace DiscImageChef.Tests.Filesystems readonly string[] testfiles = { "win10.vdi.lz", "win2000.vdi.lz", "winnt_3.10.vdi.lz", "winnt_3.50.vdi.lz", "winnt_3.51.vdi.lz", "winnt_4.00.vdi.lz", "winvista.vdi.lz", "linux.vdi.lz", - + "haiku_hrev51259.vdi.lz", }; readonly ulong[] sectors = { 524288, 2097152, 1024000, 524288, 524288, 524288, 524288, 262144, + 2097152, }; readonly uint[] sectorsize = { 512, 512, 512, 512, 512, 512, 512, 512, + 512, }; readonly long[] clusters = { 65263, 1046511, 1023057, 524256, - 524256, 524096, 64767, 32512, + 524256, 524096, 64767, 32511, + 261887, }; readonly int[] clustersize = { 4096, 1024, 512, 512, 512, 512, 4096, 4096, + 4096, }; readonly string[] volumename = { null, null, null, null, null, null, null, null, + null, }; readonly string[] volumeserial = { "C46C1B3C6C1B28A6","8070C8EC70C8E9CC","10CC6AC6CC6AA5A6","7A14F50014F4BFE5", "24884447884419A6","822C288D2C287E73","E20AF54B0AF51D6B","065BB96B7C1BCFDA", + "46EC796749C6FA66", }; readonly string[] oemid = { null, null, null, null, null, null, null, null, + null, }; [Test] @@ -109,7 +116,9 @@ namespace DiscImageChef.Tests.Filesystems int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x07") + if(partitions[j].PartitionType == "0x07" || + // Value incorrectly set by Haiku + partitions[j].PartitionType == "0x86") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/NWFS386.cs b/DiscImageChef.Tests/Filesystems/NWFS386.cs index 496f996e..354d32d2 100644 --- a/DiscImageChef.Tests/Filesystems/NWFS386.cs +++ b/DiscImageChef.Tests/Filesystems/NWFS386.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HAMMER_MBR.cs +// Filename : NWFS386.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -49,44 +49,44 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HAMMER_MBR + public class NWFS386 { readonly string[] testfiles = { - "dflybsd_3.6.1.vdi.lz","dflybsd_4.0.5.vdi.lz", + "netware_3.12.vdi.lz", }; readonly ulong[] sectors = { - 104857600, 104857600, + 104857600, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 104856192, 104856192, + 104856192, }; readonly int[] clustersize = { - 512, 512, + 512, }; readonly string[] volumename = { - "Volume label", "Volume label", + "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN", + "UNKNOWN", }; [Test] public void Test() { - throw new NotImplementedException("HAMMER filesystem is not yet implemented"); + throw new NotImplementedException("NWFS386 filesystem is not yet implemented"); /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hammer_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "nwfs386", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -95,11 +95,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.HAMMER(); + Filesystem fs = new DiscImageChef.Filesystems.NetWare(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0xA5") + if(partitions[j].PartitionType == "0x65") { part = j; break; @@ -110,7 +110,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("HAMMER", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("NWFS386", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); }*/ diff --git a/DiscImageChef.Tests/Filesystems/OCFS2.cs b/DiscImageChef.Tests/Filesystems/OCFS2.cs index 496f996e..a0c7bcaa 100644 --- a/DiscImageChef.Tests/Filesystems/OCFS2.cs +++ b/DiscImageChef.Tests/Filesystems/OCFS2.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HAMMER_MBR.cs +// Filename : OCFS2.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -49,44 +49,44 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HAMMER_MBR + public class OCFS2 { readonly string[] testfiles = { - "dflybsd_3.6.1.vdi.lz","dflybsd_4.0.5.vdi.lz", + "linux.vdi.lz", }; readonly ulong[] sectors = { - 104857600, 104857600, + 104857600, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 104856192, 104856192, + 104856192, }; readonly int[] clustersize = { - 512, 512, + 512, }; readonly string[] volumename = { - "Volume label", "Volume label", + "Volume label", }; readonly string[] volumeserial = { - "UNKNOWN","UNKNOWN", + "UNKNOWN", }; [Test] public void Test() { - throw new NotImplementedException("HAMMER filesystem is not yet implemented"); + throw new NotImplementedException("OCFS2 filesystem is not yet implemented"); /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hammer_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ocfs2", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -95,11 +95,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.HAMMER(); + Filesystem fs = new DiscImageChef.Filesystems.OCFS2(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0xA5") + if(partitions[j].PartitionType == "0x83") { part = j; break; @@ -110,7 +110,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("HAMMER", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("OCFS2", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); }*/ diff --git a/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs b/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs index b4bb74fa..e0973bc1 100644 --- a/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs @@ -100,7 +100,6 @@ namespace DiscImageChef.Tests.Filesystems int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); if(partitions[j].PartitionType == "\"PFS\\1\"") { part = j; diff --git a/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs b/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs index 816e7b0f..c0edd154 100644 --- a/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : HFS_APM.cs +// Filename : ProDOS_APM.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,69 +48,41 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class HFS_APM + public class ProDOS_APM { readonly string[] testfiles = { - "amigaos_3.9.vdi.lz","darwin_1.3.1.vdi.lz","darwin_1.4.1.vdi.lz","darwin_6.0.2.vdi.lz", - "darwin_8.0.1.vdi.lz","macos_1.1.vdi.lz","macos_2.0.vdi.lz","macos_6.0.7.vdi.lz", - "macos_7.5.3.vdi.lz","macos_7.5.vdi.lz","macos_7.6.vdi.lz","macos_8.0.vdi.lz", - "macos_8.1.vdi.lz","macos_9.0.4.vdi.lz","macos_9.1.vdi.lz","macos_9.2.1.vdi.lz", - "macos_9.2.2.vdi.lz","macosx_10.2.vdi.lz","macosx_10.3.vdi.lz","macosx_10.4.vdi.lz", - "rhapsody_dr1.vdi.lz", + "macos_7.5.3.vdi.lz","macos_7.6.vdi.lz","macos_8.0.vdi.lz","macos_8.1.vdi.lz", + "macos_9.0.4.vdi.lz","macos_9.1.vdi.lz","macos_9.2.1.vdi.lz","macos_9.2.2.vdi.lz", }; readonly ulong[] sectors = { - 1024128,409600,409600,409600, - 409600,41820,41820,81648, - 1024000,1024000,1024000,1024000, - 1024000,1024000,1024000,1024000, - 1024000,1024000,1024000,1024000, - 409600, + 49152,49152,49152,49152, + 49152,49152,49152,49152, }; readonly uint[] sectorsize = { 512,512,512,512, 512,512,512,512, - 512,512,512,512, - 512,512,512,512, - 512,512,512,512, - 512, }; readonly long[] clusters = { - 64003,51189,51189,58502, - 58502,39991,39991,39991, - 63954,63990,63954,63954, - 63954,63922,63922,63922, - 63922,63884,63883,63883, - 58506, + 48438,48438,48438,48438, + 46326,46326,46326,46326, }; readonly int[] clustersize = { - 8192,4096,4096,3584, - 3584,1024,1024,1024, - 8192,8192,8192,8192, - 8192,8192,8192,8192, - 8192,8192,8192,8192, - 3584, + 512,512,512,512, + 512,512,512,512, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label","Volume label", - "Volume label","Volume label","Volume label","Volume label", - "Volume label" + "VOLUME.LABEL","VOLUME.LABEL","VOLUME.LABEL","VOLUME.LABEL", + "VOLUME.LABEL","VOLUME.LABEL","VOLUME.LABEL","VOLUME.LABEL", }; readonly string[] volumeserial = { null,null,null,null, - "AAFE1382AF5AA898",null,null,null, null,null,null,null, - null,null,null,null, - null,"5A7C38B0CAF279C4","FB49083EBD150509","632C0B1DB46FD188", - null, }; [Test] @@ -118,7 +90,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_apm", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "prodos_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -127,11 +99,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AppleMap(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); + Filesystem fs = new DiscImageChef.Filesystems.ProDOSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "Apple_HFS") + if(partitions[j].PartitionType == "Apple_ProDOS") { part = j; break; @@ -142,7 +114,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("HFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("ProDOS", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/SFS_MBR.cs b/DiscImageChef.Tests/Filesystems/SFS_MBR.cs index e7e0fdf7..834c56b1 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : SFS_RDB.cs +// Filename : SFS_MBR.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,14 +48,14 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class SFS_RDB + public class SFS_MBR { readonly string[] testfiles = { - "uae.vdi.lz", + "aros.vdi.lz", }; readonly ulong[] sectors = { - 1024128, + 409600, }; readonly uint[] sectorsize = { @@ -63,11 +63,11 @@ namespace DiscImageChef.Tests.Filesystems }; readonly long[] clusters = { - 127000, + 408240, }; readonly int[] clustersize = { - 2048, + 512, }; readonly string[] volumename = { @@ -78,29 +78,25 @@ namespace DiscImageChef.Tests.Filesystems null, }; - readonly string[] oemid = { - null, - }; - [Test] public void Test() { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AmigaRigidDiskBlock(); + PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "\"SFS\\0\"" || partitions[j].PartitionType == "\"SFS\\2\"") + if(partitions[j].PartitionType == "0x2F") { part = j; break; @@ -114,7 +110,6 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("SmartFileSystem", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs index 5963fc01..00bcefdc 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_MBR_RDB.cs +// Filename : SFS_MBR_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -49,34 +49,34 @@ using System; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_MBR_RDB + public class SFS_MBR_RDB { readonly string[] testfiles = { - "aros.vdi.lz","aros_intl.vdi.lz", + "aros.vdi.lz", }; readonly ulong[] sectors = { - 409600,409600, + 409600, }; readonly uint[] sectorsize = { - 512,512, + 512, }; readonly long[] clusters = { - 408240,408240, + 408240, }; readonly int[] clustersize = { - 512,512, + 512, }; readonly string[] volumename = { - "Volume label","Volume label", + null, }; readonly string[] volumeserial = { - null,null, + null, }; [Test] @@ -85,7 +85,7 @@ namespace DiscImageChef.Tests.Filesystems throw new NotImplementedException("Partition schemes inside partitions are not yet implemented, and should be tested here."); /* for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_mbr_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -98,7 +98,7 @@ namespace DiscImageChef.Tests.Filesystems int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x2D") + if(partitions[j].PartitionType == "SFS") { part = j; break; @@ -109,7 +109,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("SmartFileSystem", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); }*/ diff --git a/DiscImageChef.Tests/Filesystems/SFS_RDB.cs b/DiscImageChef.Tests/Filesystems/SFS_RDB.cs index 40fc8529..132f93fe 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_RDB.cs @@ -51,35 +51,31 @@ namespace DiscImageChef.Tests.Filesystems public class SFS_RDB { readonly string[] testfiles = { - "uae.vdi.lz", + "uae.vdi.lz","aros.vdi.lz","amigaos_4.0.vdi.lz","amigaos_4.0_sfs2.vdi.lz" }; readonly ulong[] sectors = { - 1024128, + 1024128,409600,1024128,1024128, }; readonly uint[] sectorsize = { - 512, + 512,512,512,512, }; readonly long[] clusters = { - 127000, + 127000,407232,511040,511040, }; readonly int[] clustersize = { - 2048, + 2048,512,1024,1024, }; readonly string[] volumename = { - null, + null,null,null,null, }; readonly string[] volumeserial = { - null, - }; - - readonly string[] oemid = { - null, + null,null,null,null, }; [Test] @@ -87,7 +83,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -100,8 +96,7 @@ namespace DiscImageChef.Tests.Filesystems int part = -1; for(int j = 0; j < partitions.Count; j++) { - System.Console.WriteLine("{0}", partitions[j].PartitionType); - if(partitions[j].PartitionType == "\"SFS\\0\"") + if(partitions[j].PartitionType == "\"SFS\\0\"" || partitions[j].PartitionType == "\"SFS\\2\"") { part = j; break; @@ -115,7 +110,6 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual("SmartFileSystem", 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]); } } } diff --git a/DiscImageChef.Tests/Filesystems/SysV.cs b/DiscImageChef.Tests/Filesystems/SysV.cs index 9a3288c5..03285231 100644 --- a/DiscImageChef.Tests/Filesystems/SysV.cs +++ b/DiscImageChef.Tests/Filesystems/SysV.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS.cs +// Filename : SysV.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,38 +45,42 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS + public class SysV { readonly string[] testfiles = { - "amigaos_3.9.adf.lz", "amigaos_3.9_intl.adf.lz", + "amix.adf.lz", }; readonly MediaType[] mediatypes = { - MediaType.CBM_AMIGA_35_DD, MediaType.CBM_AMIGA_35_DD, + MediaType.CBM_AMIGA_35_DD, }; readonly ulong[] sectors = { - 1760, 1760, + 1760, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 1760, 1760, + 880, }; readonly int[] clustersize = { - 512, 512, + 1024, }; readonly string[] volumename = { - "Volume label", "Volume label", + "Volume label", }; readonly string[] volumeserial = { - null, null, + null, + }; + + readonly string[] type = { + "SVR4 fs", }; [Test] @@ -84,7 +88,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -92,12 +96,12 @@ namespace DiscImageChef.Tests.Filesystems 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 AmigaDOSPlugin(); + Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); 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("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(type[i], fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/SysV_MBR.cs b/DiscImageChef.Tests/Filesystems/SysV_MBR.cs index c27ca4c6..b2d01e68 100644 --- a/DiscImageChef.Tests/Filesystems/SysV_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/SysV_MBR.cs @@ -51,11 +51,11 @@ namespace DiscImageChef.Tests.Filesystems public class SysV_MBR { readonly string[] testfiles = { - "amix.vdi.lz", + "xenix_2.3.2d.vdi.lz", }; readonly ulong[] sectors = { - 409600,409600, + 40960,40960, }; readonly uint[] sectorsize = { @@ -63,23 +63,23 @@ namespace DiscImageChef.Tests.Filesystems }; readonly long[] clusters = { - 511488, + 19624,19624, }; readonly int[] clustersize = { - 1024, + 1024,1024, }; readonly string[] volumename = { - "Volume label", + "Volume label","Volume label", }; readonly string[] volumeserial = { - null, + null,null, }; readonly string[] type = { - "SVR4 fs", + "XENIX fs","XENIX fs", }; [Test] @@ -87,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AmigaRigidDiskBlock(); + PartPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); + Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "\"UNI\\1\"") + if(partitions[j].PartitionType == "0x02") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/SysV_RDB.cs b/DiscImageChef.Tests/Filesystems/SysV_RDB.cs index 56a0e6d5..4a3e597d 100644 --- a/DiscImageChef.Tests/Filesystems/SysV_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SysV_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : AFFS_MBR.cs +// Filename : SysV_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,34 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class AFFS_MBR + public class SysV_RDB { readonly string[] testfiles = { - "aros.vdi.lz","aros_intl.vdi.lz", + "amix.vdi.lz", }; readonly ulong[] sectors = { - 409600,409600, + 1024128, }; readonly uint[] sectorsize = { - 512,512, + 512, }; readonly long[] clusters = { - 408240,408240, + 511488, }; readonly int[] clustersize = { - 512,512, + 1024, }; readonly string[] volumename = { - "Volume label","Volume label", + "Volume label", }; readonly string[] volumeserial = { - null,null, + null, + }; + + readonly string[] type = { + "SVR4 fs", }; [Test] @@ -83,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); + Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x2D") + if(partitions[j].PartitionType == "\"UNI\\1\"") { part = j; break; @@ -107,7 +111,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("Amiga FFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(type[i], fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/UDF.cs b/DiscImageChef.Tests/Filesystems/UDF.cs index 49b5496f..13417ac8 100644 --- a/DiscImageChef.Tests/Filesystems/UDF.cs +++ b/DiscImageChef.Tests/Filesystems/UDF.cs @@ -50,55 +50,64 @@ namespace DiscImageChef.Tests.Filesystems readonly string[] testfiles = { "1.02/linux.vdi.lz", "1.02/macosx.vdi.lz", "1.50/linux.vdi.lz", "1.50/macosx.vdi.lz", "2.00/linux.vdi.lz", "2.00/macosx.vdi.lz", "2.01/linux.vdi.lz", "2.01/macosx.vdi.lz", - "2.50/linux.vdi.lz", "2.50/macosx.vdi.lz", "2.60/macosx.vdi.lz", + "2.50/linux.vdi.lz", "2.50/macosx.vdi.lz", "2.60/macosx.vdi.lz", "1.50/solaris_7.vdi.lz", + "1.50/solaris_9.vdi.lz", "2.01/netbsd_7.1.vdi.lz", }; readonly ulong[] sectors = { 1024000, 204800, 1024000, 409600, 1024000, 614400, 1024000, 819200, - 1024000, 1024000, 1228800, + 1024000, 1024000, 1228800, 8388608, + 8388608, 8388608, }; readonly uint[] sectorsize = { 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, + 512, 512, 512, 512, + 512, 512, }; readonly long[] clusters = { 1024000, 204800, 1024000, 409600, 1024000, 614400, 1024000, 819200, - 1024000, 1024000, 1228800, + 1024000, 1024000, 1228800, 8388608, + 8388608, 8388608, }; readonly int[] clustersize = { 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, + 512, 512, 512,512, + 512, 512, }; readonly string[] udfversion = { "UDF v1.02", "UDF v1.02", "UDF v1.50", "UDF v1.50", "UDF v2.00", "UDF v2.00", "UDF v2.01", "UDF v2.01", - "UDF v2.50", "UDF v2.50", "UDF v2.50", + "UDF v2.50", "UDF v2.50", "UDF v2.50", "UDF v1.50", + "UDF v1.50", "UDF v2.01", }; readonly string[] volumename = { "Volume label", "Volume label", "Volume label", "Volume label", "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "*NoLabel*", + "*NoLabel*", "anonymous", }; readonly string[] volumeserial = { "595c5cfa38ce8b66LinuxUDF", "6D02A231 (Mac OS X newfs_udf) UDF Volume Set", "595c5d00c5b3405aLinuxUDF", "4DD0458B (Mac OS X newfs_udf) UDF Volume Set", "595c5d07f4fc8e8dLinuxUDF", "5D91CB4F (Mac OS X newfs_udf) UDF Volume Set", "595c5d0bee60c3bbLinuxUDF", "48847EB3 (Mac OS X newfs_udf) UDF Volume Set", - "595c5d0e4f338552LinuxUDF", "709E84A1 (Mac OS X newfs_udf) UDF Volume Set", "78CE3237 (Mac OS X newfs_udf) UDF Volume Set", + "595c5d0e4f338552LinuxUDF", "709E84A1 (Mac OS X newfs_udf) UDF Volume Set", "78CE3237 (Mac OS X newfs_udf) UDF Volume Set","595EB2A9", + "595EB55A", "7cc94d726669d773", }; readonly string[] oemid = { "*Linux UDFFS", "*Apple Mac OS X UDF FS", "*Linux UDFFS", "*Apple Mac OS X UDF FS", "*Linux UDFFS", "*Apple Mac OS X UDF FS", "*Linux UDFFS", "*Apple Mac OS X UDF FS", - "*Linux UDFFS", "*Apple Mac OS X UDF FS", "*Apple Mac OS X UDF FS", + "*Linux UDFFS", "*Apple Mac OS X UDF FS", "*Apple Mac OS X UDF FS","*SUN SOLARIS UDF", + "*SUN SOLARIS UDF", "*NetBSD userland UDF", }; [Test] diff --git a/DiscImageChef.Tests/Filesystems/UFS.cs b/DiscImageChef.Tests/Filesystems/UFS.cs index 6f0e4ab7..68aac976 100644 --- a/DiscImageChef.Tests/Filesystems/UFS.cs +++ b/DiscImageChef.Tests/Filesystems/UFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : MFS.cs +// Filename : UFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -45,46 +45,42 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class MFS + public class UFS { readonly string[] testfiles = { - "macos_0.1_mf1dd.img.lz","macos_0.5_mf1dd.img.lz","macos_1.1_mf1dd.img.lz","macos_2.0_mf1dd.img.lz", - "macos_6.0.7_mf1dd.img.lz", + "amix_mf2dd.adf.lz","netbsd_1.6_mf2hd.img.lz", }; readonly MediaType[] mediatypes = { - MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, - MediaType.AppleSonySS + MediaType.CBM_AMIGA_35_DD, MediaType.DOS_35_HD, }; readonly ulong[] sectors = { - 800, 800, 800, 800, - 800, + 1760, 2880, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, - 512, 512, 512, + 512, 512, }; readonly long[] clusters = { - 391, 391, 391, 391, - 391, + 1760, 2880, }; readonly int[] clustersize = { - 1024, 1024, 1024, 1024, - 1024, + 512, 512, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label", + null, null, }; readonly string[] volumeserial = { - null, null, null, null, - null, null, null, + null, null, + }; + + readonly string[] type = { + "UFS", "UFS", }; [Test] @@ -92,7 +88,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "mfs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new ZZZRawImage(); @@ -100,12 +96,12 @@ namespace DiscImageChef.Tests.Filesystems 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 DiscImageChef.Filesystems.AppleMFS.AppleMFS(); + Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); 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("MFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(type[i], fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/UFS_APM.cs b/DiscImageChef.Tests/Filesystems/UFS_APM.cs index 3ff496a2..3f3ff26a 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_APM.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : UFS_MBR.cs +// Filename : UFS_APM.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,34 +48,54 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class UFS_MBR + public class UFS_APM { readonly string[] testfiles = { - "ufs1/linux.vdi.lz", "ufs2/linux.vdi.lz", + "ffs43/darwin_1.3.1.vdi.lz","ffs43/darwin_1.4.1.vdi.lz","ffs43/darwin_6.0.2.vdi.lz","ffs43/darwin_8.0.1.vdi.lz", + "ufs1/darwin_1.3.1.vdi.lz","ufs1/darwin_1.4.1.vdi.lz","ufs1/darwin_6.0.2.vdi.lz","ufs1/darwin_8.0.1.vdi.lz", + "ufs1/macosx_10.2.vdi.lz","ufs1/macosx_10.3.vdi.lz","ufs1/macosx_10.4.vdi.lz", }; readonly ulong[] sectors = { - 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, }; readonly uint[] sectorsize = { - 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, }; readonly long[] clusters = { - 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, }; readonly int[] clustersize = { - 2048, 2048 + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, }; readonly string[] volumename = { - "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", }; readonly string[] volumeserial = { - "59588B778E9ACDEF", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", + }; + + readonly string[] type = { + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", }; [Test] @@ -83,20 +103,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + PartPlugin parts = new AppleMap(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x83") + if(partitions[j].PartitionType == "Apple_UFS") { part = j; break; @@ -107,7 +127,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("UFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(type[i], fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/UFS_MBR.cs b/DiscImageChef.Tests/Filesystems/UFS_MBR.cs index 3ff496a2..4f8a978b 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_MBR.cs @@ -51,31 +51,91 @@ namespace DiscImageChef.Tests.Filesystems public class UFS_MBR { readonly string[] testfiles = { - "ufs1/linux.vdi.lz", "ufs2/linux.vdi.lz", + "ufs1/linux.vdi.lz", "ufs2/linux.vdi.lz", "ffs43/darwin_1.3.1.vdi.lz", "ffs43/darwin_1.4.1.vdi.lz", + "ffs43/darwin_6.0.2.vdi.lz", "ffs43/darwin_8.0.1.vdi.lz", "ffs43/dflybsd_1.2.0.vdi.lz", "ffs43/dflybsd_3.6.1.vdi.lz", + "ffs43/dflybsd_4.0.5.vdi.lz", "ffs43/netbsd_1.6.vdi.lz", "ffs43/netbsd_7.1.vdi.lz", "ufs1/darwin_1.3.1.vdi.lz", + "ufs1/darwin_1.4.1.vdi.lz", "ufs1/darwin_6.0.2.vdi.lz", "ufs1/darwin_8.0.1.vdi.lz", "ufs1/dflybsd_1.2.0.vdi.lz", + "ufs1/dflybsd_3.6.1.vdi.lz", "ufs1/dflybsd_4.0.5.vdi.lz", "ufs1/freebsd_6.1.vdi.lz", "ufs1/freebsd_7.0.vdi.lz", + "ufs1/freebsd_8.2.vdi.lz", "ufs1/netbsd_1.6.vdi.lz", "ufs1/netbsd_7.1.vdi.lz", "ufs1/solaris_7.vdi.lz", + "ufs1/solaris_7.vdi.lz", "ufs2/freebsd_6.1.vdi.lz", "ufs2/freebsd_7.0.vdi.lz", "ufs2/freebsd_8.2.vdi.lz", + "ufs2/netbsd_7.1.vdi.lz", }; readonly ulong[] sectors = { - 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, 262144, 262144, 262144, + 262144, }; readonly uint[] sectorsize = { - 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, 512, 512, 512, + 512, }; readonly long[] clusters = { - 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, 65018, 65024, 65018, + 65024, }; readonly int[] clustersize = { - 2048, 2048 + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, + 2048, }; readonly string[] volumename = { - "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", "Volume label", + "Volume label", }; readonly string[] volumeserial = { - "59588B778E9ACDEF", "UNKNOWN", + "59588B778E9ACDEF", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", + }; + + readonly string[] type = { + "UFS", "UFS2", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", "UFS", + "UFS", "UFS2", "UFS2", "UFS2", + "UFS2", }; [Test] @@ -107,7 +167,7 @@ namespace DiscImageChef.Tests.Filesystems fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); - Assert.AreEqual("UFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(type[i], fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs b/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs index 4f8a978b..30ba26fa 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : UFS_MBR.cs +// Filename : UFS_NeXT.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,94 +48,70 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class UFS_MBR + public class UFS_NeXT { readonly string[] testfiles = { - "ufs1/linux.vdi.lz", "ufs2/linux.vdi.lz", "ffs43/darwin_1.3.1.vdi.lz", "ffs43/darwin_1.4.1.vdi.lz", - "ffs43/darwin_6.0.2.vdi.lz", "ffs43/darwin_8.0.1.vdi.lz", "ffs43/dflybsd_1.2.0.vdi.lz", "ffs43/dflybsd_3.6.1.vdi.lz", - "ffs43/dflybsd_4.0.5.vdi.lz", "ffs43/netbsd_1.6.vdi.lz", "ffs43/netbsd_7.1.vdi.lz", "ufs1/darwin_1.3.1.vdi.lz", - "ufs1/darwin_1.4.1.vdi.lz", "ufs1/darwin_6.0.2.vdi.lz", "ufs1/darwin_8.0.1.vdi.lz", "ufs1/dflybsd_1.2.0.vdi.lz", - "ufs1/dflybsd_3.6.1.vdi.lz", "ufs1/dflybsd_4.0.5.vdi.lz", "ufs1/freebsd_6.1.vdi.lz", "ufs1/freebsd_7.0.vdi.lz", - "ufs1/freebsd_8.2.vdi.lz", "ufs1/netbsd_1.6.vdi.lz", "ufs1/netbsd_7.1.vdi.lz", "ufs1/solaris_7.vdi.lz", - "ufs1/solaris_7.vdi.lz", "ufs2/freebsd_6.1.vdi.lz", "ufs2/freebsd_7.0.vdi.lz", "ufs2/freebsd_8.2.vdi.lz", - "ufs2/netbsd_7.1.vdi.lz", + "nextstep_3.3.vdi.lz","nextstep_3.3_mf2dd.img.lz","nextstep_3.3_mf2hd.img.lz", + "openstep_4.0.vdi.lz","openstep_4.0_mf2dd.img.lz","openstep_4.0_mf2hd.img.lz", + "openstep_4.2.vdi.lz","openstep_4.2_mf2dd.img.lz","openstep_4.2_mf2hd.img.lz", + "rhapsody_dr1.vdi.lz","rhapsody_dr1_mf2dd.img.lz","rhapsody_dr1_mf2hd.img.lz", + "rhapsody_dr2.vdi.lz","rhapsody_dr2_mf2dd.img.lz","rhapsody_dr2_mf2hd.img.lz", }; readonly ulong[] sectors = { - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, + 262144, 1440, 2880, + 262144, 1440, 2880, + 262144, 1440, 2880, + 262144, 1440, 2880, + 262144, 1440, 2880, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, + 512, 512, 512, + 512, 512, 512, + 512, 512, 512, + 512, 512, 512, + 512, 512, 512, }; readonly long[] clusters = { - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, + 131072, 720, 1440, + 131072, 720, 1440, + 131072, 720, 1440, + 131072, 720, 1440, + 131072, 720, 1440, }; readonly int[] clustersize = { - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, + 1024, 1024, 1024, + 1024, 1024, 1024, + 1024, 1024, 1024, + 1024, 1024, 1024, + 1024, 1024, 1024, }; readonly string[] volumename = { - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", + "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", + "Volume label", "Volume label", "Volume label", }; readonly string[] volumeserial = { - "59588B778E9ACDEF", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", }; readonly string[] type = { - "UFS", "UFS2", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS2", "UFS2", "UFS2", - "UFS2", + "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", + "UFS", "UFS", "UFS", }; [Test] @@ -143,20 +119,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_mbr", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_next", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + PartPlugin parts = new NeXTDisklabel(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "0x83") + if(partitions[j].PartitionType == "4.3BSD" || partitions[j].PartitionType == "4.4BSD") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/UFS_RDB.cs b/DiscImageChef.Tests/Filesystems/UFS_RDB.cs index 3f3ff26a..3775b34e 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_RDB.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : UFS_APM.cs +// Filename : UFS_RDB.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,54 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class UFS_APM + public class UFS_RDB { readonly string[] testfiles = { - "ffs43/darwin_1.3.1.vdi.lz","ffs43/darwin_1.4.1.vdi.lz","ffs43/darwin_6.0.2.vdi.lz","ffs43/darwin_8.0.1.vdi.lz", - "ufs1/darwin_1.3.1.vdi.lz","ufs1/darwin_1.4.1.vdi.lz","ufs1/darwin_6.0.2.vdi.lz","ufs1/darwin_8.0.1.vdi.lz", - "ufs1/macosx_10.2.vdi.lz","ufs1/macosx_10.3.vdi.lz","ufs1/macosx_10.4.vdi.lz", + "amix.vdi.lz", }; readonly ulong[] sectors = { - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, 262144, - 262144, 262144, 262144, + 262144, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, - 512, 512, 512, 512, - 512, 512, 512, + 512, }; readonly long[] clusters = { - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, 65018, - 65024, 65018, 65024, + 65024, }; readonly int[] clustersize = { - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2048, - 2048, 2048, 2048, + 2048, }; readonly string[] volumename = { - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", "Volume label", - "Volume label", "Volume label", "Volume label", + null, }; readonly string[] volumeserial = { - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", - "UNKNOWN", "UNKNOWN", "UNKNOWN", + "UNKNOWN", }; readonly string[] type = { - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", "UFS", - "UFS", "UFS", "UFS", + "UFS", }; [Test] @@ -103,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_apm", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AppleMap(); + PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "Apple_UFS") + if(partitions[j].PartitionType == "\"UNI\\2\"") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs b/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs index 3775b34e..f706ee31 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : UFS_RDB.cs +// Filename : UFS_Suni86.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,38 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class UFS_RDB + public class UFS_Suni86 { readonly string[] testfiles = { - "amix.vdi.lz", + "solaris_2.4_mf2dd.img.lz","solaris_2.4_mf2hd.img.lz","solaris_7.vdi.lz", }; readonly ulong[] sectors = { - 262144, + 1440, 2880, 262144, }; readonly uint[] sectorsize = { - 512, + 512, 512, 512, }; readonly long[] clusters = { - 65024, + 720, 1440, 65024, }; readonly int[] clustersize = { - 2048, + 1024, 1024, 2048, }; readonly string[] volumename = { - null, + null, null, null, }; readonly string[] volumeserial = { - "UNKNOWN", + "UNKNOWN", "UNKNOWN", "UNKNOWN", }; readonly string[] type = { - "UFS", + "UFS", "UFS", "UFS", }; [Test] @@ -87,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_suni86", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AmigaRigidDiskBlock(); + PartPlugin parts = new SunDisklabel(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "\"UNI\\2\"") + if(partitions[j].PartitionType != "Empty") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS.cs index fa7f873b..84e672be 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS.cs @@ -51,11 +51,15 @@ namespace DiscImageChef.Tests.Filesystems public class unixbfs { readonly string[] testfiles = { - "linux.vdi.lz", + "amix.adf.lz", + }; + + readonly MediaType[] mediatypes = { + MediaType.CBM_AMIGA_35_DD, }; readonly ulong[] sectors = { - 262144, + 1760, }; readonly uint[] sectorsize = { @@ -63,7 +67,7 @@ namespace DiscImageChef.Tests.Filesystems }; readonly long[] clusters = { - 260096, + 1760, }; readonly int[] clustersize = { @@ -82,25 +86,14 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + 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]); - PartPlugin parts = new MBR(); - Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.BFS(); - int part = -1; - for(int j = 0; j < partitions.Count; j++) - { - if(partitions[j].PartitionType == "0x83") - { - part = j; - break; - } - } - Assert.AreNotEqual(-1, part, "Partition not found"); - Assert.AreEqual(true, fs.Identify(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1), testfiles[i]); - fs.GetInformation(image, partitions[part].PartitionStartSector, partitions[part].PartitionStartSector + partitions[part].PartitionSectors - 1, out string information); + Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); + 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("BFS", fs.XmlFSType.Type, testfiles[i]); diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs index 4e95785a..c99eafe8 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : unixbfs.cs +// Filename : unixbfs_mbr.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -48,30 +48,30 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class unixbfs + public class unixbfs_mbr { readonly string[] testfiles = { - "linux.vdi.lz","amix.adf.lz", + "linux.vdi.lz", }; readonly ulong[] sectors = { - 262144,1760, + 262144, }; readonly uint[] sectorsize = { - 512,512, + 512, }; readonly long[] clusters = { - 260096,1760, + 260096, }; readonly int[] clustersize = { - 512,512, + 512, }; readonly string[] volumename = { - "Label","Label", + "Label", }; [Test] @@ -79,7 +79,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs index 3775b34e..69f64300 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs @@ -48,7 +48,7 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class UFS_RDB + public class UNIXBFS_RDB { readonly string[] testfiles = { "amix.vdi.lz", @@ -87,7 +87,7 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_rdb", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); @@ -96,11 +96,11 @@ namespace DiscImageChef.Tests.Filesystems Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); PartPlugin parts = new AmigaRigidDiskBlock(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); - Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); + Filesystem fs = new DiscImageChef.Filesystems.BFS(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "\"UNI\\2\"") + if(partitions[j].PartitionType == "\"UNI\\0\"") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/ZFS.cs b/DiscImageChef.Tests/Filesystems/ZFS.cs index 6f0e4ab7..5e0e3607 100644 --- a/DiscImageChef.Tests/Filesystems/ZFS.cs +++ b/DiscImageChef.Tests/Filesystems/ZFS.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : MFS.cs +// Filename : ZFS.cs // Version : 1.0 // Author(s) : Natalia Portillo // @@ -41,50 +41,39 @@ using DiscImageChef.Filesystems; using DiscImageChef.Filters; using DiscImageChef.ImagePlugins; using NUnit.Framework; +using DiscImageChef.DiscImages; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class MFS + public class ZFS { readonly string[] testfiles = { - "macos_0.1_mf1dd.img.lz","macos_0.5_mf1dd.img.lz","macos_1.1_mf1dd.img.lz","macos_2.0_mf1dd.img.lz", - "macos_6.0.7_mf1dd.img.lz", - }; - - readonly MediaType[] mediatypes = { - MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, - MediaType.AppleSonySS + "netbsd_7.1.vdi.lz", }; readonly ulong[] sectors = { - 800, 800, 800, 800, - 800, + 33554432, }; readonly uint[] sectorsize = { - 512, 512, 512, 512, - 512, 512, 512, + 512, }; readonly long[] clusters = { - 391, 391, 391, 391, - 391, + 0, }; readonly int[] clustersize = { - 1024, 1024, 1024, 1024, - 1024, + 0, }; readonly string[] volumename = { - "Volume label","Volume label","Volume label","Volume label", - "Volume label", + "NetBSD 7.1", }; readonly string[] volumeserial = { - null, null, null, null, - null, null, null, + "2639895335654686206", }; [Test] @@ -92,20 +81,19 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "mfs", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "zfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new ZZZRawImage(); + ImagePlugin image = new VDI(); 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 DiscImageChef.Filesystems.AppleMFS.AppleMFS(); + Filesystem fs = new DiscImageChef.Filesystems.ZFS(); 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("MFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual("ZFS filesystem", fs.XmlFSType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); } diff --git a/DiscImageChef.Tests/Filesystems/exFAT_APM.cs b/DiscImageChef.Tests/Filesystems/exFAT_APM.cs index 55676411..ededae80 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_APM.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_APM.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class exFAT_APM { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs b/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs index 4ad68575..7cc4ed11 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class exFAT_GPT { readonly string[] testfiles = { - "macosx.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs b/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs index 58bd1244..25302ca7 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Filesystems public class exFAT_MBR { readonly string[] testfiles = { - "linux.vdi.lz", "macosx.vdi.lz", "win10.vdi.lz", "winvista.vdi.lz", + "linux.vdi.lz", "macosx_10.11.vdi.lz", "win10.vdi.lz", "winvista.vdi.lz", }; readonly ulong[] sectors = { diff --git a/DiscImageChef.Tests/Filesystems/ext2.cs b/DiscImageChef.Tests/Filesystems/ext2.cs index c041ce7e..4ffc710b 100644 --- a/DiscImageChef.Tests/Filesystems/ext2.cs +++ b/DiscImageChef.Tests/Filesystems/ext2.cs @@ -52,34 +52,42 @@ namespace DiscImageChef.Tests.Filesystems { readonly string[] testfiles = { "linux_ext2.vdi.lz", "linux_ext3.vdi.lz","linux_ext4.vdi.lz", + "netbsd_7.1.vdi.lz", "netbsd_7.1_r0.vdi.lz", }; readonly ulong[] sectors = { 262144, 262144, 262144, + 8388608, 2097152, }; readonly uint[] sectorsize = { - 512, 512, 512, + 512, 512, 512, + 512, 512, }; readonly long[] clusters = { - 130048, 130048, 130048, + 130048, 130048, 130048, + 1046567, 260135, }; readonly int[] clustersize = { - 1024, 1024, 1024, + 1024, 1024, 1024, + 4096, 4096, }; readonly string[] volumename = { - "VolumeLabel", "VolumeLabel", "VolumeLabel", + "VolumeLabel", "VolumeLabel", "VolumeLabel", + "Volume label", "Volume label", }; readonly string[] volumeserial = { - "cf92398e-987d-4ae4-b753-0591a35913eb", "1615411b-1554-424b-95e6-1a247056a960", "05f3f8b2-0f77-47ad-abe4-f0484aa319e9", + "cf92398e-987d-4ae4-b753-0591a35913eb", "1615411b-1554-424b-95e6-1a247056a960", "05f3f8b2-0f77-47ad-abe4-f0484aa319e9", + "05ee2ae7-7b62-e711-a573-0800272a08ec", "f2562707-7c62-e711-a573-0800272a08ec", }; readonly string[] extversion = { "ext2", "ext3", "ext4", + "ext2", "ext2" }; [Test]