Commit Graph

145 Commits

Author SHA1 Message Date
00dacbdf69 Added Certance vendor EVPD pages. 2016-10-13 20:28:08 +01:00
33a43fff9a Added Quantum vendor INQUIRY values and EVPD page C0h. 2016-10-13 19:15:52 +01:00
edcc487bf5 Added EVPD page 89h, SCSI to ATA translation layer 2016-10-13 18:31:05 +01:00
5459d5eff6 Updated page 85h to SPC-5. 2016-10-13 07:02:33 +01:00
734c53fc2b Add EVPD page 85h, management network addresses. 2016-10-13 06:59:56 +01:00
44ad09d431 Added EVPD page 81h, implemented operating definition page. 2016-10-13 06:18:12 +01:00
6e65915ced Updated EVPD Page 83h to SPC-5. 2016-10-13 05:49:11 +01:00
cf3dc536f1 Added SCSI EVPD page 83h. 2016-10-13 04:55:00 +01:00
b4333e814b Implemented SCSI EVPD 82h 2016-10-13 04:01:39 +01:00
919175c69f Added support for SCSI MODE PAGEs 11h, 12h, 13h and 14h
(medium partitions)
2016-10-13 03:15:56 +01:00
65710e654f * DiscImageChef.Decoders/SCSI/Modes.cs:
Added DDS-2.
	Corrected casting of density enumeration.

	* DiscImageChef.Decoders/SCSI/Types.cs:
	  Added DDS-2

	* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
	  Corrected buffer size for MODE SENSE (6)

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Removed some spurious brackets.
2016-10-10 23:58:35 +01:00
621e04b9e8 * DiscImageChef.Filesystems/FAT.cs:
Add sanity check for BPB.

	* DiscImageChef.Filesystems/AppleHFS.cs:
	  Correct calling of Read2048SectorAs512()

	* DiscImageChef.Decoders/CD/Sector.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added CD sector descrambling.
2016-10-08 04:29:04 +01:00
c81b91f084 * DiscImageChef.Decoders/Floppy/Apple2.cs:
Adds support for marshaling a whole disk, tracks and sectors
	  as well as decoding sectors in 5and3 and 6and2 GCRs.

	* DiscImageChef.Decoders/Floppy/AppleSony.cs:
	  Adds support for marshaling a whole disk, tracks and sectors
	  as well as decoding GCR sectors.

	* DiscImageChef.DiscImages/AppleNIB.cs:
	* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
	  Adds support for Apple nibble disk images.
2016-10-07 00:43:12 +01:00
777ad10a08 * DiscImageChef.Partitions/Human68k.cs:
* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
	  Added Human68k partition table.

	* DiscImageChef.Partitions/RioKarma.cs:
	  Corrected typo.

	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Detect X68000 SASI hard disks that use 256 bytes/sector.
	Correct size of ECMA-154 magnetoptical.

	* DiscImageChef.Partitions/PC98.cs:
	  Correct handling of partition name, do not directly marshal
	  as it may crash.
	Prevent false positives checking for sanity and partition
	  type, so this limits it to FreeBSD right now.

	* DiscImageChef.Partitions/Acorn.cs:
	  Do not try to read past device.

	* DiscImageChef.Helpers/BigEndianMarshal.cs:
	* DiscImageChef.Helpers/BigEndianStructure.cs:
	* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
	  Reworked big endian marshal. Does not traverse nested
	  structures.

	* DiscImageChef.Partitions/SGI.cs:
	  Corrected big endian marshaling, manually traversing nested
	  structures.

	* DiscImageChef.Decoders/LisaTag.cs:
	  Removed temporal variable.

	* DiscImageChef.Partitions/Sun.cs:
	  Sun insists all devices must be 512 bytes/sector. Really.
	  Even CDs. But this allows bigger ones.
2016-08-22 00:49:48 +01:00
ad53e8e459 Separate Lisa tag decoding from Lisa filesystem and added
Priam tags.
2016-08-21 19:23:58 +01:00
b514ebeddb * DiscImageChef.Decoders/CD/ATIP.cs:
Make ATIP manufacturer resolver a public method.

	* DiscImageChef.Decoders/SCSI/MMC/Features.cs:
	  Added HDBurn profiles.

	* DiscImageChef.Decoders/SCSI/Modes.cs:
	  Corrected typo.

	* DiscImageChef.DiscImages/BLU.cs:
	* DiscImageChef.DiscImages/GDI.cs:
	* DiscImageChef.DiscImages/VHD.cs:
	* DiscImageChef.DiscImages/Nero.cs:
	* DiscImageChef/Commands/Compare.cs:
	* DiscImageChef.DiscImages/CopyQM.cs:
	* DiscImageChef.DiscImages/CDRWin.cs:
	* DiscImageChef.DiscImages/CDRDAO.cs:
	* DiscImageChef.DiscImages/Apple2MG.cs:
	* DiscImageChef.DiscImages/TeleDisk.cs:
	* DiscImageChef.DiscImages/ImageInfo.cs:
	* DiscImageChef.DiscImages/Alcohol120.cs:
	* DiscImageChef.DiscImages/DiskCopy42.cs:
	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Added field for drive firmware revision.

	* DiscImageChef.DiscImages/BlindWrite4.cs:
	  Added field for drive firmware revision.
	Change subchannel informative exception.
	Change application name and version.

	* DiscImageChef.DiscImages/ImagePlugin.cs:
	  Added subchannel types for Q only.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  If drive image contains information about the dumping drive,
	  use it.
	Added subchannel types for Q only.
2016-08-18 00:05:24 +01:00
1c9a55548e Bumped version to 3.2.99.2. 2016-08-09 15:34:26 +01:00
2395dfce9f Public beta release 3.2.99.1. 2016-08-07 04:38:07 +01:00
2c563f5271 Bumped to version 3.2.1. 2016-08-01 19:07:04 +01:00
42d1b663f1 Bump to version 3.2.0 2016-08-01 19:01:21 +01:00
1152a034db Bump to version 3.1.0. 2016-07-29 02:25:29 +01:00
f9ac2e4733 Code re-styling. 2016-07-28 23:08:22 +01:00
1ad3366dae Refactor and code cleanup. 2016-07-28 22:25:26 +01:00
59997adae8 * 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
c61712bb37 * 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
db5c20685c * commandline:
* DiscImageChef.Settings/Settings.cs:
	* DiscImageChef.Settings/docs/README.txt:
	* DiscImageChef.Settings/packages.config:
	* DiscImageChef.Settings/docs/LICENSE.txt:
	* DiscImageChef.Settings/docs/ChangeLog.txt:
	* DiscImageChef.Settings/docs/mono/index.xml:
	* DiscImageChef.Settings/docs/html/index.html:
	* DiscImageChef.Settings/Properties/AssemblyInfo.cs:
	* DiscImageChef.Settings/DiscImageChef.Settings.csproj:
	* DiscImageChef.Settings/docs/mono/ns-Claunia.PropertyList.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/UID.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/UID.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSSet.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/index.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSSet.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSDate.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSData.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSDate.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSData.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSArray.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSNumber.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSString.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSObject.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSArray.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSNumber.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSString.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSObject.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/NSDictionary.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/NSDictionary.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/PropertyListParser.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/PropertyListParser.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/XmlPropertyListParser.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/XmlPropertyListParser.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/ASCIIPropertyListParser.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/ASCIIPropertyListParser.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/BinaryPropertyListParser.xml:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/BinaryPropertyListWriter.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/BinaryPropertyListWriter.html:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/BinaryPropertyListParser.html:
	* DiscImageChef.Settings/docs/mono/Claunia.PropertyList/PropertyListFormatException.xml:
	* DiscImageChef.Settings/docs/html/Claunia.PropertyList/PropertyListFormatException.html:
	  Added supports for settings

	* DiscImageChef/Commands/Configure.cs:
	  Added support for settings.

	* DiscImageChef/Core/Statistics.cs:
	* DiscImageChef/Commands/Verify.cs:
	* DiscImageChef/Commands/Entropy.cs:
	* DiscImageChef/Commands/Formats.cs:
	* DiscImageChef/Commands/PrintHex.cs:
	* DiscImageChef/Commands/MediaInfo.cs:
	* DiscImageChef/Commands/Statistics.cs:
	  Added statistics.

	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	  Corrected bug on inquiry decoding.

	* DiscImageChef.Decoders/SCSI/Modes.cs:
	  Corrected bug on decoding mode page 2Ah without write
	  performance descriptors.
	Corrected bug when there is a vendor page 0 in mode sense
	  decoding.

	* DiscImageChef.Devices/Device/Constructor.cs:
	  Corrected detecting USB or FireWire attached CD/DVD/BD and
	  tape drives.
	Try ATA identify on USB or FireWire that don't have SCSI
	  INQUIRY.

	* DiscImageChef.DiscImages/CDRWin.cs:
	  Corrected CD-ROM XA vs CD-ROM detection.

	* DiscImageChef.Partitions/AppleMap.cs:
	  Corrected big endian working.
	Added debug output.

	* DiscImageChef.sln:
	  Added supports for settings.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef/Commands/Compare.cs:
	* DiscImageChef/Commands/Checksum.cs:
	* DiscImageChef/Commands/Benchmark.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Added statistics.

	* DiscImageChef/Commands/DeviceReport.cs:
	  Added statistics.
	Correct handling empty inquiry string fields.
	Suppose it is not removable, til proved wrong.
	Corrected MODE SENSE (6/10) detection and calling order.
	If device is MMC type but reports neither mode page 2Ah
	  neither GET CONFIGURATION, try all CDs (old drives work like
	  that).
	Try reading Lead-In and Lead-Out in Audio CD using Audio READ
	  CD commands.
	Corrected READ LONG information handling, some drives return
	  2s-complement in 32 bit. Upper 16 bits are ignored.
	Added support for DVD raw block (37856 bytes).
	Check READ LONG up to 36 times the cooked block size. That
	  should be enough to detect huge blocked media (like DVD and
	  BD) without taking ages.
	If READ LONG size had to be bruteforced, and debug is
	  activated, save the result.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Added statistics.
	Corrected READ LONG information handling, some drives return
	  2s-complement in 32 bit. Upper 16 bits are ignored.
	Start trying with 64 blocks at a time. Some drives report to
	  be able to read 255 at a time, but they really don't, they
	  take a lot longer to read.

	* DiscImageChef/Commands/MediaScan.cs:
	  Added statistics.
	Start trying with 64 blocks at a time. Some drives report to
	  be able to read 255 at a time, but they really don't, they
	  take a lot longer to read.

	* DiscImageChef/DiscImageChef.csproj:
	  Added support for settings.
	Added statistics.

	* DiscImageChef/Main.cs:
	* DiscImageChef/Options.cs:
	  Added support for settings.
	Added statistics.
2016-02-03 18:58:11 +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