* 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.
Added Acorn Archimedes and Commodore 15xx floppies.
* DiscImageChef.DiscImages/ImagePlugin.cs:
Added DiskTag for PCMCIA CIS and SecureDigital/MMC CID, CSD
and extended CSD.
* DiscImageChef.Metadata/DiskType.cs:
Added known floppies and magneto-opticals.
* DiscImageChef/Commands/CreateSidecar.cs:
Implemented most support for block media sidecars.
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.
* README.md:
* DiscImageChef.DiscImages/CDRDAO.cs:
* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
Added support for cdrdao images. Solves #53
* DiscImageChef.DiscImages/CDRWin.cs:
Implemented FLAGS field support and
quadraphonic/broadcasting flag.
Return CD track flags for any track type.
* DiscImageChef.Filesystems/ISO9660.cs:
Filter null characters from Volume Descriptors.
If Joliet descriptor is null, or ISO descriptor is longer, use
ISO descriptor for XML metadata.
* DiscImageChef/Commands/CreateSidecar.cs:
If a filesystem plugin crashes, do not abort.
* DiscImageChef/DetectImageFormat.cs:
If an image plugin crashes, keep trying the others.
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).
* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj:
Added method to convert DiskType to disk type and subtype
strings.
* DiscImageChef.DiscImages/CDRWin.cs:
Added extra track information.
Corrected ReadLong for CD+G, subchannel should never come
along main channel on reading.
* DiscImageChef.DiscImages/ImagePlugin.cs:
Added extra track information.
Added audio media type.
* DiscImageChef.DiscImages/Nero.cs:
Added extra track information.
* DiscImageChef.DiscImages/ZZZRawImage.cs:
Added support for ReadLong and a single track and session
for optical discs.
* DiscImageChef.Filesystems/FFS.cs:
* DiscImageChef.Filesystems/BFS.cs:
* DiscImageChef.Filesystems/ODS.cs:
* DiscImageChef.Filesystems/SysV.cs:
* DiscImageChef.Filesystems/extFS.cs:
* DiscImageChef.Filesystems/ProDOS.cs:
* DiscImageChef.Filesystems/ext2FS.cs:
* DiscImageChef.Filesystems/LisaFS.cs:
* DiscImageChef.Filesystems/MinixFS.cs:
* DiscImageChef.Filesystems/UNIXBFS.cs:
* DiscImageChef.Filesystems/AppleMFS.cs:
* DiscImageChef.Filesystems/PCEngine.cs:
* DiscImageChef.Filesystems/AppleHFS.cs:
* DiscImageChef.Filesystems/AmigaDOS.cs:
* DiscImageChef.Filesystems/AppleHFSPlus.cs:
Completed XML information.
* DiscImageChef.Filesystems/ISO9660.cs:
Corrected fail in Sega CD IP.BIN decoding.
Corrected IP.BIN date decoding.
Trim spaces at end of Volume Descriptor string fields.
Completed XML information.
* DiscImageChef/Commands/Checksum.cs:
Checking memory usage on each step makes checksum
calculation abismally slower. Removed.
* DiscImageChef/Main.cs:
* DiscImageChef/Options.cs:
* DiscImageChef/DiscImageChef.csproj:
* DiscImageChef/Commands/CreateSidecar.cs:
Added method for creating CICM Metadata XML sidecar.
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.
* 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.
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.
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.
* 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.
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.
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.
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()
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.