Commit Graph

130 Commits

Author SHA1 Message Date
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
8ed384f47f * README.md:
* DiscImageChef.DiscImages/GDI.cs:
	* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
	  Added support for Dreamcast GDI images.

	* DiscImageChef.DiscImages/ImagePlugin.cs:
	  Add XML documentation to exceptions.

	* DiscImageChef.Filesystems/ISO9660.cs:
	  Corrected Dreamcast IP.BIN interpretation.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  Formatting.
2015-12-25 20:47:40 +00:00
3b368e0bd4 * TODO:
* 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.
2015-12-23 23:46:31 +00:00
3ee16d149d * 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
36e12eb1a7 * DiscImageChef.Metadata/DiskType.cs:
* 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.
2015-12-06 05:09:31 +00:00
564775d3f7 Added hint for XML metadata creator to know which kind of
media the image represents.
2015-12-05 17:21:47 +00:00
8e0d254ed2 * 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
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
b3ec79b7ae * 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
3d337f03ae As of today none of my testing drives will read Nintendo's BCA
because the PFI says there is no BCA.
2015-12-03 08:13:40 +00:00
98e2d18347 Lead-In CMI is useless in Nintendo discs. 2015-12-03 08:12:40 +00:00
3c79845b90 Added support for Nintendo GOD and WOD. 2015-12-03 08:11:46 +00:00
565cc9c133 Added decoding of XGD2 and XGD3 DMI. 2015-12-03 08:02:12 +00:00
963109e31e DVD-RAM recording type depends on sector. Removed from
media-info command.
2015-12-02 06:50:37 +00:00
b6eb17c9f0 Implemented decoding DVD-RAM Spare Area Information. 2015-12-02 06:49:36 +00:00
ba50144dca Implemented decoding DVD-RAM medium status. 2015-12-02 06:34:12 +00:00
8955b078b3 Added DDS decoding. 2015-12-02 05:56:50 +00:00
94f14feeb7 * 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
06f00c93f9 Added decoding Lead-In CMI for DVD. 2015-12-01 04:23:08 +00:00
053dbdc79d Added all existing Blu-ray decoders. 2015-12-01 03:29:58 +00:00
3a6392a02f Added PFI decoding. 2015-12-01 02:51:52 +00:00
4b3ec7f548 * DiscImageChef/Options.cs:
* DiscImageChef/Commands/Checksum.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef.Checksums/FletcherContext.cs:
	  Disabled Fletcher as it is abnormally slow.

	* DiscImageChef/Commands/Benchmark.cs:
	  Corrected style.
2015-11-30 23:00:47 +00:00
38115beabd Added 'benchmark' command to benchmark checksum and hashing
algorithms.
2015-11-30 22:28:42 +00:00
0485b57642 Solved repeated field names. 2015-11-27 10:32:54 +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
c693a4191d 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
5fd3c27520 Added decoding and prettifying READ DISC INFORMATION. 2015-11-24 01:45:31 +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
f9090cf09c * 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
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
fb961787e1 * DiscImageChef.Filesystems/BFS.cs:
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.
2015-11-10 06:16:23 +00:00
26b0b6373b * DiscImageChef.Filesystems/BFS.cs:
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.
2015-11-09 22:17:45 +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
626c9062eb Added option to dump binary responses got from devices while
getting device info.
2015-11-02 21:08:38 +00:00
ca8a152d8f Added READ DISC STRUCTURE. 2015-11-02 19:12:19 +00:00
45c390de67 * 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
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
3a069ab37a Solved some bugs found testing on usb flash sticks. 2015-10-31 21:32:10 +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
e873377777 Device type, manufacturer, model, revision and serial number
are now obtained in device constructor.
2015-10-19 05:11:28 +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
27acec2aa8 * DiscImageChef.Decoders/ATA/ATA.cs:
* DiscImageChef.Decoders/ATA/Identify.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename ATA/ATAPI decoders fields, methods and structs to
	  more adequate names.
2015-10-19 03:17:03 +01:00
12c5412b52 * DiscImageChef/Commands/Decode.cs:
* DiscImageChef.Decoders/ATA/ATA.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename SCSI decoders fields, methods and structs to more
	  adequate names.

	* DiscImageChef.Decoders/SCSI/MMC/MMC.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Separated SCSI decoders by type.

	* DiscImageChef.Decoders/SCSI/Enums.cs:
	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	* DiscImageChef.Decoders/SCSI/VendorString.cs:
	  Rename fields, methods and structs to more adequate names.
2015-10-19 03:13:15 +01:00
b3d48cac37 Separated SCSI decoders by type. 2015-10-19 02:59:32 +01:00
45303f8a8d * DiscImageChef.Decoders/CD/TOC.cs:
* DiscImageChef.Decoders/CD/PMA.cs:
	* DiscImageChef.Decoders/CD/ATIP.cs:
	* DiscImageChef.Decoders/CD/Session.cs:
	* DiscImageChef.Decoders/CD/FullTOC.cs:
	* DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	  Rename CD decoders fields, methods and structs to more
	  adequate names.
2015-10-19 02:46:04 +01:00