2017-05-23 Natalia Portillo * Kreon.cs: Typo correction. 2017-05-23 Natalia Portillo * Enums.cs: * DiscImageChef.Devices.csproj: * Kreon.cs: Added Kreon commands. 2017-05-19 Natalia Portillo * Enums.cs: * Command.cs: * Enums.cs: * Extern.cs: * Enums.cs: * Command.cs: * Enums.cs: * Structs.cs: * Extern.cs: * Extern.cs: * Command.cs: * Commands.cs: * Structs.cs: * Command.cs: * Structs.cs: * Variables.cs: * Destructor.cs: * Constructor.cs: * Cfa.cs: * HP.cs: * MMC.cs: * MCPT.cs: * SMC.cs: * SBC.cs: * SPC.cs: * AssemblyInfo.cs: * NEC.cs: * MMC.cs: * SSC.cs: * Atapi.cs: * Ata48.cs: * Smart.cs: * Ata28.cs: * AtaCHS.cs: * SyQuest.cs: * Plasmon.cs: * Pioneer.cs: * Fujitsu.cs: * Adaptec.cs: * Plextor.cs: * Certance.cs: * HL-DT-ST.cs: * ArchiveCorp.cs: * SecureDigital.cs: Updated copyright string. 2017-05-19 Natalia Portillo * AssemblyInfo.cs: Bumped version to 3.3.99.0. 2017-05-19 Natalia Portillo * DiscImageChef.Devices.csproj: Upped version to 3.3.99.0. Do not use version from solution on library projects. 2016-10-22 Natalia Portillo * Enums.cs: * Command.cs: * Enums.cs: * Extern.cs: * Command.cs: * Structs.cs: * Commands.cs: * Constructor.cs: * MMC.cs: * DiscImageChef.Devices.csproj: * SecureDigital.cs: Add MMC/SecureDigital device support. Not yet used because of a bad implementation of SEND_CSD and SEND_CID commands (TODO). 2016-10-17 Natalia Portillo * Variables.cs: * Constructor.cs: Added PCMCIA support. 2016-10-12 Natalia Portillo * SPC.cs: Added REQUEST SENSE command. * SSC.cs: Added SPACE command. * Enums.cs: Added enumeration for SPACE command codes. 2016-10-10 Natalia Portillo * SPC.cs: Corrected buffer size for MODE SENSE (6) 2016-08-09 Natalia Portillo * DiscImageChef.Devices.csproj: Bumped version to 3.2.99.2. 2016-08-07 Natalia Portillo * DiscImageChef.Devices.csproj: Public beta release 3.2.99.1. 2016-08-01 Natalia Portillo * AssemblyInfo.cs: * DiscImageChef.Devices.csproj: Bumped to version 3.2.1. 2016-08-01 Natalia Portillo * AssemblyInfo.cs: * DiscImageChef.Devices.csproj: Bump to version 3.2.0 2016-07-29 Natalia Portillo * DiscImageChef.Devices.csproj: Bump to version 3.1.0. 2016-07-28 Natalia Portillo * DiscImageChef.Devices.csproj: Code re-styling. 2016-07-28 Natalia Portillo * Command.cs: * Enums.cs: * Command.cs: * Enums.cs: * Enums.cs: * Structs.cs: * Command.cs: * Commands.cs: * Variables.cs: * Destructor.cs: * Constructor.cs: * Cfa.cs: * SSC.cs: * SPC.cs: * SMC.cs: * NEC.cs: * MCPT.cs: * MMC.cs: * Atapi.cs: * Ata48.cs: * Smart.cs: * Ata28.cs: * AtaCHS.cs: * Pioneer.cs: * HL-DT-ST.cs: * Certance.cs: * ArchiveCorp.cs: Refactor and code cleanup. 2016-02-10 Natalia Portillo * Device/AtaCommands/Ata28.cs: Correct SEEK command to not transfer anything. * Device/AtaCommands/AtaCHS.cs: Correct SEEK command to not transfer anything. Added differentiation between READ and READ WITH RETRIES for CHS mode. Changed blocksize to unsigned on READ LONG. * Device/AtaCommands/MCPT.cs: Change MCPT enable and disable commands to use CHS registers. * Linux/Command.cs: Linux kernel granularity for SG_IO is only 1ms, use .NET counters for faster times. Solves "infinity" speeds on SSDs. 2016-02-08 Natalia Portillo * Device/AtaCommands/Cfa.cs: * Device/AtaCommands/MCPT.cs: * Device/AtaCommands/Ata28.cs: * Device/AtaCommands/Ata48.cs: * Device/AtaCommands/Smart.cs: * Device/AtaCommands/AtaCHS.cs: * DiscImageChef.Devices.csproj: Implemented ATA commands. * Device/ScsiCommands/SPC.cs: Make MODE SENSE (6) buffer big enought. * Enums.cs: Added new command found in ACS-3 rev. 6 2016-02-07 Natalia Portillo * Device/AtaCommands/Ata28.cs: * Device/AtaCommands/Ata48.cs: * Device/AtaCommands/Smart.cs: * Device/AtaCommands/Atapi.cs: * DiscImageChef.Devices.csproj: * Device/AtaCommands/AtaCHS.cs: Added ATA categories. 2016-02-07 Natalia Portillo * Device/AtaCommands.cs: * DiscImageChef.Devices.csproj: * Device/AtaCommands/AtaCommands.cs: * Device/AtaCommands/AtapiCommands.cs: Move ATA/ATAPI commands to a separate folder. 2016-02-04 Natalia Portillo * Device/ScsiCommands/SPC.cs: Added MODE SELECT (6) and MODE SELECT (10) commands. 2016-02-03 Natalia Portillo * 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. 2016-01-15 Natalia Portillo * Device/ScsiCommands/SSC.cs: Corrected ReportDensitySupport. 2016-01-14 Natalia Portillo * Device/ScsiCommands/SyQuest.cs: Corrected typo 2016-01-14 Natalia Portillo * DiscImageChef.Devices.csproj: * Device/ScsiCommands/SyQuest.cs: Added SyQuest vendor commands. 2016-01-14 Natalia Portillo * Enums.cs: * DiscImageChef.Devices.csproj: * Device/ScsiCommands/Plasmon.cs: Added Plasmon vendor commands. * Device/ScsiCommands/Pioneer.cs: Added Pioner READ CD-XA vendor command. 2016-01-13 Natalia Portillo * Enums.cs: Added M-Systems vendor commands. 2016-01-13 Natalia Portillo * Enums.cs: * DiscImageChef.Devices.csproj: Implemented Certance, Fujitsu and Hewlett-Packard vendor commands. * Device/ScsiCommands/Certance.cs: Implemented Certance vendor commands. * Device/ScsiCommands/Fujitsu.cs: Implemented Fujitsu vendor commands. * Device/ScsiCommands/HP.cs: Implemented Hewlett-Packard vendor commands. 2016-01-13 Natalia Portillo * Enums.cs: * DiscImageChef.Devices.csproj: * Device/ScsiCommands/ArchiveCorp.cs: Added vendor commands for Archive Corporation Viper 2060S, 2125S and 2150S. * Device/ScsiCommands/Adaptec.cs: Corrected documentation typo. 2016-01-13 Natalia Portillo * Enums.cs: * DiscImageChef.Devices.csproj: * Device/ScsiCommands/Adaptec.cs: Added Adaptec ACB-4000A and ACB-4070 vendor commands. 2016-01-13 Natalia Portillo * Device/ScsiCommands/SMC.cs: * DiscImageChef.Devices.csproj: Added read-only Streaming Commands. * Device/ScsiCommands/SSC.cs: Added READ ATTRIBUTE. * Device/ScsiCommands/MMC.cs: Corrected typo on header * Device/ScsiCommands/SPC.cs: Corrected buffer mislength. Added support for READ ATTRIBUTE. * Enums.cs: Corrected opcode for SCSI WRITE ATTRIBUTE. Added SCSI Streaming and Attribute enumerations. 2016-01-11 Natalia Portillo * Device/ScsiCommands.cs: * Device/ScsiCommands/MMC.cs: * Device/ScsiCommands/NEC.cs: * Device/ScsiCommands/SPC.cs: * Device/ScsiCommands/SBC.cs: * DiscImageChef.Devices.csproj: * Device/ScsiCommands/Plextor.cs: * Device/ScsiCommands/Pioneer.cs: * Device/ScsiCommands/HL-DT-ST.cs: Separated SCSI commands by category/vendor. 2016-01-11 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Added Plextor vendor commands. 2015-12-31 Natalia Portillo * Device/Variables.cs: * Device/Constructor.cs: Added support for FireWire devices. 2015-12-31 Natalia Portillo * Device/Constructor.cs: Added support for USB on Linux. * Device/Variables.cs: Added support for USB detection and metadata. * Linux/Extern.cs: * Linux/Command.cs: Added readlink(3) support, for getting symlink destinations. 2015-12-30 Natalia Portillo * Device/Variables.cs: * Device/Constructor.cs: Added an IsRemovable field. * Device/ScsiCommands.cs: Fixed SCSI READ CAPACITY CDB size. Fixed READ CD-DA MSF method name. Implemented SCSI SEEK (6) and SEEK (10) commands. * Linux/Command.cs: * Windows/Command.cs: Fixed memory leaking on unmanaged heap. 2015-12-26 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Added all known READ, READ LONG, READ CD and READ CD-DA commands. 2015-12-04 Natalia Portillo * Device/ScsiCommands.cs: Finally CD-Text on lead-in is getting decoded correctly... 2015-12-04 Natalia Portillo * Device/ScsiCommands.cs: Solved when CD-TEXT is bigger than 1KiB. 2015-11-24 Natalia Portillo * Device/ScsiCommands.cs: Use a bigger buffer for CD-TEXT. 2015-11-24 Natalia Portillo * 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. 2015-11-23 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Implemented SCSI READ DISC INFORMATION. 2015-11-23 Natalia Portillo * Device/ScsiCommands.cs: Implemented SCSI READ CAPACITY(16). * Enums.cs: Added SCSI SERVICE ACTIONs. 2015-11-23 Natalia Portillo * Device/ScsiCommands.cs: Added missing documentation. 2015-11-23 Natalia Portillo * Device/ScsiCommands.cs: Implemented SCSI READ CAPACITY(10). 2015-11-23 Natalia Portillo * Device/ScsiCommands.cs: Corrected typo. 2015-11-23 Natalia Portillo * Command.cs: * Linux/Command.cs: * Device/Commands.cs: * Device/AtaCommands.cs: * Device/Constructor.cs: * Device/AtapiCommands.cs: * DiscImageChef.Devices.csproj: Moved ATA register definition to a more common place. 2015-11-05 Natalia Portillo * 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. * Device/ScsiCommands.cs: Some devices (smsc usb floppies) return the real command result size disregarding allocation length and generating a buffer overflow. * Enums.cs: Added some vendor commands for Plextor and HL-DT-ST devices. 2015-11-02 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Added READ DISC STRUCTURE. 2015-11-01 Natalia Portillo * Device/ScsiCommands.cs: Correct command size typo 2015-11-01 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Added SCSI GET CONFIGURATION 2015-11-01 Natalia Portillo * Enums.cs: Added feature structures from MMC-1. 2015-11-01 Natalia Portillo * Enums.cs: Added MMC features and profiles enumerations. 2015-10-31 Natalia Portillo * Device/ScsiCommands.cs: Corrected math typo. 2015-10-24 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Implemented SCSI PREVENT ALLOW MEDIUM REMOVAL command. 2015-10-24 Natalia Portillo * Enums.cs: * Device/ScsiCommands.cs: Added SCSI MODE SENSE(6) and MODE SENSE(10) commands. 2015-10-24 Natalia Portillo * Device/ScsiCommands.cs: Added SCSI TEST UNIT READY. 2015-10-24 Natalia Portillo * Enums.cs: Added X68k controller command. 2015-10-24 Natalia Portillo * Enums.cs: Added information from ANSI X3T9.3 No. 185 (SASI) 2015-10-23 Natalia Portillo * Enums.cs: SCSI commands that are IDENTICAL on SASI are now aliased for source code readability. 2015-10-23 Natalia Portillo * Enums.cs: Correct typo and add missing SASI commands. 2015-10-23 Natalia Portillo * Enums.cs: Typo 2015-10-23 Natalia Portillo * Enums.cs: Added information from ECMA-111. 2015-10-19 Natalia Portillo * Device/Variables.cs: Make some variables readonly so they cannot be modified after construction. 2015-10-19 Natalia Portillo * Device/Variables.cs: * Device/Constructor.cs: Having a globally accessed static SCSI Peripheral Device Type allows easier command filtering. 2015-10-19 Natalia Portillo * Device/Constructor.cs: * DiscImageChef.Devices.csproj: Device type, manufacturer, model, revision and serial number are now obtained in device constructor. 2015-10-19 Natalia Portillo * DiscImageChef.Devices.csproj: Upgrade .NET version to 4.0. 2015-10-19 Natalia Portillo * Enums.cs: * Device/Variables.cs: * Device/Constructor.cs: Added some device static values to variables. 2015-10-19 Natalia Portillo * Enums.cs: * Structs.cs: * Command.cs: * Linux/Command.cs: * Device/Commands.cs: * Device/AtaCommands.cs: * Device/ScsiCommands.cs: * Device/AtapiCommands.cs: Moved devices enums and structs out of classes. 2015-10-19 Natalia Portillo * Device/ScsiCommands.cs: Implemented SCSI VPDs 0x00 to 0x80. 2015-10-18 Natalia Portillo * Device/AtaCommands.cs: * Device/ScsiCommands.cs: * Device/AtapiCommands.cs: * DiscImageChef.Devices.csproj: Added specific console handling for standard, verbose, debug and error outputs. 2015-10-17 Natalia Portillo * Enums.cs: Added information from T10/536 rev. 4a (ZBC) 2015-10-17 Natalia Portillo * Device/AtaCommands.cs: * Device/AtapiCommands.cs: Corrected typos that resulted in device reset :p 2015-10-16 Natalia Portillo * Enums.cs: Added command clash in XML documentation 2015-10-15 Natalia Portillo * Device/AtaCommands.cs: * Device/ScsiCommands.cs: * Device/AtapiCommands.cs: Added duration debug printfs. * Enums.cs: Corrected device<->host direction. * Linux/Command.cs: Corrected device<->host direction. Changed to workaround how ATA Pass-Through is really implemented in Linux. 2015-10-14 Natalia Portillo * Device/Commands.cs: * Device/AtaCommands.cs: * Device/AtapiCommands.cs: Added XML documentation. 2015-10-14 Natalia Portillo * Device/AtaCommands.cs: Added ATA IDENTIFY DEVICE command. * Device/AtapiCommands.cs: Added ATAPI IDENTIFY PACKET DEVICE command. * Structs.cs: * Device/ScsiCommands.cs: Added header description. * DiscImageChef.Devices.csproj: Added ATA IDENTIFY DEVICE command. Added ATAPI IDENTIFY PACKET DEVICE command. 2015-10-14 Natalia Portillo * Structs.cs: * DiscImageChef.Devices.csproj: Added structs with ATA registers. * Command.cs: * Device/Commands.cs: Added ATA commands. * Enums.cs: Added SCSI's ATA Command Pass-Through enumerations. * Linux/Command.cs: Added ATA commands using libATA's SATL. 2015-10-14 Natalia Portillo * Linux/Enums.cs: * Linux/Extern.cs: * Linux/Structs.cs: Since libata, ATA/ATAPI commands should be sent using libata's SCSI/ATA Translation Layer, so remove HDIO ioctls. 2015-10-13 Natalia Portillo * 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. * Device/Variables.cs: * Device/ScsiCommands.cs: Add OS error detection and handling. * DiscImageChef.Devices.csproj: Downgraded .NET version. 2015-10-12 Natalia Portillo * Enums.cs: * Command.cs: * Linux/Command.cs: * Device/Commands.cs: * Windows/Command.cs: * Device/Variables.cs: * Device/Destructor.cs: * Device/Constructor.cs: * Device/ScsiCommands.cs: Added XML documentation. 2015-10-12 Natalia Portillo * Enums.cs: * Command.cs: * Device/Commands.cs: * Device/Variables.cs: * Device/Destructor.cs: * Device/Constructor.cs: * DiscImageChef.Devices.csproj: Added device class. * Device/ScsiCommands.cs: Added device class. Added SCSI INQUIRY. 2015-10-12 Natalia Portillo * Enums.cs: * Command.cs: * Linux/Enums.cs: * Linux/Extern.cs: * Linux/Command.cs: * Linux/Structs.cs: * Windows/Enums.cs: * Windows/Extern.cs: * Windows/Command.cs: * Windows/Structs.cs: Added standard header. 2015-10-12 Natalia Portillo * Linux/Command.cs: * Windows/Command.cs: * DiscImageChef.Devices.csproj: Added per-platform send SCSI method. * Linux/Extern.cs: * Windows/Extern.cs: Enhanced externs. * Linux/Structs.cs: Typo. 2015-10-12 Natalia Portillo * Command.cs: Add skeleton for send SCSI command method. * Linux/Command.cs: * Windows/Command.cs: Added per-platform send SCSI command method. * DiscImageChef.Devices.csproj: Added per-platform send SCSI command method. Add skeleton for send SCSI command method. * Linux/Extern.cs: * Windows/Extern.cs: Enhanced externs. * Linux/Structs.cs: Typo. 2015-10-07 Natalia Portillo * Linux/Enums.cs: * Linux/Extern.cs: * Linux/Structs.cs: * Windows/Enums.cs: * Windows/Extern.cs: * Windows/Structs.cs: Added ATA IOCTLs. 2015-10-06 Natalia Portillo * Linux/Enums.cs: * Linux/Extern.cs: * Linux/Structs.cs: Filled Linux enums. * Windows/Enums.cs: Typo 2015-10-06 Natalia Portillo * Windows/Extern.cs: * Windows/Structs.cs: Struct de-class 2015-10-06 Natalia Portillo * Windows/Extern.cs: Typo 2015-10-06 Natalia Portillo * Windows/Enums.cs: * Windows/Extern.cs: * Windows/Structs.cs: Completed Windows enumerations. 2015-10-06 Natalia Portillo * Enums.cs: Added ATA/ATAPI commands. 2015-10-06 Natalia Portillo * Enums.cs: Added SCSI commands. 2015-10-05 Natalia Portillo * Enums.cs: Added SASI commands. 2015-10-05 Natalia Portillo * Enums.cs: * Linux/Enums.cs: * Linux/Extern.cs: * Linux/Structs.cs: * Windows/Enums.cs: * Windows/Extern.cs: * Windows/Structs.cs: * Properties/AssemblyInfo.cs: * DiscImageChef.Devices.csproj: Added IOCTL skeletons.