Commit Graph

199 Commits

Author SHA1 Message Date
0484d66c14 Reverse engineered S-Records, use them. They are a must for
V2.
2016-07-28 03:41:57 +01:00
44d436ab04 * DiscImageChef.Filesystems/LisaFS/Dir.cs:
* DiscImageChef.Filesystems/LisaFS/File.cs:
	* DiscImageChef.Filesystems/LisaFS/Info.cs:
	* DiscImageChef.Filesystems/LisaFS/Super.cs:
	  Added hard disk support.
	Use tag decoder.

	* DiscImageChef.Filesystems/LisaFS/Extent.cs:
	  Use tag decoder.

	* DiscImageChef.Filesystems/LisaFS/LisaFS.cs:
	  Added hard disk support.

	* DiscImageChef.Filesystems/LisaFS/Structs.cs:
	  Added missing tag fields.

	* DiscImageChef.Filesystems/LisaFS/Xattr.cs:
	  Added tag decoder.
2016-07-27 22:13:47 +01:00
aa903865c5 Changed catalog algorithm to handle fragmented catalogs. 2016-07-27 17:08:49 +01:00
5915185f70 * DiscImageChef.Filesystems/LisaFS/Super.cs:
Initialize debug structures before the root catalog is
	  cached.

	* DiscImageChef.Filesystems/LisaFS/File.cs:
	  Detect truncated files (errors in the filesystem).
2016-07-27 14:34:29 +01:00
763f747072 * DiscImageChef.Filesystems/LisaFS/LisaFS.cs:
Corrected parametrized constructor.

	* DiscImageChef.Filesystems/LisaFS/Dir.cs:
	  Mimic Pascal Workshop behaviour, ignore catalog entries
	  without an ExtentsFile.
2016-07-27 13:33:41 +01:00
12288bee6d * DiscImageChef.Filesystems/FFS.cs:
* DiscImageChef.Filesystems/BFS.cs:
	* DiscImageChef.Filesystems/ODS.cs:
	* DiscImageChef.Filesystems/FAT.cs:
	* DiscImageChef.Filesystems/APFS.cs:
	* DiscImageChef.Filesystems/NTFS.cs:
	* DiscImageChef.Filesystems/SysV.cs:
	* DiscImageChef.Filesystems/HPFS.cs:
	* DiscImageChef.Filesystems/Opera.cs:
	* DiscImageChef.Filesystems/Acorn.cs:
	* DiscImageChef.Filesystems/extFS.cs:
	* DiscImageChef.Filesystems/BTRFS.cs:
	* DiscImageChef.Filesystems/ext2FS.cs:
	* DiscImageChef.Filesystems/ProDOS.cs:
	* DiscImageChef.Filesystems/SolarFS.cs:
	* DiscImageChef.Filesystems/UNIXBFS.cs:
	* DiscImageChef.Filesystems/ISO9660.cs:
	* DiscImageChef.Filesystems/MinixFS.cs:
	* DiscImageChef.Filesystems/AmigaDOS.cs:
	* DiscImageChef.Filesystems/PCEngine.cs:
	* DiscImageChef.Filesystems/AppleHFS.cs:
	* DiscImageChef.Filesystems/Nintendo.cs:
	* DiscImageChef.Filesystems/AppleMFS.cs:
	* DiscImageChef.Filesystems/AppleHFSPlus.cs:
	  Added constructor with parameters

	* DiscImageChef/Commands/ExtractFiles.cs:
	  Corrected typoe in error output.
2016-07-27 13:32:45 +01:00
b797dfd526 Files can be empty. 2016-07-27 03:22:02 +01:00
3c8f20a5c0 Added debug printing of ExtentsFiles. 2016-07-27 03:03:08 +01:00
95a7bc96a0 Ignore MDDF password if not present. 2016-07-27 02:41:26 +01:00
f1d2130d80 * DiscImageChef/Main.cs:
* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/ExtractFiles.cs:
	  Added command to extract all files from a filesystem.

	* DiscImageChef.Filesystems/LisaFS/Consts.cs:
	  Corrected comments.
	Added ftype known values.

	* DiscImageChef.Filesystems/LisaFS/Dir.cs:
	  Changed field name.

	* DiscImageChef.Filesystems/LisaFS/Extent.cs:
	* DiscImageChef.Filesystems/LisaFS/Structs.cs:
	  Reverse engineered new fields from ExtentsFile

	* DiscImageChef.Filesystems/LisaFS/File.cs:
	  Added support for reading tags.
	Added flags and ftype fields from ExtentsFile.

	* DiscImageChef.Filesystems/LisaFS/Xattr.cs:
	  Changed how serial number is returned.
	Allow to get tags in debug mode as an xattr.

	* DiscImageChef.Filesystems/Structs.cs:
	  Added PIPE attribute.
2016-07-27 02:35:29 +01:00
6c50cccacd Corrected directory entry. 2016-07-22 23:03:27 +01:00
679f99cb37 Added Lisa filesystem code. 2016-07-22 02:18:53 +01:00
f47947f09a Modified FileAttributes enum so it correctly works as a flag.
Removed DevicePath from FileEntryInfo structure.
	Added filesystem ID as a union struct of uint32, uint64 and
	guid.
	Added NoData and NoSuchExtendedAttribute errors.
2016-07-22 00:44:52 +01:00
a702542649 Added debug mount() method. 2016-07-22 00:43:22 +01:00
99a70b360f Symbolic links are not supported. 2016-07-21 18:39:38 +01:00
878058f232 * DiscImageChef.Filesystems/LisaFS/Structs.cs:
Refactored structure names.
	Added catalog entry structure.
	Added extents structures.

	* DiscImageChef.Filesystems/LisaFS/Info.cs:
	  Refactored structure names.
2016-07-21 18:28:34 +01:00
3604acce32 Corrected previously unknown Lisa tag values. 2016-07-21 17:40:49 +01:00
fb09c66bcf Separated LisaFS in different files. 2016-07-21 17:36:51 +01:00
948d3cad8f Created folder for LisaFS. 2016-07-21 17:19:28 +01:00
826afbac0c Added preliminar early-API for filesystem read-only access. 2016-07-21 17:16:08 +01:00
66a58e3351 * DiscImageChef.Filesystems/Structs.cs:
Added structs for filesystem entries information.

	* DiscImageChef/Plugins.cs:
	* DiscImageChef.Filesystems/FFS.cs:
	* DiscImageChef.Filesystems/FAT.cs:
	* DiscImageChef.Filesystems/ODS.cs:
	* DiscImageChef.Filesystems/BFS.cs:
	* DiscImageChef.Filesystems/NTFS.cs:
	* DiscImageChef/Commands/Formats.cs:
	* DiscImageChef.Filesystems/APFS.cs:
	* DiscImageChef.Filesystems/HPFS.cs:
	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef.Filesystems/SysV.cs:
	* DiscImageChef.Filesystems/Acorn.cs:
	* DiscImageChef.Filesystems/Opera.cs:
	* DiscImageChef.Filesystems/extFS.cs:
	* DiscImageChef.Filesystems/BTRFS.cs:
	* DiscImageChef/Commands/DumpMedia.cs:
	* DiscImageChef.Filesystems/ProDOS.cs:
	* DiscImageChef.Filesystems/LisaFS.cs:
	* DiscImageChef.Filesystems/ext2FS.cs:
	* DiscImageChef.Filesystems/MinixFS.cs:
	* DiscImageChef.Filesystems/ISO9660.cs:
	* DiscImageChef.Filesystems/SolarFS.cs:
	* DiscImageChef.Filesystems/UNIXBFS.cs:
	* DiscImageChef.Filesystems/AmigaDOS.cs:
	* DiscImageChef.Filesystems/AppleHFS.cs:
	* DiscImageChef.Filesystems/PCEngine.cs:
	* DiscImageChef.Filesystems/AppleMFS.cs:
	* DiscImageChef.Filesystems/Nintendo.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	* DiscImageChef.Filesystems/Filesystem.cs:
	* DiscImageChef.Filesystems/AppleHFSPlus.cs:
	  Refactored filesystem plugin class name.

	* DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj:
	  Refactored filesystem plugin class name.
	Added structs for filesystem entries information.
2016-07-21 16:15:39 +01:00
84b361f3f6 * README.md:
* DiscImageChef.sln:
	* DiscImageChef/AssemblyInfo.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
	* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
	* DiscImageChef.Checksums/Properties/AssemblyInfo.cs:
	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Console/DiscImageChef.Console.csproj:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj:
	* DiscImageChef.Settings/DiscImageChef.Settings.csproj:
	* DiscImageChef.Checksums/DiscImageChef.Checksums.csproj:
	* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
	* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
	* DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj:
	* DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj:

	* Packages.mdproj:
	  Bumped version to 3.0.0.0.
2016-07-19 22:29:08 +01:00
3b2b3b86f5 Added preliminary support for Apple File System aka APFS. 2016-06-22 05:01:13 +01:00
f3fdc7378a Adds support for btrfs and closes #27. 2016-05-05 01:00:47 +01:00
5af0806999 * DiscImageChef.sln:
* DiscImageChef/Options.cs:
	  Refactors

	* TODO:
	  Added device-related TODOs.
2016-05-05 00:59:36 +01:00
f8bc81d4f5 Reformatted. 2016-04-19 02:11:47 +01:00
6a8499f8ed * DiscImageChef.Filesystems/Nintendo.cs:
* DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj:
	  Added Nintendo Wii and Gamecube filesystems.

	* DiscImageChef.sln:
	* DiscImageChef/DiscImageChef.csproj:
	  Corrected formatting policy.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  Some filesystems should define the disc type (PC-Engine,
	  3DO, Wii, Gamecube).
	Added Nintendo Wii and Gamecube filesystems.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Added Nintendo Wii and Gamecube filesystems.
	Reformatted.
2016-04-19 01:17:14 +01:00
657c217f87 * DiscImageChef.Filesystems/FFS.cs:
Added support for superblock offset in Atari UNIX.

	* DiscImageChef.Filesystems/SysV.cs:
	  Corrected big endian magic.

	* DiscImageChef.Partitions/Atari.cs:
	  Added support for Atari UNIX, MINIX and HFS partitions.
2016-02-10 05:14:49 +00:00
5bc9dd3c10 * TODO:
* README.md:
	* DiscImageChef.Partitions/GPT.cs:
	* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
	  Added support for EFI GPT. Fixes #8.

	* commandline:

	* DiscImageChef.Decoders/SCSI/Sense.cs:
	  Corrected handling when sense contains multiple repeated
	  sense codes, in a not clean way (just ignoring repeats).

	* DiscImageChef.Filesystems/Acorn.cs:
	  Added exception catching and unsigned values to correct
	  Acorn DiscRecord structure. Fixes #34

	* DiscImageChef/Commands/DeviceReport.cs:
	  Check for 36 blocks in long block search in all cases.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Only try the persistent pass one time. If it didn't correct
	  in the previous cycle it won't magically do now.
	Sort unreadalbe sectors before printing them.
2016-02-05 19:24:48 +00:00
a090c8f46c * DiscImageChef.Filesystems/Acorn.cs:
* DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj:
	  Added support for Acorn ADFS.

	* DiscImageChef.Partitions/Sun.cs:
	* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
	  Added support for Sun disklabel.

	* DiscImageChef.Filesystems/FFS.cs:
	  Correct FFS information.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Correct physical/logical block size in sidecar.

	* TODO:
	* README.md:
	  Added support for Sun disklabel.
	Added support for Acorn ADFS.
2016-02-05 05:39:15 +00:00
ab24c63d4b * commandline:
* DiscImageChef.Filesystems/FAT.cs:
	  Correct null volume label and oem string

	* DiscImageChef.Filesystems/NTFS.cs:
	  Some NTFS do not contain signature1.

	* DiscImageChef.Metadata/MediaType.cs:
	  Added XML name for iomega ZIP.

	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Check multiple partitioning schemes.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Check multiple partitioning schemes.
	Do not add interface data to sidecar for removable devices.
	Add dump hardware to sidecar for remocable block devices.
2016-02-05 00:01:09 +00:00
bd80a6246a * DiscImageChef.Decoders/SCSI/Modes.cs:
* DiscImageChef.Decoders/SCSI/ModesEncoders.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added encoders for Mode 6 and 10, Mode pages 0x01 and 0x01
	  for MultiMedia Devices.

	* commandline:

	* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
	  Added MODE SELECT (6) and MODE SELECT (10) commands.

	* DiscImageChef.Filesystems/FFS.cs:
	  Corrected array initialization.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/Verify.cs:
	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef/Commands/Entropy.cs:
	* DiscImageChef/Commands/Checksum.cs:
	* DiscImageChef/Commands/PrintHex.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Check if image file exists before proceeding.

	* DiscImageChef/Commands/MediaInfo.cs:
	* DiscImageChef/Commands/MediaScan.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef/Commands/DeviceReport.cs:
	  Check if device exists before proceeding.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Check if device exists before proceeding.
	Removed unused code.
	Added error handling procedures for non CDs.

	* DiscImageChef/Options.cs:
	  Remove unused options.
	Added options to control dump-media error handling.
2016-02-04 16:51:03 +00:00
22b0f80d6e Refactor most disk references to media. 2016-01-16 03:54:55 +00:00
cdcbb1e21a * CICMMetadata:
Updated to last branch.

	* DiscImageChef.Filesystems/ISO9660.cs:
	  Comment unused variable.
2015-12-31 17:35:56 +00:00
8ed384f47f * README.md:
* DiscImageChef.DiscImages/GDI.cs:
	* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
	  Added support for Dreamcast GDI images.

	* DiscImageChef.DiscImages/ImagePlugin.cs:
	  Add XML documentation to exceptions.

	* DiscImageChef.Filesystems/ISO9660.cs:
	  Corrected Dreamcast IP.BIN interpretation.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  Formatting.
2015-12-25 20:47:40 +00:00
3b368e0bd4 * TODO:
* README.md:
	* DiscImageChef.DiscImages/CDRDAO.cs:
	* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
	  Added support for cdrdao images. Solves #53

	* DiscImageChef.DiscImages/CDRWin.cs:
	  Implemented FLAGS field support and
	  quadraphonic/broadcasting flag.
	Return CD track flags for any track type.

	* DiscImageChef.Filesystems/ISO9660.cs:
	  Filter null characters from Volume Descriptors.
	If Joliet descriptor is null, or ISO descriptor is longer, use
	  ISO descriptor for XML metadata.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  If a filesystem plugin crashes, do not abort.

	* DiscImageChef/DetectImageFormat.cs:
	  If an image plugin crashes, keep trying the others.
2015-12-23 23:46:31 +00:00
ec5ba8481a Added support for CD-ROM XA sectors. 2015-12-06 07:51:46 +00:00
14da0c7c6e Solved false positives of UNIX 7th Edition filesystem. 2015-12-06 07:25:53 +00:00
20494c9485 Moved comments to XML documentation. 2015-12-06 07:18:36 +00:00
40951dd44e Added documentation. 2015-12-06 05:18:30 +00:00
36e12eb1a7 * DiscImageChef.Metadata/DiskType.cs:
* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj:
	  Added method to convert DiskType to disk type and subtype
	  strings.

	* DiscImageChef.DiscImages/CDRWin.cs:
	  Added extra track information.
	Corrected ReadLong for CD+G, subchannel should never come
	  along main channel on reading.

	* DiscImageChef.DiscImages/ImagePlugin.cs:
	  Added extra track information.
	Added audio media type.

	* DiscImageChef.DiscImages/Nero.cs:
	  Added extra track information.

	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Added support for ReadLong and a single track and session
	  for optical discs.

	* DiscImageChef.Filesystems/FFS.cs:
	* DiscImageChef.Filesystems/BFS.cs:
	* DiscImageChef.Filesystems/ODS.cs:
	* DiscImageChef.Filesystems/SysV.cs:
	* DiscImageChef.Filesystems/extFS.cs:
	* DiscImageChef.Filesystems/ProDOS.cs:
	* DiscImageChef.Filesystems/ext2FS.cs:
	* DiscImageChef.Filesystems/LisaFS.cs:
	* DiscImageChef.Filesystems/MinixFS.cs:
	* DiscImageChef.Filesystems/UNIXBFS.cs:
	* DiscImageChef.Filesystems/AppleMFS.cs:
	* DiscImageChef.Filesystems/PCEngine.cs:
	* DiscImageChef.Filesystems/AppleHFS.cs:
	* DiscImageChef.Filesystems/AmigaDOS.cs:
	* DiscImageChef.Filesystems/AppleHFSPlus.cs:
	  Completed XML information.

	* DiscImageChef.Filesystems/ISO9660.cs:
	  Corrected fail in Sega CD IP.BIN decoding.
	Corrected IP.BIN date decoding.
	Trim spaces at end of Volume Descriptor string fields.
	Completed XML information.

	* DiscImageChef/Commands/Checksum.cs:
	  Checking memory usage on each step makes checksum
	  calculation abismally slower. Removed.

	* DiscImageChef/Main.cs:
	* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Added method for creating CICM Metadata XML sidecar.
2015-12-06 05:09:31 +00:00
96048617e1 Added generating XML metadata for file systems. 2015-12-05 17:10:27 +00:00
c6cfcbcd15 Corrected root block search. 2015-12-04 18:52:23 +00:00
fb961787e1 * DiscImageChef.Filesystems/BFS.cs:
Invert endian description

	* DiscImageChef/Commands/Checksum.cs:
	  Modified checksums command to use multiple-sector reading
	  and be heavily multithreaded.

	* DiscImageChef/DiscImageChef.csproj:
	  Enable optimizations on Release.
2015-11-10 06:16:23 +00:00
26b0b6373b * DiscImageChef.Filesystems/BFS.cs:
Prevent index out of array on checking BeFS with
	  less-than-sector-size boot sector.

	* DiscImageChef/Commands/Checksum.cs:
	  Corrected checksum calculation for multiple tracks

	* DiscImageChef.DiscImages/CDRWin.cs:
	  Corrected typo in track calculation.
2015-11-09 22:17:45 +00:00
bbc209c121 * DiscImageChef.DiscImages/CDRWin.cs:
Corrected partition start and length calculations.

	* DiscImageChef.Filesystems/BFS.cs:
	  Corrected decoding fields.
	Added supports for boot sector smaller than device size as in
	  some Be CDs.

	* DiscImageChef/Main.cs:
	  Forgot to define Console.Write()
2015-11-09 19:42:00 +00:00
c8fb4e0123 Upgrade .NET version to 4.0. 2015-10-19 04:48:17 +01:00
4f407e3d15 Added specific console handling for standard, verbose, debug
and error outputs.
2015-10-18 22:04:03 +01:00
80a1e37009 Move filesystems to a separate library. 2015-10-05 20:04:05 +01:00