Commit Graph

68 Commits

Author SHA1 Message Date
e45a783fa4 Added M-Systems vendor commands. 2016-01-13 21:14:23 +00:00
fcf4c56f0e * DiscImageChef.Devices/Enums.cs:
* DiscImageChef.Helpers/ArrayFill.cs:
	* DiscImageChef.Helpers/ArrayIsEmpty.cs:
	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
	  Implemented Certance, Fujitsu and Hewlett-Packard vendor
	  commands.

	* DiscImageChef.Devices/Device/ScsiCommands/Certance.cs:
	  Implemented Certance vendor commands.

	* DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs:
	  Implemented Fujitsu vendor commands.

	* DiscImageChef.Devices/Device/ScsiCommands/HP.cs:
	  Implemented Hewlett-Packard vendor commands.
2016-01-13 19:59:44 +00:00
6d2b9089eb * DiscImageChef.Devices/Enums.cs:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs:
	  Added vendor commands for Archive Corporation Viper 2060S,
	  2125S and 2150S.

	* DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs:
	  Corrected documentation typo.
2016-01-13 05:57:35 +00:00
9389d4bb3e Added Adaptec ACB-4000A and ACB-4070 vendor commands. 2016-01-13 05:04:45 +00:00
3b318a56e3 * DiscImageChef.Devices/Device/ScsiCommands/SMC.cs:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added read-only Streaming Commands.

	* DiscImageChef.Devices/Device/ScsiCommands/SSC.cs:
	  Added READ ATTRIBUTE.

	* DiscImageChef.Devices/Device/ScsiCommands/MMC.cs:
	  Corrected typo on header

	* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
	  Corrected buffer mislength.
	Added support for READ ATTRIBUTE.

	* DiscImageChef.Devices/Enums.cs:
	  Corrected opcode for SCSI WRITE ATTRIBUTE.
	Added SCSI Streaming and Attribute enumerations.
2016-01-13 03:47:25 +00:00
8c24edf3dd Separated SCSI commands by category/vendor. 2016-01-11 19:40:58 +00:00
c98d64e544 * DiscImageChef.Devices/Enums.cs:
* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Added Plextor vendor commands.

	* DiscImageChef/Plugins.cs:
	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef/Commands/Compare.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Do not call system console directly.
2016-01-11 19:24:17 +00:00
f9dc4f31a1 Added support for FireWire devices. 2015-12-31 16:33:20 +00:00
eac5aae66c * DiscImageChef.Devices/Device/Constructor.cs:
Added support for USB on Linux.

	* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef.Devices/Device/Variables.cs:
	  Added support for USB detection and metadata.

	* DiscImageChef.Devices/Linux/Extern.cs:
	* DiscImageChef.Devices/Linux/Command.cs:
	  Added readlink(3) support, for getting symlink destinations.
2015-12-31 16:12:22 +00:00
da29ec63eb * 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
6928fc1363 Added all known READ, READ LONG, READ CD and READ CD-DA
commands.
2015-12-26 19:02:31 +00:00
b21a807ae1 Finally CD-Text on lead-in is getting decoded correctly... 2015-12-04 03:34:44 +00:00
2a1f2a9738 Solved when CD-TEXT is bigger than 1KiB. 2015-12-04 02:14:28 +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
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
d0a35ff00e Implemented SCSI READ DISC INFORMATION. 2015-11-23 17:10:59 +00:00
eb98bf28b6 * DiscImageChef.Devices/Device/ScsiCommands.cs:
Implemented SCSI READ CAPACITY(16).

	* DiscImageChef.Devices/Enums.cs:
	  Added SCSI SERVICE ACTIONs.
2015-11-23 05:52:45 +00:00
e7560c761c Added missing documentation. 2015-11-23 05:22:52 +00:00
86648c5132 Implemented SCSI READ CAPACITY(10). 2015-11-23 05:19:43 +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
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
ca8a152d8f Added READ DISC STRUCTURE. 2015-11-02 19:12:19 +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
dfb15d0e4f * 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
dac9e415d4 Added feature structures from MMC-1. 2015-11-01 02:16:29 +00:00
b3361d5554 Added MMC features and profiles enumerations. 2015-11-01 00:32:16 +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
4ecec3373a Implemented SCSI PREVENT ALLOW MEDIUM REMOVAL command. 2015-10-24 04:46:11 +01:00
589452272c Added SCSI MODE SENSE(6) and MODE SENSE(10) commands. 2015-10-24 04:13:55 +01:00
67dc2df4c1 Added SCSI TEST UNIT READY. 2015-10-24 03:07:17 +01:00
a53603ce6a * README.md:
Added AppVeyor badge.

	* DiscImageChef.Devices/Enums.cs:
	  Added X68k controller command.
2015-10-24 00:48:32 +01:00
f8a3f770a3 Added information from ANSI X3T9.3 No. 185 (SASI) 2015-10-24 00:03:54 +01:00
94157df03e SCSI commands that are IDENTICAL on SASI are now aliased for
source code readability.
2015-10-23 21:51:25 +01:00
1eed71488a Correct typo and add missing SASI commands. 2015-10-23 21:39:42 +01:00
40309ae712 Typo 2015-10-23 21:02:38 +01:00
0d146b7f42 Added information from ECMA-111. 2015-10-23 20:58:13 +01:00
8a4c93c7f4 Make some variables readonly so they cannot be modified after
construction.
2015-10-19 05:21:35 +01:00
6a2cb7cf50 Having a globally accessed static SCSI Peripheral Device Type
allows easier command filtering.
2015-10-19 05:20:42 +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
c8fb4e0123 Upgrade .NET version to 4.0. 2015-10-19 04:48:17 +01:00
4cf5e18059 Added some device static values to variables. 2015-10-19 04:46:09 +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
4f407e3d15 Added specific console handling for standard, verbose, debug
and error outputs.
2015-10-18 22:04:03 +01:00
dfcd7301c5 Added information from T10/536 rev. 4a (ZBC) 2015-10-17 17:22:30 +01:00
55a30e509a Corrected typos that resulted in device reset :p 2015-10-17 02:43:03 +01:00
6e7ed8e743 * DiscImageChef.Decoders/ATA.cs:
* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added structure for ATA/ATAPI IDENTIFY [PACKET] DEVICE
	  response

	* DiscImageChef.Devices/Enums.cs:
	  Added command clash in XML documentation
2015-10-16 01:55:55 +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
921d27375e Added XML documentation. 2015-10-14 03:24:25 +01:00