Coder Social home page Coder Social logo

saramibreak / discimagecreator Goto Github PK

View Code? Open in Web Editor NEW
524.0 30.0 46.0 3.05 MB

This is the disc (CD, GD, DVD, HD-DVD, BD, GC/Wii, XBOX, XBOX 360) and disk (Floppy, MO, USB etc) image creation tool

Home Page: http://forum.redump.org/topic/10483/discimagecreator/

License: Apache License 2.0

C++ 72.34% C 27.42% Batchfile 0.01% Makefile 0.14% Meson 0.09%
this is the disc

discimagecreator's People

Contributors

account4app avatar bismurphy avatar fuzz6001 avatar gingerbeardman avatar gorgobacka avatar johnveness avatar malespiaut avatar mistydemeo avatar mnadareski avatar olofolleola4 avatar pseiler avatar saramibreak avatar scsi-wuzzy avatar superg avatar tjanas avatar tungol avatar xiota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

discimagecreator's Issues

Sony Optiarch AD-7260S Copy Problem

Hi First Thanks For Creating This Tools For Everyone :)
But I Have a Problem For This Tool, I Use Pioneer DVR-221L , Sony Optiarch AD-7260S
But This Drives Not Copy The My Orginal Ps1 Cd Program Says Cant Read Scrabled Mode
and says İllegal Requiest illegal mode this track
How Can I Copy This My Cd
I Use This Command ?
DiscImageCreator.exe cd E: foo.bin 8 /c2
Thanks For Help :)

LOGICAL BLOCK ADDRESS OUT OF RANGE With IBM PC Disc

Hello,

Having an issue getting my first dump done.

Game Info:
Pitfall: The Mayan Adventure (PC, Windows 95)
Ring Serial - CDD3117 R1J
Mastering Code - JVC IFPI L239
Mould Code: IFPI 4111
Barcode (JVC Glyph Variant): [START] CDD3117 R1JDD [STOP]

Drive Info:
LG WH14NS40
Alt - HL-DT-ST-BD-RE_WH14NS40
Firmware - 1.01-N1A12A1-211304042325 (I can crossflash to Asus BW-16D1HT 3.02)

Other Info:
Attempted using DICUI
Tried With - DICUI_1.17.1-net48
Tried With - DICUI\bin\Debug\DICUI_net472 (1.17.1-428)
System/Media Type: IBM PC Compatible / CD-ROM

Error:

LBA[271539, 0x424b3]: [F:ReadCDForCheckingReadInOut][L:703]
	Opcode: 0xbe
	ScsiStatus: 0x02 = CHECK_CONDITION
	SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
lpCmd: be, 04, 00, 04, 24, b3, 00, 00, 01, f8, 00, 00
dwBufSize: 2352

Generated files, excluding empty ones, attached.
PITFALL Dump Attempt.zip

Proper usage of exit codes

I'm trying to fetch stdout from DiscImageCreator to DICUI to properly display it inside the UI itself.

It would be nice to be able to detect that something went wrong (non-existing drive, unsupported feature or whatever) by checking the error code of the process itself but it looks like that DiscImageCreator always exits with 0 (or at least in some trivial cases I checked, eg when you pass a drive letter that doesn't exist).

Allow cd mode for drives that don't read into the lead-in of audio discs

Hi sarami, right now, DIC aborts reading the disc if the drive reports an error reading the lead-in, like this:

Set read command: 0xbe, subcode reading mode: Raw
LBA[-00001, 0xffffffff], [F:ReadCDPartial][L:2235] OperationCode: 0xbe
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
lpCmd: be, 04, ff, ff, ff, ff, 00, 00, 01, f8, 01, 00
dwBufSize: 2448

The only way to read such a disc is to use audio mode starting from LBA 1 instead of 0. But with audio mode we lose the cuesheet, track splitting and c2 correction that cd mode offers.

Is there any way to add an option to skip lead-in reading in DIC?

Missing info from _disc.txt

Several things are missing from the _disc.txt file in certain cases.

The most important of these (and easiest to fix) is that the "DiscInformation" section is omitted entirely for CD-R(W) ("TOC ATIP" section is given instead). For CD-R(W), the "TOC ATIP" and "DiscInformation" should both be included. This should just be a simple matter of adding one additional call to ReadDiscInformation ( ), I think?

Then, two significant pieces of information for CD-R(W) are not included anywhere: "Disc(Matrix) Manufacturer" and "Recording Characteristics" (dye type). Other programs such as "CDR ATIP Reader" do include these. Though often unreliable, it would be very useful to have the data the drive returns for this and would make the DIC output more complete.

Finally, I would really appreciate if you could add the code to request the PMA Descriptors (format field = 0x03 in "READ TOC/PMA/ATIP" command) when they are present, and list the raw data for these in the _disc.txt output. This is the only remaining data not currently retrieved from the disc by DIC and can be helpful for troubleshooting with some discs.

Press any key instead of timeout with swap method

Hello,

Having a couple of slot in and laptop readers that cannot auto load the disc back in.
Can we have a pause and wait for input instead of timeout on these drives maybe by input switch?

Thanks.

One side is not dumped in DVD-9

http://redump.org/disc/23367/
logs

console log

AppVersion
        x86, AnsiBuild, 20191223 223221
CurrentDirectory
        E:\redump.org\dic\out
WorkingPath
         Argument: e:\redump.org\dic\out\dic
         FullPath: e:\redump.org\dic\out\dic
            Drive: e:
        Directory: \redump.org\dic\out\
         Filename: dic
        Extension:
StartTime: 2020/01/18(Sat) 19:52:21
Set the drive speed: 11080KB/sec
Reading DirectoryRecord    2/   2
Creating iso(LBA)  2084944/ 4169568
Hashing: PFI.bin
Hashing: DMI.bin
Hashing: dic.iso
EndTime: 2020/01/18(Sat) 19:59:30

Utilities disc won't dump because of EXE count

I am trying to preserve a utilities disc that I had, and on it, there are hundreds of executables. IT doesn't even get to the point of ripping the disc, instead hard crashing before it even gets to that point. Attached are the output files it creates with the absolute newest version of DiscImageCreator.

dumpinfo.zip

XBOX auxiliary hashes missing

In the most recent build, the automatic hashes for DMI.bin, PFI.bin, and SS.bin are no longer in the _disc.txt output file.

[Problem] Problems when dumping XGD3 Security Sector

When trying to dump any XGD3 Xbox 360 game disc with Kreon drive (SH-D162D Hooked on IDE2USB adapter), I was getting errors like this (older, x86, AnsiBuild, 20200921T112141 build):

[F:ExtractSecuritySector][L:1545] GetLastError: 121, The semaphore timeout period has expired.
Please wait for 25000 milliseconds until the device is returned

If I try dumping same disc but with newest build (x86, AnsiBuild, 20210102T192856), instead of previous error I get this instead:

Not Output XGD3 SSv1 to SS.bin
Not Output XGD3 SSv1 to SS.bin

After disc successfully gets dumped, SS.bin gets saved, but it is empty.
With Xbox Backup Creator I can successfully dump security sector of I tried dumping. It takes about five minutes, but does get dumped.
I had no issues when dumping Original Xbox discs.

To Reproduce
Steps to reproduce the behavior:
Get any of builds I tried, SH-D162D Kreon drive hooked on IDE2USB and try dumping any XGD3 game. I tried Crysis 3 and Dungeon Siege 3, both gave same results.

Expected behavior
Depending on build type, you can get two results (See pictures below)

Screenshots
image
image

DVD with mastering errors fails to dump

Myself and at least one other user have run into an issue with a PS2 DVD with mastering errors, corresponding to a dummy file on the disc. To verify that this was an issue with the DVD, multiple programs were used to generate ISOs, all of which hit the same error in the same sectors. For programs that supported it, filling those sectors with \0 ended up producing a matching hash for the known information on the disc.

This seems to only affect one particular pressing of this disc as well, since other pressings of the disc have the same dummy file (filled with \0) and do not hit the same issue. This is definitely a corner case for handling protected discs.

Attached here is the output logs from the DiscImageCreator run. Of note, it fails on the first of the bad sectors and then entirely stops after 5 attempts:
KATAMARI.zip

The eventual ask from this is either:

  • Add a flag to be able to ignore these read errors for DVD specifically
  • Or, to log the error but fill with \0 bytes in the affected sectors

Plextor drive in unstable state after ripping, needs to be power cycled

From #27

After both successful and unsuccessful ripping, my Plextor PX-716UF external USB drive is often a strange state that it will not do any more rips until it is power cycled. I was thinking maybe there is a "reset" command that can be issued to this drive to help.

I can help debug this with guidance from you.

Thanks!

Support for DVD-Video with intentionally bad sectors

Is it possible to have a feature to handle DVD video media with intentionally bad sectors (like Ripguard, etc)?

After playing around with a couple of Disney ones and ddrescue, I've found that bad sectors are seemingly the only impediment to dumping these discs using DIC. There is usually a small amount of intentional damage early in the disc (before ~1g) which causes DIC to error out.
All the other tricks used (like intentionally messed up filesystems and 99 titles) won't affect a dump on the disc image level and shouldn't be corrected.
If these errors could be consistently be ignored, I feel that the dumps should otherwise be perfect.

I'm willing to help out with experimentation (and have a handful of affected discs) if it'd help.

CAB Extraction crashes DIC entirely

DIC Crashes when trying to extract CAB files of a Windows 95 disc, and it's a very reproducible issue.
I was trying to dump this disc for myself using DICUI - Version 1.16-317 from AppVeyor (which itself is using DIC x86, AnsiBuild, 20200604T002233) but for whatever reason, DIC tried extracting all the CAB (even without /sf being added to the original DIC Command as well) and then ended up crashing before it got to the actual dumping stage.

Example screenshot of error on a Windows 7 machine:
DIC_Crash_CABExtracting_Win95

"Aborted" after hashing the dump of a SafeDisc DVD.

I'm using the latest DIC version for Linux and have dumped a SafeDisc DVD game two times with different drives. But at the and both times after the hashing I am getting an aborted message, here the output:

sudo ./DiscImageCreator_linux.out dvd /dev/sr1 pc_tlotrtbfme_eax07704456DGER_2/dump.bin 16 /sf
AppVersion
        x64, AnsiBuild, 20200403 180855
/sf val was omitted. set [60]
/home/user/bin/DiscImageCreator_linux/pc_tlotrtbfme_eax07704456DGER_2/ doesn't exist, so create.
CurrentDirectory
        /home/user/bin/DiscImageCreator_linux
WorkingPath
         Argument: pc_tlotrtbfme_eax07704456DGER_2/dump.bin
         FullPath: /home/user/bin/DiscImageCreator_linux/pc_tlotrtbfme_eax07704456DGER_2/dump.bin
            Drive: /
        Directory: home/user/bin/DiscImageCreator_linux/pc_tlotrtbfme_eax07704456DGER_2/
         Filename: dump
        Extension: .bin
StartTime: 2020/05/09(Sat) 13:40:44
Set the drive speed: 22160KB/sec
[F:DVDGetRegion][L:387] GetLastError: 0, Success
Reading DirectoryRecord   47/  47
Detected protection [00000001.TMP]. LBA 10287 to 10441
Creating iso(LBA)  2073472/ 2073472
Hashing: PFI.bin
Hashing: DMI.bin
Hashing: dump.iso
double free or corruption (out)
Aborted

I don't know if it's a problem, the image from both drives are the same.

Last entry of Full-TOC is improperly truncated

On many discs, there is corruption in the Full-TOC due to improper truncation of the last entry (PFRAME and sometimes also PSEC of last entry are mistakenly set to 00 as a result). Many CD analysis programs have this issue, not just DIC; the cause is usually that the length of data returned for Full-TOC has been underestimated. It looks like some attempt was already made to deal with this (lines 266-270 in execScsiCmd.cpp with "wFullTocLenFix"), but it seems further correction is needed. This may be a simple matter of requesting or allocating a few more bytes for Full-TOC.

The truncation leads to unusable CCD files as well (since CCD is written from Full-TOC), so I'd say it should be prioritized. Please take a look, hopefully it will be an easy fix.

Note: Full-TOC is the ONLY place where this truncation occurs, all other TOC reading modes are fine.

Linux support

It looks like there are no good ripping tools for Linux, at least when it comes to copying protected discs. Would it be possible to port this program to Linux?

Linux build with makefile won't create a *.dat file

When I use a self-compiled version of DiscImageCreator I get the following error. I don't know where this comes from. Is this some escaping error? The result is, that the *.dat file won't be created. Everything else seems fine. ISO Creation and all other text file generations work perfect.

Also when I use the linux tarball from your release(s) the dat will be created with the same parameters I used in my self-compiled version.

[F:ReadWriteDat][L:397] GetLastError: 2, No such file or directory

This is the full output including my command line arguments.

philipp@feynman ~ [0] $ DiscImageCreator dvd /dev/sr0 abba/SingStar\ ABBA\ \(Germany\).iso 8
AppVersion
        x64, AnsiBuild, 20190701 171607
CurrentDirectory
        /home/philipp
WorkingPath
         Argument: abba/SingStar ABBA (Germany).iso
         FullPath: /home/philipp/abba/SingStar ABBA (Germany).iso
            Drive: /
        Directory: home/philipp/abba/
         Filename: SingStar ABBA (Germany)
        Extension: .iso
StartTime: 2019/07/07(Sun) 16:31:28
[F:SetDiscSpeed][L:660] GetLastError: 1, Operation not permitted
Please wait for 25000 milliseconds until the device is returned
Reading DirectoryRecord    3/   3
Creating iso(LBA)  1586736/ 1586736
[F:ReadWriteDat][L:397] GetLastError: 2, No such file or directory
EndTime: 2019/07/07(Sun) 16:39:34

Crash on Amiga CD

Sorry, I'm confronted again with a DIC 20170728 crash...
The logs before the crash:

Allocating packed memory for C2 errors: 8192
This drive supports [OpCode: 0xd8, SubCode: 0]
This drive supports [OpCode: 0xd8, SubCode: 1]
This drive supports [OpCode: 0xd8, SubCode: 2]
This drive supports [OpCode: 0xd8, SubCode: 3]
This drive supports [OpCode: 0xd8, SubCode: 8]
Checking reading lead-out -> OK
Checking SubQ adr (Track) 10/10
Checking SubRtoW (Track) 10/10
Reading DirectoryRecord   20/  20
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 10/10
Created img (LBA)  24959/194074

I hope this file will help you:
http://dl.free.fr/vOeQyqEEr

PS: No problem with ISOBuster

Crash on Amiga CDs

I always encounter the same crash on two different CDs.

Logs until crash :

OS
	Windows 7 Professional Service Pack 1 64bit
AppVersion
	x86, AnsiBuild, May  7 2017 21:11:00
/c2 val1 is omitted. set [1024]
/c2 val2 is omitted. set [4096]
/c2 val3 is omitted. set [4]
CurrentDirectory
	C:\Program Portable\DiscImageCreator
WorkingPath
	 Argument: LastDump\Disc
	 FullPath: C:\Program Portable\DiscImageCreator\LastDump\Disc
	    Drive: C:
	Directory: \Program Portable\DiscImageCreator\LastDump\
	 Filename: Disc
	Extension: 
Start time: 2017-06-03(Sat) 23:08:09
Set the drive speed: 705KB/sec

Allocating packed memory for C2 errors: 8192
This drive supports [Opcode: 0xd8, SubCh: 0]
This drive supports [Opcode: 0xd8, SubCh: 1]
This drive supports [Opcode: 0xd8, SubCh: 2]
This drive supports [Opcode: 0xd8, SubCh: 3]
This drive supports [Opcode: 0xd8, SubCh: 8]
Checking reading lead-out -> OK
Checking SubQ adr (Track)  1/ 1
Checking SubRtoW (Track)  1/ 1
  • Amiga Plus CD No.1/95 (Tested on two copies)
    Last file written is Disc_disc.txt:
========== DiscInformation ==========
	                  DiscStatus: Complete
	           LastSessionStatus: Complete
	                    Erasable: No
	            FirstTrackNumber: 1
	         NumberOfSessionsLsb: 1
	    LastSessionFirstTrackLsb: 1
	     LastSessionLastTrackLsb: 1
	                   MrwStatus: None
	                 MrwDirtyBit: No
	             UnrestrictedUse: No
	            DiscBarCodeValid: No
	                 DiscIDValid: No
	                    DiscType: CD-DA or CD-ROM Disc
	           LastSessionLeadIn: ff:ff:ff:ff
	LastPossibleLeadOutStartTime: ff:ff:ff:ff
	            NumberOPCEntries: 0
========== TOC ==========
	  Data Track  1, LBA        0-  333079, Length   333080
	                                        Total    333080
========== Opcode[0xd8]: SubCh[00]: Check Drive + CD offset ==========
...
========== LBA[000001, 0x00001]: Main Channel ==========
...
	720(1824) 15 e6 8f 0a e4 07 0b 42 87 71 a2 a4 79 bb 62 f3
	730(18
  • Meeting Pearls Vol.III
    Last file written is Disc_disc.txt:
========== DiscInformation ==========
	                  DiscStatus: Complete
	           LastSessionStatus: Complete
	                    Erasable: No
	            FirstTrackNumber: 1
	         NumberOfSessionsLsb: 1
	    LastSessionFirstTrackLsb: 1
	     LastSessionLastTrackLsb: 1
	                   MrwStatus: None
	                 MrwDirtyBit: No
	             UnrestrictedUse: No
	            DiscBarCodeValid: No
	                 DiscIDValid: No
	                    DiscType: CD-DA or CD-ROM Disc
	           LastSessionLeadIn: ff:ff:ff:ff
	LastPossibleLeadOutStartTime: ff:ff:ff:ff
	            NumberOPCEntries: 0
========== TOC ==========
	  Data Track  1, LBA        0-  326965, Length   326966
	                                        Total    326966
========== Opcode[0xd8]: SubCh[00]: Check Drive + CD offset ==========
...
========== LBA[000001, 0x00001]: Main Channel ==========
...
	720(1824) f1 9d 84 69 a3 6e f9 ec 42 cd f1 95 84 6f 23 6c
	730(18

Spec :

Version : DIC 20170507
System  : Windows 7 x64
Drive   : Plextor DVDR PX-760SA FW 1.07 unlocked
Cmd     : DiscImageCreator.exe cd e: LastDump\Disc 4 /d8 /c2

I hope that this information will help you to correct the problem

Several Errors (Primarily "error can't be fixed" and LOGICAL BLOCK ADDRESS OUT OF RANGE)

Not sure if this is due to poor use of switches with this drive, but I'm trying to follow the setup required by BetaArchive.

The disc is a little worn but very clean.

Game Info:
Disney/Pixar's BUZZ LIGHTYEAR 2nd GRADE
Ring Serial - F3235
Mastering Code - F3235 + + A0592-01
Mastering SID Code - IFPI L028
Mould Code - IFPI 1081
System/Media Type: IBM PC Compatible / CD-ROM

Drive Info:
LG WH14NS40
Alt - HL-DT-ST-BD-RE_WH14NS40
Firmware - 1.01-N1A12A1-211304042325 (I can crossflash to Asus BW-16D1HT 3.02)

DIC Info:

  • Attempted using DIC 20210301
  • Attempted using DIC_test (Dated: ‎Wednesday, ‎February ‎17, ‎2021, ‏‎4:51:12 AM)
  • Current Dir: C:\Users\Chris\Desktop\BA DIC
  • DIC Dir: C:\Users\Chris\Desktop\BA DIC\DIC
  • Command: DIC\DiscImageCreator.exe cd F media_dic\Disc01\Disc01.bin 48 /c2 1000 /q /ns /s 2

Error 1 (I'm assuming this isn't actually an issue and just DIC hard coded to check for a file even if it didn't get generated earlier):

FINDSTR: Cannot open DIC\!exelist.txt
[F:ReadCDForCheckingExe][L:1743] GetLastError: 2, The system cannot find the file specified.

FINDSTR: Cannot open DIC\!exelist.txt
[F:ReadCDForCheckingExe][L:1743] GetLastError: 2, The system cannot find the file specified.

[F:ReadCDForCheckingExe][L:1803] GetLastError: 2, The system cannot find the file specified.

Failed to DeleteFile C:\Users\Chris\Desktop\BA DIC\!exelist.txt

Error 2:
Multiple instances of these errors at different LBAs even though I am not using a Plextor drive

 LBA[086622, 0x1525e] Detected C2 error "F0 F0 F0 00 00 00 0F 0F 0F"
This error can't be fixed by plextor drive. Needs to dump it by non-plextor drive and replace it

Error 3:

LBA[317877, 0x4d9b5]: [F:ProcessReadCD][L:323]
        Opcode: 0xbe
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
LBA[317877, 0x4d9b5]: [F:ProcessReadCD][L:318]
        Opcode: 0xbe
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
LBA[317878, 0x4d9b6]: [F:ProcessReadCD][L:323]
        Opcode: 0xbe
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE

And finally at the end, Error 4:

Need to reread sector:  89949 rereading times:    1/1000
Done. See _c2Error.txt
Copying .scm to .img
Descrambling data sector of img: 317876/317876
Exec ""C:\Users\Chris\Desktop\BA DIC\DIC\EccEdc.exe" check "C:\Users\Chris\Desktop\BA DIC\media_dic\Disc01\Disc01.img""
FILE: C:\Users\Chris\Desktop\BA DIC\media_dic\Disc01\Disc01.img
Checking sectors: 317876/317876
[ERROR] Number of sector(s) where user data doesn't match the expected ECC/EDC: 2
Total errors: 2

Generated files, excluding binary and empty ones, attached:
BUZZ Dump Attempt.zip

CAB file checking can be simplified

When checking for CAB files that can potentially have multiple parts, if a CABNAME.HDR exists, that's the only one that needs to be scanned. Otherwise, only CABNAME1.CAB needs to be scanned. This can make things go a lot quicker if you have the flag enabled.

date/time format

Can DIC adopt "ISO 8601" as the date/time format?

e.g.

current:  Recording Date and Time: 1999-01-17 01:00:00 +00:00
ISO 8601: Recording Date and Time: 1999-01-17T01:00:00+00:00

Creator tries to read past end of DVD+R

When trying to dump a DVD+R that other software dumps fine (Alcohol 120% and ImgBurn), creator crashes after trying to read past the end of the DVD. The progress also has an incorrect end number while dumping. Dumped using two separate drives with the same result both times. Command window output:
"AppVersion
x86, AnsiBuild, 20200204 162151
CurrentDirectory
F:\DiscImageCreator
WorkingPath
Argument: test.iso
FullPath: F:\DiscImageCreator\test.iso
Drive: F:
Directory: \DiscImageCreator
Filename: test
Extension: .iso
StartTime: 2020/03/08(Sun) 23:53:32
Set the drive speed: 11080KB/sec
LBA[000000, 0000000]: [F:ReadDiscStructure][L:1293]
Opcode: 0xad
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00 = ILLEGAL_REQUEST - INVALID FIELD IN CDB
FormatCode: 30 failed
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Read retry 1/5
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Read retry 2/5
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Read retry 3/5
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Read retry 4/5
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Read retry 5/5
LBA[310336, 0x4bc40]: [F:ReadDVD][L:305]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
Retry NG"
Log files: DiscImageCreator.zip

Can someone confirm the right drive to use

So after buying 2 drives I can not seem to get it to work.

This time I will purchase a drive directly from the suggested list, however, I am not sure which one is the most versitle. I am looking to dump CD-Rom's and DVD's. The one I am thinking about purchasing is the ASUS BC-12D2HT.

However, can it anyone confirm it works? Is a different one recommended?

IN a previous thread Saramibreak used ASUS BW-16D1HT (firmware 3.02). which is the same as the one above, I assume. I just would like to confirm the details.

Correct interpretation of Point 0xc0 in TOC

Well, since I wasted your time with my truncation issue, I'll make up for it by giving you the info to fix and complete your analysis of TOC Point 0xc0 in _disc.txt :)

What you've currently got is correct for the last 4 bytes (ZERO, PMIN, PSEC, PFRAME), but your handling of the first 3 bytes after POINT=0xc0 (the MIN, SEC, FRAME) is wrong--mostly missing entirely, and what is there is incorrect. Here's the full explanation for those 3 bytes:

  • On non-recordable media (no ATIP), they're expected to be 00 00 00; in this case "First Lead-in of the disc" is the only valid data given in Point 0xc0. You currently try to parse "Optimum recording power" from the 00 00 00 bytes, but that's wrong/invalid and should be omitted entirely in this case. PMIN, PSEC, PFRAME is always the "First Lead-in of the disc" no matter what, so no need for any corrections to that.

  • On recordable media (ATIP is present), the MIN, SEC, FRAME bytes of Point 0xc0 will be something other than 00 00 00, and can then be analyzed according to this format:

MIN:    1 w w w 0 v v v
SEC:    0 u 0 0 0 0 0 0
FRAME:  1 d b b b i j k

w w w = 3-bit value equivalent to "WritePower" from ATIP
v v v = 3-bit value equivalent to "CdrwReferenceSpeed" from ATIP
u = 1-bit flag equivalent to "UnrestrictedUse" from ATIP (1 = "Yes")
d = 1-bit flag equivalent to "DiscType" from ATIP (0 = CD-R, 1 = CD-RW)
b b b = 3-bit value equivalent to "DiscSubType" from ATIP
i = 1-bit flag equivalent to "A1 valid" from ATIP
j = 1-bit flag equivalent to "A2 valid" from ATIP
k = 1-bit flag equivalent to "A3 valid" from ATIP

As you can see, it's basically a recapitulation of the TOC ATIP, given in the standard order (obviously, the "LeadInMsf" follows in the PMIN, PSEC, PFRAME bytes of Point 0xc0 and then "LeadOutMsf" in the PMIN, PSEC, PFRAME bytes of Point 0xb0). All of these values should normally match the versions shown in TOC ATIP, but you may still want to print them independently in both cases, for completeness as well as to allow troubleshooting with improperly burned or defective discs where the values may not match.

The above should be accurate and complete for our purposes, but if you want to check the docs on this, the place to look is ECMA-394 (https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-394.pdf) Section 4.4.1.

Feel free to ask if anything is unclear, hopefully this is much more useful for you than my previous offering! ;)

Can't dump CDDA on Linux

I'm trying dumping a CDDA with the latest Linux version of DIC on Kubuntu 19.10 and get always this output:

$ sudo ./DiscImageCreator_linux.out cd /dev/sr2 cdda_acs_300041125/dump.bin 8 /c2
AppVersion
        x64, AnsiBuild, 20200204 162546
/c2 val1 was omitted. set [4000]
/c2 val2 was omitted. set [0]
CurrentDirectory
        /home/user/bin/DiscImageCreator_linux
WorkingPath
         Argument: cdda_acs_300041125/dump.bin
         FullPath: /home/user/bin/DiscImageCreator_linux/cdda_acs_300041125/dump.bin
            Drive: /
        Directory: home/user/bin/DiscImageCreator_linux/cdda_acs_300041125/
         Filename: dump
        Extension: .bin
StartTime: 2020/03/28(Sat) 22:22:35
Set the drive speed: 1411KB/sec
This drive supports [OpCode: 0xd8, SubCode: 1]
This drive supports [OpCode: 0xd8, SubCode: 2]
This drive supports [OpCode: 0xd8, SubCode: 8]
Checking reading lead-out -> OK
corrupted size vs. prev_size
Aborted

Drive is Plextor PX-716SA
Dumping of BD and DVDs are working fine.

Lack of commit message detail

I noticed the majority of git commit messages to this repo are just dates. Could we have more detailed messages in the future that explain what was changed or fixed and potentially why?

Even if it's in Japanese it is better than nothing.

Thanks!

Pioneer BDR-XS06: Drive spins up but times out

PS C:\temp> DiscImageCreator.exe dvd g stranglehold1.iso 8
AppVersion
        x86, AnsiBuild, Mar  4 2018 15:29:36
CurrentDirectory
        C:\temp
WorkingPath
         Argument: stranglehold1.iso
         FullPath: C:\temp\stranglehold1
            Drive: C:
        Directory: \temp\
         Filename: stranglehold1
        Extension: .iso
Start time: 2018-03-08(Thu) 21:17:15
Set the drive speed: 11075KB/sec
[F:ReadDVDForFileSystem][L:24] GetLastError: 121, The semaphore timeout period has expired.

Please wait for 40000 milliseconds until the device is returned
End time: 2018-03-08(Thu) 21:18:55

Even at 1x it doesn't seem to work.

PS: I'd love to disable the tune that's played at exit...

Protection Keys

Would it be possible for external (or internal) keys for properly dumping DVD, HD-DVD, and BluRay discs? Unfortunately, some DVD's (especially) will crash immediately even with the /cmi flag.

Sega CD games Cue/bin issue

I am using the guide from redump.org I have ripped one of my games but the Cue/Bin when loaded in an emulator only sees it as a music CD. did I rip it incorrectly? the command I used was ( DiscImageCreator.exe cd d Eye_of_the_Beholder_dump1.bin 8 /c2 /nl ) do I need different commands for unprotected games?

CHECK_CONDITION error after 1st session in multi-session discs

DIC encounters a CHECK_CONDITION error only a few sectors after the "Lead-out length of the 1st session" message appears. These errors occur on every single multi-session disc that I've tried, some without any visible scratches or the like. I can provide logs as available, dumping the disc is taking a fair bit of time. The drive is a WX-4012TA.

Floppy Disk datfile output

Floppy disk dumping does not produce a .dat output when complete. Possibly related, it also does the beep that there was an error on finish always for floppy disks.

wchar_t is 32-bit on Linux

wchar_t is 32-bit on Linux and this causes several bugs. When compiling with -fshort-wchar (forces wchar_t to be 16-bit) everything about Joliet parsing fails but all other warnings I got previously (see below) were gone.

LBA[-05000, 0xffffec78]: [F:ReadCDForCheckingPregapSync][L:746]
	Opcode: 0xbe
	ScsiStatus: 0x02 = CHECK_CONDITION
	SenseData Key-Asc-Ascq: 05-24-00 = ILLEGAL_REQUEST - INVALID FIELD IN CDB
lpCmd: be, 04, ff, ff, ec, 78, 00, 00, 01, f8, 04, 00
dwBufSize: 2448
LBA[348300, 0x5508c]: [F:ProcessReadCD][L:318]
	Opcode: 0xbe
	ScsiStatus: 0x02 = CHECK_CONDITION
	SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE

There were also bugs with Joliet and I assume wherever WCHAR is used, for example 4efafee was also caused by this.

The problem with -fshort-wchar is that it only exists to help build programs that run under WINE, the various GCC wide char functions always assume bigger wchar_ts. I don't think adding that flag is a good solution. Instead I suggest to use u16string and char16_t for all strings and chars throughout the whole program. I know this would be a big and annoying change but it would guarantee cross-platform support.

PS: DIC is relly great and thanks to it and you I'll submit some dumps soon :)

I have tried 4 DIFFERENT drives and 2 of which are supported.

I have tried 4 DIFFERENT drives and 2 of which are supported.

Not 1
Not 2

BUT 4 different drives.

2 of them are supported with offset. I just purchased a new drive on the offset list 4 days ago.

Internal drive
External Buffalo drive which was recommended but, could not get the proper offset.
LG Electronics - DVDRAM SP80NB60
Lastly, recommended for the area for CD\s but, does not work on CD ROM's, WHY/
ASUS SDRW-08U7M-U
Proper offset and is on the list. I also found other people online using it.

You should not need to $200 special cd drive or crazy insane hard to find external drive in order for this to work. What is the problem? Am I really not going to be able to do this? I have to buy some SUPER expensive hard to find drive?

I get 3 different errors

Framework is updated
Version 3rd version below the newest.
CD ROM's from the 90's and 2000"s
CDFS
I think it Safeguard

I get three different errors..

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

LBA[1262496, 0x1343a0]: [F:ReadDVD][L:300]
Opcode: 0xa8
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 03-11-00 = MEDIUM_ERROR - UNRECOVERED READ ERROR

.....................................................................................................................................................................................................................................................................................................................................................................................................................

LBA[149499, 0x247fb]: [F:ReadCDForCheckingReadInOut][L:644]
Opcode: 0xbe
ScsiStatus: 0x02 = CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-21-00 = ILLEGAL_REQUEST - LOGICAL BLOCK ADDRESS OUT OF RANGE
lpCmd: be, 04, 00, 02, 47, fb, 00, 00, 01, f8, 00, 00
dwBufSize: 2352

.....................................................................................................................................................................................................................................................................................................................................................................................................................

The most frequent one is:

Byte order of this drive is main + sub + c2
This drive can read data sectors at scrambled state [OpCode: 0xbe, C2flag: 1, SubCode: 0]
This drive can read data sectors at scrambled state [OpCode: 0xbe, C2flag: 1, SubCode: 1]
This drive can read data sectors at scrambled state [OpCode: 0xbe, C2flag: 1, SubCode: 2]
This drive can read data sectors at scrambled state [OpCode: 0xbe, C2flag: 1, SubCode: 4]
Checking reading lead-out -> This drive can't read the lead-out

Small oversight in new gap detection logic

Looking at the new gap detection logic, I see that you missed an edge case: what if the 1st Q-sector of a track has MCN/ISRC, yet this track does NOT have an Index00? In other words, a jump directly from Track n Index01 to Track n+1 Index01, with MCN/ISRC in the 1st Q-sector of Track n+1. It looks like your code will fail to catch this and increment the track count.

I guess the solution is to add in set.cpp at line 830 as follows:

		else if ((pDiscPerSector->subch.current.byP == 0xff && pDiscPerSector->subch.next.byP == 0x00 &&
			pDiscPerSector->subch.prev.byTrackNum + 1 == pDiscPerSector->subch.next.byTrackNum)) {
			tmpCurrentTrackNum = pDiscPerSector->subch.next.byTrackNum;
		}

But please double-check if the above is sufficient to handle this case, as I'm not entirely familiar with your code of course! ;)

Error overload: PS1 — Tetris Plus (USA)

Problem: multiple errors

  • C2
  • SenseData Key-Asc-Ascq: 03-02-8d = MEDIUM_ERROR - VENDOR UNIQUE ERROR

Logs:
(will post when it's finished, let me know if I should just cancel it early, currently at 284877/286853)

I've used DICUI to rip a dozen or so PS1 games, and this is the first time it was not able to complete a disc successfully. I had my best attempt at 8x speed (default for my drive is 20x, and apparently supports reading CDs up to 48x).

Game: TETRIS PLUS
Version: Greatest Hits
Region: USA
Serial: SLUS-00338 50005

Note: seems to be an "enhanced" CD
01 = data track
02 to 51 = audio tracks
52 = data track

References:
https://www.discogs.com/Unknown-Artist-Tetris-Plus/release/12821208
https://gamefaqs.gamespot.com/ps/915929-tetris-plus/images/1123857

PS:
Also, at many speeds other than 8x, upon error and incomplete rip, my Plextor PX-716UF external USB drive is in a strange state that it will not do any more rips until it is power cycled.

Failed to analyze the subchannel

Hi sarami, I'm getting the following error when trying to dump an audio cd using build 20180619 20619:

StartTime:
2018/07/26(Thu) 19:08:23
Set the drive speed: 2822KB/sec
This drive supports [OpCode: 0xd8, SubCode: 1]
This drive supports [OpCode: 0xd8, SubCode: 2]
This drive supports [OpCode: 0xd8, SubCode: 8]
Checking reading lead-out -> OK
Checking SubQ adr (Track) 14/14
Checking SubRtoW (Track) 14/14
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 14/14
Creating .scm (LBA) 190862/190862
[L:1196] Internal error. Failed to analyze the subchannel. Track[01]/[14]
EndTime: 2018/07/26(Thu) 19:14:21

Here are the files generated by DIC: https://multiup.org/download/deb755693fb6de5988500f009b5aac31/dic_error.7z

Dot handling in path

Hey,
You accepted my pull request half a year ago where I rewrote pathSplit() function to support dots in a path so paths like "Interactive CD Sampler Disc Vol. 9 (USA)/Interactive CD Sampler Disc Vol. 9 (USA).bin" are handled correctly.
It stopped working recently when I updated my DICUI which bundles updated DiscImageCreator. I started to look into it and I see that you disabled my fix in commit "- added: support multiple files in C2ErrorProtect.txt (MAX 16 files)" on November 10, 2019.
Was there a reason for this? Did I break something?
Commit: 05fda7d#diff-ed7acfc1a28fe2c204ad2a65c1b11b83

Dumping process freezing at lead-in reading checking

When I try to dump discs by my drive ASUS BW-16D1HT (firmware 3.02), dumping process almost everytime hangs after appearing of message "Checking reading lead-in -> OK" and I should stop program through task manager.

App crash when dumping a DVD

Hello developer,

I found DIC crashed when dumping a Microsoft MSDN DVD with many files and directory.

I'm using Windows 7 SP1, when crash a window appeared and shows the error file is ucrtbase.dll (version 14393.2990). The CD drive I use is MATSHITA UJ8E1.

Here are all logs created during dump:
https://anonfiles.com/H4z7mb13p7/log_7z

I searched and found a closed issue (#58), in which a user had same problem as mine. You made a special version with buffer size check, I downloaded and test it, however problem still exists.

Would you mind check the log and help me with this problem? Thank you so much!

App Crash

Issue first noted with build 20200716T214844 as noted below. Dumping a MS Visual Studio disc the program crashes. I've never seen this before and as indicated it persists with the newest release. I have attached what log files remain after the crash and have noted the windows crash information as well.

Problem signature:
Problem Event Name: APPCRASH
Application Name: DiscImageCreator.exe
Application Version: 0.0.0.0
Application Timestamp: 5f104cb1
Fault Module Name: ucrtbase.DLL
Fault Module Version: 10.0.14393.2990
Fault Module Timestamp: 5caeb859
Exception Code: c0000005
Exception Offset: 00042357
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Verified still an issue with build 20200921T112141 as found below.

Problem signature:
Problem Event Name: APPCRASH
Application Name: DiscImageCreator.exe
Application Version: 0.0.0.0
Application Timestamp: 5f680e3b
Fault Module Name: ucrtbase.DLL
Fault Module Version: 10.0.14393.2990
Fault Module Timestamp: 5caeb859
Exception Code: c0000005
Exception Offset: 00042357
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Logs:
Dump_Log.zip

"Drive is not updated to the latest firmware" error

Hi,

When trying to dump a disc with the latest release, DIC shows an error that the drive firmware isn't updated to the latest version even though it does.

DIC Version: 20200403
Drive Model: Plextor PX-755UF
Drive Firmware: 1.08

Thanks

Offset feature (/a) and Mixed-mode CD

I need rip Mixed-mode cd with offset feature (/a option and driveOffset.txt).
I also need overread feature with Mixed-mode CD.

These feature needed by some Japanese PC (etc. FM Towns, PC=9801) CD games.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.