Commit Graph

120 Commits

Author SHA1 Message Date
68f9968a11 * DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs:
* DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj:
	  Added method to calculate MediaType from SCSI parameters
	  (mode, density, medium type, device type, etc).

	* DiscImageChef.Metadata/DeviceReport.cs:
	  Added command to guess drive and media parameters and output
	  an XML report of them.

	* DiscImageChef/Commands/DeviceReport.cs:
	* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj:
	  Added command to guess drive and media parameters and output
	  an XML report of them.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Added preliminary command to dump media. Only SCSI for now.
	  CDs and tapes are not supported. Errors are blalanty
	  ignored. Options are incomplete. Not yet usable.

	* DiscImageChef/Core/Checksum.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Moved checksum generation to a separate class.

	* CICMMetadata:
	  Added support for ADIP.

	* DiscImageChef.CommonTypes/MediaType.cs:
	  Added parameters of UDO media.
	Moved DataPlay outside of Iomega, as it's not from that
	  manufacturer.
	Added missing Exatape media and corrected 160m XL one.
	Added SyJet media.
	Added all ECMA defined magneto-optical (sectors calculated
	  from specifications, unchecked).
	Added PD media.
	Added Imation 320Gb RDX.
	Added generic USB flash drives.

	* DiscImageChef.Decoders/SCSI/Enums.cs:
	  Make enumerations public.

	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	* DiscImageChef.Devices/Device/Constructor.cs:
	  Trim space padded strings on SCSI INQUIRY.

	* DiscImageChef.Devices/Device/ScsiCommands/MMC.cs:
	  Added PREVENT ALLOW MEDIUM REMOVAL.
	Added START STOP UNIT.

	* DiscImageChef.Devices/Device/ScsiCommands/NEC.cs:
	  Rename NEC methods.

	* DiscImageChef.Devices/Device/ScsiCommands/Pioneer.cs:
	  Corrected Pioneer transfer length calculation.

	* DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs:
	  Renamed Plextor methods.

	* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
	  Renamed SSC PREVENT ALLOW MEDIUM REMOVAL to uncollide with
	  MMC same name but different command.

	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Set platform target to x86 (does it really matter?).

	* DiscImageChef.Devices/Linux/Command.cs:
	  Reduced allocation for readlink() to current kernel
	  MAX_PATH.

	* DiscImageChef.Devices/Linux/Enums.cs:
	  Modified Linux ioctl to 32-bit. Works on 64-bit also. Solves
	  commands not working on 32-bit environments.

	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Changed ECMA-184 and ECMA-183 enums.

	* DiscImageChef.Metadata/Dimensions.cs:
	  Added all ECMA defined magneto-opticals.
	Added PD media.
	Added 320Gb RDX.
	Corrected Exatape 160m XL.
	Added Exatape 22m and 28m.

	* DiscImageChef.Metadata/MediaType.cs:
	  Added 356mm magneto-optical media.
	Changed ECMA-184 and ECMA-183 enums.
	Added USB generic flash drive.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Corrected SCSI INQUIRY naming.
	Corrected SCSI MODE SENSE (6) parameters.
	Reduced SCSI MODE SENSE timeout, some devices just get stuck
	  with unsupported MODE SENSE commanda and must be left to
	  timeout.
	Changed FUJITSU vendor string comparison.

	* DiscImageChef/Commands/MediaInfo.cs:
	  Added method to calculate MediaType from SCSI parameters
	  (mode, density, medium type, device type, etc).
	Changed some error WriteLine() to debug ones. Too much
	  verbosity.
	Added DVD media type decoding from PFI.
	Found a drive that dumps ADIP, enabling it again (not
	  decoded).

	* DiscImageChef/Commands/MediaScan.cs:
	  Added option to generate ImgBurn compatible log to
	  media-scan command.

	* DiscImageChef/DiscImageChef.csproj:
	  Moved checksum generation to a separate class.
	Added command to guess drive and media parameters and output
	  an XML report of them.
	Added preliminary command to dump media. Only SCSI for now.
	  CDs and tapes are not supported. Errors are blalanty
	  ignored. Options are incomplete. Not yet usable.

	* DiscImageChef/Main.cs:
	  Added command to guess drive and media parameters and output
	  an XML report of them.
	Added preliminary command to dump media. Only SCSI for now.
	  CDs and tapes are not supported. Errors are blalanty
	  ignored. Options are incomplete. Not yet usable.

	* DiscImageChef/Options.cs:
	  Added command to guess drive and media parameters and output
	  an XML report of them.
	Added preliminary command to dump media. Only SCSI for now.
	  CDs and tapes are not supported. Errors are blalanty
	  ignored. Options are incomplete. Not yet usable.
	Added option to generate ImgBurn compatible log to media-scan
	  command.
2016-01-31 08:05:56 +00:00
628d4e721c Implement decoding Fujitsu Verify Control Page. 2016-01-15 22:42:33 +00:00
0fa52d527c Added all known vendor density and medium type codes. 2016-01-15 21:14:36 +00:00
2056a14c1d Moved density and medium type codes to a separate file. 2016-01-15 07:13:11 +00:00
d8592a081c * DiscImageChef/Commands/MediaInfo.cs:
* DiscImageChef/Commands/DeviceInfo.cs:
	  Added support for SCSI sequential devices.

	* DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs:
	* DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added decoders for SCSI SSC READ BLOCK LIMITS and REPORT
	  DENSITY SUPPORT.

	* DiscImageChef.Devices/Device/ScsiCommands/SSC.cs:
	  Corrected ReportDensitySupport.

	* DiscImageChef.Decoders/SCSI/Modes.cs:
	  Corrected mode size.
2016-01-15 07:00:43 +00:00
a7d87e8b1a * DiscImageChef/Main.cs:
* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/MediaScan.cs:
	  Added media-scan command.

	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	  Fixes decoding for devices that follow old 5-byte SCSI
	  INQUIRY format.

	* DiscImageChef.Decoders/SCSI/Sense.cs:
	  Fixes printing of sense block missing a newline.

	* DiscImageChef.Devices/Device/Variables.cs:
	* DiscImageChef.Devices/Device/Constructor.cs:
	  Added an IsRemovable field.

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Fixed SCSI READ CAPACITY CDB size.
	Fixed READ CD-DA MSF method name.
	Implemented SCSI SEEK (6) and SEEK (10) commands.

	* DiscImageChef.Devices/Linux/Command.cs:
	* DiscImageChef.Devices/Windows/Command.cs:
	  Fixed memory leaking on unmanaged heap.

	* DiscImageChef.Helpers/StringHandlers.cs:
	  Fixed string conversion when input byte array is null.

	* DiscImageChef/Commands/MediaInfo.cs:
	  Check for inserted medium only on removable media devices.
2015-12-30 11:45:27 +00:00
2ea31ee0de Checked more information, GCK is Grupo Condor S.L. from Spain. 2015-12-14 09:25:52 +00:00
e6c36ea68c * DiscImageChef.Decoders/CD/ATIP.cs:
Added manufacturer code for a GCK disc I just came upon.

	* DiscImageChef.Metadata/DiskType.cs:
	  Corrected miswriting of CDXA, CDRW and CDROM.

	* DiscImageChef/Commands/MediaInfo.cs:
	  Check ATIP even if no TOC, as blank discs do always have
	  ATIP (but no TOC or PMA).
2015-12-13 07:43:14 +00:00
550f599b1c * DiscImageChef.Decoders/SCSI/Sense.cs:
Additional length may be bigger than provided buffer.

	* DiscImageChef/Commands/MediaInfo.cs:
	  Implement detection of medium not present and waiting for
	  drive to become ready.
2015-12-04 08:12:20 +00:00
1b4ee69beb * DiscImageChef.Decoders/DVD/PFI.cs:
* DiscImageChef.Decoders/DVD/Enums.cs:
	  Added HD DVD types.

	* DiscImageChef.Decoders/SCSI/Sense.cs:
	  Solved SCSI sense decoding.
2015-12-04 07:52:06 +00:00
18fddf7d28 * DiscImageChef.Decoders/CD/ATIP.cs:
Added disc type and manufacturer lookup from ATIP.

	* DiscImageChef.Decoders/CD/PMA.cs:
	  Implement full PMA decoding.

	* DiscImageChef.Decoders/CD/FullTOC.cs:
	  Implement decoding disc ID.

	* DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs:
	  Disc ID is 24-bit.

	* DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs:
	  CD-TEXT can be empty without being null, do not decode an
	  empty one.
2015-12-04 07:26:03 +00:00
575dde7fb7 Finally CD-Text on lead-in is getting decoded correctly... 2015-12-04 03:34:44 +00:00
34670e25d6 * DiscImageChef.Decoders/CD/FullTOC.cs:
Enhanced prettify to be more verbose.

	* DiscImageChef.Decoders/CD/TOC.cs:
	  Corrected typo.
2015-12-04 01:57:56 +00:00
b536c94299 * DiscImageChef.Decoders/CD/Enums.cs:
* DiscImageChef/Commands/MediaInfo.cs:
	* DiscImageChef.CommonTypes/DiskType.cs:
	  Added support for CD-V.

	* DiscImageChef.Decoders/CD/TOC.cs:
	* DiscImageChef.Decoders/CD/FullTOC.cs:
	  Added support for CD-V.
	Added support for CD-DA.
2015-12-03 09:31:06 +00:00
1b4c9a1da8 Added support for Nintendo GOD and WOD. 2015-12-03 08:11:46 +00:00
dd7def8833 Added decoding of XGD2 and XGD3 DMI. 2015-12-03 08:02:12 +00:00
9937d9e45c Use global enums for DVD structure decoding. 2015-12-02 07:10:52 +00:00
c93168ee31 Implemented decoding DVD-RAM Spare Area Information. 2015-12-02 06:49:36 +00:00
7d1be951c4 Implemented decoding DVD-RAM medium status. 2015-12-02 06:34:12 +00:00
c5bff1e51f Added DDS decoding. 2015-12-02 05:56:50 +00:00
5489f43141 * DiscImageChef/Commands/MediaInfo.cs:
DCB was incorrectly being asked to HD DVD instead of DVD+.

	* DiscImageChef.Decoders/DVD/CSS&CPRM.cs:
	  Must return value.
2015-12-01 04:25:01 +00:00
43375c2948 Added decoding Lead-In CMI for DVD. 2015-12-01 04:23:08 +00:00
7d692e0f8e Separated blu-ray structure decoders. 2015-12-01 03:23:31 +00:00
c7f17a8f0b Added PFI decoding. 2015-12-01 02:51:52 +00:00
2a3dffd783 Solved repeated field names. 2015-11-27 10:32:54 +00:00
2ea4dabe28 Added PFI information from all ECMA standards. 2015-11-27 10:17:26 +00:00
a434db22bd 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
125f926d1d Added decoding and prettifying READ DISC INFORMATION. 2015-11-24 01:45:31 +00:00
06dd7c2b6e * 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
3bd7427257 * 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
57644ecb39 * 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
a5ce129a2f Added information from SPC-5. 2015-11-23 04:08:09 +00:00
74f80685d8 Added decoding SCSI SENSE as defined in SCSI-2. 2015-11-23 00:30:01 +00:00
b3bbc5dbe5 * 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
2f6eaa2393 Added READ DISC STRUCTURE. 2015-11-02 19:12:19 +00:00
8bb403524b * 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
e0e7d9f25a * 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
09419b1d02 * DiscImageChef.Decoders/SCSI/MMC/Features.cs:
Added code to separate features and the feature header.

	* DiscImageChef.Devices/Enums.cs:
	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Added SCSI GET CONFIGURATION
2015-11-01 20:06:24 +00:00
32863ca922 Implemented prettifying all known features. 2015-11-01 19:36:24 +00:00
59193699bf Implemented decoding all known features. 2015-11-01 06:49:18 +00:00
1cff837bca Added structures from MMC-6. 2015-11-01 04:20:45 +00:00
9510fe4895 Added structures from MMC-5. 2015-11-01 04:02:09 +00:00
2a9688a99f Added feature structures from MMC-4. 2015-11-01 03:30:53 +00:00
e01ca9ef41 Added features structures from MMC-3. 2015-11-01 03:07:13 +00:00
10873fb2e8 Added feature structures from MMC-1. 2015-11-01 02:16:29 +00:00
7a177f95bf Solved some bugs found testing on usb flash sticks. 2015-10-31 21:32:10 +00:00
c1772cd8a5 * 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
819ea99717 Implemented decoding MODE SENSE. 2015-10-31 19:41:58 +00:00
04bc193680 Added LongLBA MODE SENSE(10) support. 2015-10-31 18:50:15 +00:00
da4ed21dcc Added information from MMC-3. 2015-10-31 06:29:39 +00:00