Commit Graph

123 Commits

Author SHA1 Message Date
3a6392a02f Added PFI decoding. 2015-12-01 02:51:52 +00:00
4b3ec7f548 * DiscImageChef/Options.cs:
* DiscImageChef/Commands/Checksum.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef.Checksums/FletcherContext.cs:
	  Disabled Fletcher as it is abnormally slow.

	* DiscImageChef/Commands/Benchmark.cs:
	  Corrected style.
2015-11-30 23:00:47 +00:00
38115beabd Added 'benchmark' command to benchmark checksum and hashing
algorithms.
2015-11-30 22:28:42 +00:00
0485b57642 Solved repeated field names. 2015-11-27 10:32:54 +00:00
09da786c1f * DiscImageChef/Commands/MediaInfo.cs:
Added a workaround for Nintendo GameCube and Wii discs.
	Added SCSI READ MEDIA SERIAL NUMBER support.

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Use a bigger buffer for CD-TEXT.
2015-11-24 05:03:26 +00:00
c693a4191d Reorganized media-info command so only applicable information
is requested based on what we are being informed about media
	type.
2015-11-24 03:24:14 +00:00
5fd3c27520 Added decoding and prettifying READ DISC INFORMATION. 2015-11-24 01:45:31 +00:00
67eb49b66e * DiscImageChef.CommonTypes/DiskType.cs:
Added DVD-RW DL, DVD-Download, HD DVD-R DL and HD DVD-RW DL.

	* DiscImageChef.Decoders/CD/ATIP.cs:
	  ATIP not always contain S4.
	Corrected typo.

	* DiscImageChef.Decoders/CD/Session.cs:
	  Added missing newlines.

	* DiscImageChef.Decoders/CD/TOC.cs:
	  Added missing newlines.
	Recognize Lead-Out track.

	* DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs:
	  Added structures for Disc Informations 001b and 010b.

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  On READ TOC/PMA/ATIP and READ DISC INFORMATION if trying
	  small buffer and then real-sized buffer, some drives send
	  garbage, so get a big enough buffer and return only the
	  applicable data size.

	* DiscImageChef/Commands/MediaInfo.cs:
	  Check current profile and prettify TOC, PMA, ATIP, Session
	  and CD-TEXT.
2015-11-24 00:40:33 +00:00
f9090cf09c * DiscImageChef.DiscImages/VHD.cs:
* DiscImageChef.DiscImages/Nero.cs:
	* DiscImageChef.DiscImages/CDRWin.cs:
	* DiscImageChef.DiscImages/Apple2MG.cs:
	* DiscImageChef.DiscImages/TeleDisk.cs:
	* DiscImageChef.CommonTypes/DiskType.cs:
	* DiscImageChef.DiscImages/ImageInfo.cs:
	* DiscImageChef.DiscImages/DiskCopy42.cs:
	* DiscImageChef.DiscImages/ImagePlugin.cs:
	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	* DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj:
	  Moved DiskType to commons.

	* DiscImageChef/Main.cs:
	* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/MediaInfo.cs:
	  Added media-info command

	* DiscImageChef.Decoders/SCSI/Sense.cs:
	  Typo
2015-11-23 21:44:58 +00:00
be93167b26 * DiscImageChef.Devices/Device/ScsiCommands.cs:
Corrected typo.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Decode SCSI sense.
2015-11-23 05:15:37 +00:00
0ebbd87548 * DiscImageChef.Devices/Command.cs:
* DiscImageChef.Decoders/ATA/Errors.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef.Devices/Linux/Command.cs:
	* DiscImageChef.Devices/Device/Commands.cs:
	* DiscImageChef.Devices/Device/AtaCommands.cs:
	* DiscImageChef.Devices/Device/Constructor.cs:
	* DiscImageChef.Devices/Device/AtapiCommands.cs:
	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Moved ATA register definition to a more common place.

	* DiscImageChef.Decoders/SCSI/Sense.cs:
	  Added information from SAT-4.
2015-11-23 04:26:53 +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
361b8977b0 * DiscImageChef.Decoders/SCSI/Modes.cs:
Check for vendor pages not following page format (even if
	  they must).

	* DiscImageChef.Devices/Device/Constructor.cs:
	  Some devices (at least smsc usb-floppy) crash and reset when
	  receiving ata over the ATA PASS-THROUGH scsi command. This
	  will check for SCSI compliance first giving devices time to
	  reset.

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Some devices (smsc usb floppies) return the real command
	  result size disregarding allocation length and generating a
	  buffer overflow.

	* DiscImageChef.Devices/Enums.cs:
	  Added some vendor commands for Plextor and HL-DT-ST devices.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Mode sense should be written even if it can't be decoded.
2015-11-05 06:50:02 +00:00
626c9062eb Added option to dump binary responses got from devices while
getting device info.
2015-11-02 21:08:38 +00:00
ca8a152d8f Added READ DISC STRUCTURE. 2015-11-02 19:12:19 +00:00
45c390de67 * DiscImageChef.Decoders/SCSI/MMC/Features.cs:
Reword Feature 0105h.
	Correct handling of feature 010Ch.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Typo in debug output.
2015-11-01 22:38:25 +00:00
f02e668173 * DiscImageChef.Decoders/SCSI/MMC/Features.cs:
Correct math priority

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Correct command size typo

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Add MMC GET CONFIGURATION
2015-11-01 22:09:10 +00:00
3a069ab37a Solved some bugs found testing on usb flash sticks. 2015-10-31 21:32:10 +00:00
6b9f8f97c8 * DiscImageChef.Decoders/SCSI/Modes.cs:
Polished some bugs and typos and format

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Corrected math typo.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Added MODE SENSE to device information.
2015-10-31 21:03:18 +00:00
19b3b0b733 Added travis build description. 2015-10-24 01:10:04 +01:00
e873377777 Device type, manufacturer, model, revision and serial number
are now obtained in device constructor.
2015-10-19 05:11:28 +01:00
efcc294202 Moved devices enums and structs out of classes. 2015-10-19 04:39:39 +01:00
ac491f6f5c Implemented SCSI VPDs 0x00 to 0x80. 2015-10-19 04:32:16 +01:00
27acec2aa8 * DiscImageChef.Decoders/ATA/ATA.cs:
* DiscImageChef.Decoders/ATA/Identify.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename ATA/ATAPI decoders fields, methods and structs to
	  more adequate names.
2015-10-19 03:17:03 +01:00
12c5412b52 * DiscImageChef/Commands/Decode.cs:
* DiscImageChef.Decoders/ATA/ATA.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename SCSI decoders fields, methods and structs to more
	  adequate names.

	* DiscImageChef.Decoders/SCSI/MMC/MMC.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Separated SCSI decoders by type.

	* DiscImageChef.Decoders/SCSI/Enums.cs:
	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	* DiscImageChef.Decoders/SCSI/VendorString.cs:
	  Rename fields, methods and structs to more adequate names.
2015-10-19 03:13:15 +01:00
b3d48cac37 Separated SCSI decoders by type. 2015-10-19 02:59:32 +01:00
45303f8a8d * DiscImageChef.Decoders/CD/TOC.cs:
* DiscImageChef.Decoders/CD/PMA.cs:
	* DiscImageChef.Decoders/CD/ATIP.cs:
	* DiscImageChef.Decoders/CD/Session.cs:
	* DiscImageChef.Decoders/CD/FullTOC.cs:
	* DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	  Rename CD decoders fields, methods and structs to more
	  adequate names.
2015-10-19 02:46:04 +01:00
4457479471 Separated CD decoders by type. 2015-10-19 02:40:30 +01:00
b661febe57 * DiscImageChef.Console/DicConsole.cs:
Added methods without formatting.

	* DiscImageChef.Decoders/ATA.cs:
	  Typo.

	* DiscImageChef.Decoders/SCSI.cs:
	  Don't try to decode Version Descriptors if there are none.
	Also there are devices on the wild with less than 8 VDs.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Use a format-less output.
2015-10-19 01:37:23 +01:00
e9e55162d9 Added ATA/ATAPI IDENTIFY DEVICE disk tags. 2015-10-19 00:32:48 +01:00
4f407e3d15 Added specific console handling for standard, verbose, debug
and error outputs.
2015-10-18 22:04:03 +01:00
fda6bcb3d4 Added ATA/ATAPI IDENTIFY DEVICE decoder 2015-10-17 02:57:47 +01:00
12842dccfc Implement ATA/ATAPI IDENTIFY decoder. 2015-10-17 01:26:17 +01:00
846be0d756 * DiscImageChef.Devices/Device/AtaCommands.cs:
* DiscImageChef.Devices/Device/ScsiCommands.cs:
	* DiscImageChef.Devices/Device/AtapiCommands.cs:
	  Added duration debug printfs.

	* DiscImageChef.Devices/Enums.cs:
	  Corrected device<->host direction.

	* DiscImageChef.Devices/Linux/Command.cs:
	  Corrected device<->host direction.
	Changed to workaround how ATA Pass-Through is really
	  implemented in Linux.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Added ATA and ATAPI identify commands.
2015-10-15 01:46:31 +01:00
9f0d09b789 * DiscImageChef/Main.cs:
* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Added "device-info" command.

	* DiscImageChef.Decoders/SCSI.cs:
	  Correct size miscalculation.
	Do not print "Device claims no standard", generates too much
	  noise.

	* DiscImageChef.Devices/Device/Constructor.cs:
	  Add OS error detection and handling.
	On Linux move to opening O_RDONLY and O_NONBLOCK to allow
	  opening read-only media and removable drives without media.

	* DiscImageChef.Devices/Device/Variables.cs:
	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Add OS error detection and handling.

	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
	  Downgraded .NET version.
2015-10-13 01:45:07 +01:00
ed09ecbda4 Added standard header. 2015-10-12 06:39:31 +01:00
1afeb5e545 Move decoders to a separate library. 2015-10-05 20:27:44 +01:00
80a1e37009 Move filesystems to a separate library. 2015-10-05 20:04:05 +01:00
fda7fee90c Move partitions plugins to a separate library. 2015-10-05 19:58:42 +01:00
4a3583d13e Moved disc image plugins to a separate library. 2015-10-05 19:45:07 +01:00
9530cc1a7a * DiscImageChef/Checksums/MD5Context.cs:
* DiscImageChef.Checksums/MD5Context.cs:
	* DiscImageChef/Checksums/CDChecksums.cs:
	* DiscImageChef.Checksums/ReedSolomon.cs:
	* DiscImageChef.Checksums/SHA1Context.cs:
	* DiscImageChef/Checksums/ReedSolomon.cs:
	* DiscImageChef/Checksums/SHA1Context.cs:
	* DiscImageChef.Checksums/CDChecksums.cs:
	* DiscImageChef/Checksums/CRC64Context.cs:
	* DiscImageChef/Checksums/CRC32Context.cs:
	* DiscImageChef/Checksums/CRC16Context.cs:
	* DiscImageChef.Checksums/CRC64Context.cs:
	* DiscImageChef.Checksums/CRC32Context.cs:
	* DiscImageChef.Checksums/CRC16Context.cs:
	* DiscImageChef/Checksums/SHA256Context.cs:
	* DiscImageChef.Checksums/SHA512Context.cs:
	* DiscImageChef.Checksums/SHA384Context.cs:
	* DiscImageChef/Checksums/SHA384Context.cs:
	* DiscImageChef/Checksums/SHA512Context.cs:
	* DiscImageChef.Checksums/SHA256Context.cs:
	* DiscImageChef.Checksums/Adler32Context.cs:
	* DiscImageChef/Checksums/SpamSumContext.cs:
	* DiscImageChef/Checksums/Adler32Context.cs:
	* DiscImageChef.Checksums/SpamSumContext.cs:
	* DiscImageChef.Checksums/FletcherContext.cs:
	* DiscImageChef/Checksums/FletcherContext.cs:
	* DiscImageChef.Checksums/RIPEMD160Context.cs:
	* DiscImageChef/Checksums/RIPEMD160Context.cs:
	* DiscImageChef.Checksums/Properties/AssemblyInfo.cs:
	* DiscImageChef.Checksums/DiscImageChef.Checksums.csproj:
	  Move checksums to a separate library.

	* DiscImageChef/Swapping.cs:
	* DiscImageChef/PrintHex.cs:
	* DiscImageChef/ArrayFill.cs:
	* DiscImageChef/DateHandlers.cs:
	* DiscImageChef/StringHandlers.cs:
	* DiscImageChef.Helpers/Swapping.cs:
	* DiscImageChef.Helpers/PrintHex.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef.Helpers/ArrayFill.cs:
	* DiscImageChef.Helpers/DateHandlers.cs:
	* DiscImageChef/BigEndianBitConverter.cs:
	* DiscImageChef.Helpers/StringHandlers.cs:
	* DiscImageChef/EndianAwareBinaryReader.cs:
	* DiscImageChef.Helpers/BigEndianBitConverter.cs:
	* DiscImageChef.Helpers/EndianAwareBinaryReader.cs:
	* DiscImageChef.Helpers/Properties/AssemblyInfo.cs:
	* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
	  Move helpers to a separate library.

	* DiscImageChef.sln:
	  Move helpers to a separate library.
	Move checksums to a separate library.
2015-10-05 18:58:13 +01:00
4001c1b21e Added floppy disk structures. 2015-08-25 06:06:13 +01:00
f9472ad5b9 Solved CDRWin plugin not working on .NET Framework and in Mono
4.0. Seems a bug in the framework implementation nonetheless,
	this workarounds satisfactorily.
2015-05-23 05:29:35 +01:00
4fc2e234b0 Implement "entropy" command. 2015-05-19 06:04:21 +01:00
eb33aad7ef Syntax cleaning. 2015-04-24 04:01:58 +01:00
5f06fbe855 Implemented support for Virtual PC differencing (undo) disk
images.
2015-04-24 03:43:44 +01:00
d2c51e62df Add support for dynamic disk images. 2015-04-24 01:52:26 +01:00
2614d0eb6b Casting typo 2015-04-22 19:42:27 +01:00