451 (edited by MrX_Cuci 2014-07-18 22:36:10)

My drive already has the latest firmware

Definitely a bug here. Using latest TEST version. Here logs and such: https://dl.dropboxusercontent.com/u/355 … orMash.zip No img file is being created. Disc dumps properly with an older version of the programm.

That sub file has the expected size,

Session 1,      Leadout, MSF 53:17:64 (LBA[239839, 0x3a8df])

Last frame of the subcode has 53:17:63 AMSF, so at least the .scm should be complete and app fails when post-processing the scrambled dump, not before.

I would say this is the problem, or at least a part of the problem.

File MotorMash_infolog.txt:
LBA[147352, 0x23f98], Track[02]: Subchannel & TOC isn't sync. LBA on TOC[148449, 0x243e1], prevIndex[00]

Completely wrong, because MotorMash_disclog.txt says:
Audio Track  2, LBA   147352-  148448, Length     1097
Audio Track  3, LBA   148449-  161236, Length    12788

And seeing the dumped subcode, track 2 - index 01 starts at 32:46:52 AMSF = 147352, track 3 at 33:01:24 AMSF = 148449, as expected according to the TOC analyzed in the very beggining of ripping process.

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

certain discs manufactured by Sony DADC in Japan (IFPI 45xx) have a weird pattern in the R-W subcodes, last byte of R-W frames are filled with 0x1, 0x2 or 0x3 values.

I'll confirm later too.

Tests of extracting that burned CD, discimagecreator vs. PerfectRip (raw and packed mode). Definitely, discimagecreator erases that pattern, like packed mode of PR does (here is the drive itself misscorrecting that pattern).

About r to w without cd-g disc, it replace at all zero at the present.

And C2 file is 588 bytes bigger than expected.

Fixed.

About MotorMash

LBA[147329, 0x23f81], Track[03]: PrevTrackNum[03] -> [02]

There is wrong Subdata of tracknum of LBA 147328.
Fixed probably.

454 (edited by MrX_Cuci 2014-07-21 23:43:03)

Seems to be better, but at the end I get an internal error. Logs and such: https://www.dropbox.com/s/8bd8a2ml4hjm8ak/MotorMash.zip

I still get the invalid request error aswell. Different disc (dumps 100% btw)

D:\DICLatest\DiscImageCreator\x64\Release_ANSI>DiscImageCreatorTEST.exe cd y: Mo
toR 4
OS
        Windows 7 Ultimate Service Pack 1 64bit
AppVersion
        x86, AnsiBuild, Jul 20 2014 18:47:54
CurrentDir
        D:\DICLatest\DiscImageCreator\x64\Release_ANSI
InputPath
         path: MotoR
        drive:
          dir:
        fname: MotoR
          ext:
Start: 2014-07-21(Mon) 21:18:00

ScsiStatus: 02-CHECK_CONDITION
SenseData Key:Asc:Ascq 05:24:00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Checking reading lead-out
Creating bin from 244433 to 244434 (LBA) 244434
Reading lead-out: OK
Operation Code: 0xd8, Sub Code: Pack
Creating img(LBA)   1608/244432

Rage Racer is affected by this too, Die Hard Trilogy as well. Likely hundreds of PS1 JAP games (and who knows whether game discs for another platforms manufactured by Sony DADC Japan are affected, because just to mention one example, certain version of Lethal Enforcer (USA) for Sega CD is manufactured by Sony DADC Japan) contain this special pattern in the R-W frames. Externally, I see certain correlation: affected discs contain the IFPI 45xx code in the hub itself, whereas non-affected discs (Racingroovy for example) have the IFPI 45xx code in the read side of the outter ring of the hub, where the mastering ring code and the mastering SID code are located.

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

MrX_Cuci wrote:

I still get the invalid request error aswell. Different disc (dumps 100% btw)

added log to console. Please retest and show me a console log.

457 (edited by MrX_Cuci 2014-07-22 21:38:57)

I hope you mean this:

D:\DICLatest\DiscImageCreator\x64\Release_ANSI>DiscImageCreatorTEST.exe c
torMash 4
OS
        Windows 7 Ultimate Service Pack 1 64bit
AppVersion
        x86, AnsiBuild, Jul 22 2014 21:56:08
CurrentDir
        D:\DICLatest\DiscImageCreator\x64\Release_ANSI
InputPath
         path: MotorMash
        drive:
          dir:
        fname: MotorMash
          ext:
Start: 2014-07-22(Tue) 19:33:23
[F:SetSpeedRead][L:672] OperationCode: e9

ScsiStatus: 02-CHECK_CONDITION
SenseData Key:Asc:Ascq 05:24:00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Checking reading lead-out
Creating bin from 239689 to 239690 (LBA) 239690
Reading lead-out: OK
Operation Code: 0xd8, Sub Code: Pack
Creating img(LBA) 239689/239688
[L:1061] Internal error. Failed to analyze the subchannel. Track[02]/[14]
End: 2014-07-22(Tue) 19:50:08

Working dump (with invalid request error):

OS
        Windows 7 Ultimate Service Pack 1 64bit
AppVersion
        x86, AnsiBuild, Jul 22 2014 21:56:08
CurrentDir
        D:\DICLatest\DiscImageCreator\x64\Release_ANSI
InputPath
         path: ExtremeA
        drive:
          dir:
        fname: ExtremeA
          ext:
Start: 2014-07-22(Tue) 21:13:29
[F:SetSpeedRead][L:672] OperationCode: e9

ScsiStatus: 02-CHECK_CONDITION
SenseData Key:Asc:Ascq 05:24:00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Checking reading lead-out
Creating bin from 296839 to 296840 (LBA) 296840
Reading lead-out: OK
Operation Code: 0xd8, Sub Code: Pack
Creating img(LBA) 296839/296838
Copying .scm to .img
Descrambling data sector of img(LBA)  77465/ 77465
Checking ecc/edc LBA 296838/296838
User data vs. ecc/edc match all
Creating bin, cue, ccd(Track) 20/20
Calculating hash: ExtremeA (Track 01).bin
Calculating hash: ExtremeA (Track 02).bin
Calculating hash: ExtremeA (Track 03).bin
Calculating hash: ExtremeA (Track 04).bin
Calculating hash: ExtremeA (Track 05).bin
Calculating hash: ExtremeA (Track 06).bin
Calculating hash: ExtremeA (Track 07).bin
Calculating hash: ExtremeA (Track 08).bin
Calculating hash: ExtremeA (Track 09).bin
Calculating hash: ExtremeA (Track 10).bin
Calculating hash: ExtremeA (Track 11).bin
Calculating hash: ExtremeA (Track 12).bin
Calculating hash: ExtremeA (Track 13).bin
Calculating hash: ExtremeA (Track 14).bin
Calculating hash: ExtremeA (Track 15).bin
Calculating hash: ExtremeA (Track 16).bin
Calculating hash: ExtremeA (Track 17).bin
Calculating hash: ExtremeA (Track 18).bin
Calculating hash: ExtremeA (Track 19).bin
Calculating hash: ExtremeA (Track 20).bin
Calculating hash: ExtremeA.img

End: 2014-07-22(Tue) 21:32:43

Why subcodes of those discs are extracted in packed mode? Mine are extracted in raw mode, always. And what interface are you using to attach that drive? Internal ATAPI channel? Internal SATA channel? ATAPI/SATA to USB 2.0?

Another yet disc with those damn R-W subs, uploaded the logs and whatnot plus a raw subcode now properly extracted by my Plextor drive without cleaning anything.

https://www.mediafire.com/?nldg07nlloooent

D:\Redump\Dumps\Krazy Ivan (Japan)\discimagecreator>discimagecreator.exe cd g: discimagecreator 08 /c2 2000 8192 08
OS
        Windows Server 2003 Enterprise Edition Service Pack 2 32bit
AppVersion
        x86, AnsiBuild, Jul 22 2014 21:56:08
CurrentDir
        D:\Redump\Dumps\Krazy Ivan (Japan)\discimagecreator
InputPath
         path: discimagecreator
        drive:
          dir:
        fname: discimagecreator
          ext:
Start: 2014-07-24(Thu) 00:06:44
Checking reading lead-out
Creating bin from 306893 to 306894 (LBA) 306894
Reading lead-out: OK
Allocating memory for C2 error: 8192/8192
Operation Code: 0xd8, Sub Code: Raw
Creating img(LBA) 306893/306892
C2 error didn't exist
Copying .scm to .img
Descrambling data sector of img(LBA) 144878/144878
Checking ecc/edc LBA 306892/306892
User data vs. ecc/edc doesn't match num: 1
        Sector: 144878,

User data vs. ecc/edc match, except edc doesn't exist to a sector: 20330
Creating bin, cue, ccd(Track) 13/13
Free memory for C2 error: 8192/8192
Calculating hash: discimagecreator (Track 01).bin
Calculating hash: discimagecreator (Track 02).bin
Calculating hash: discimagecreator (Track 03).bin
Calculating hash: discimagecreator (Track 04).bin
Calculating hash: discimagecreator (Track 05).bin
Calculating hash: discimagecreator (Track 06).bin
Calculating hash: discimagecreator (Track 07).bin
Calculating hash: discimagecreator (Track 08).bin
Calculating hash: discimagecreator (Track 09).bin
Calculating hash: discimagecreator (Track 10).bin
Calculating hash: discimagecreator (Track 11).bin
Calculating hash: discimagecreator (Track 12).bin
Calculating hash: discimagecreator (Track 13).bin
Calculating hash: discimagecreator.img

End: 2014-07-24(Thu) 00:16:03

By the way, possible texts you could enhance, so that they sound more natural:

Sub Code ---> Subcode reading mode
C2 error didn't exist ---> No C2 errors
Operation Code ---> Read command
Allocating memory for C2 error ---> Allocating memory for C2 errors
Creating img(LBA) --->Creating img (LBA)
Checking ecc/edc ---> Checking data sectors
User data vs. ecc/edc doesn't match num: ---> Number of sector(s) where user data doesn't match the expected ECC/EDC
User data vs. ecc/edc match, except edc doesn't exist to a sector ---> Number of sector(s) where while user data does match the expected ECC/EDC there is no EDC
Creating bin, cue, ccd(Track) --> Creating bin, cue and ccd (Track)
Free memory for C2 error ---> Freeing allocated memory for C2 errors

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

[F:SetSpeedRead][L:672] OperationCode: e9

"SpeedRead" doesn't support in PX-708??
If you have already installed plextools professional xl, please confirm "Enable SpeedRead CD/DVD".
If PX-708 is supported, I'll buy it to test.

pablogm123 wrote:

Why subcodes of those discs are extracted in packed mode? Mine are extracted in raw mode, always.

http://forum.redump.org/post/48058/#p48058
and tested below. (0xd8, 0x08 gets main+C2+sub)
Disc is "Ore no Shikabane wo Koete Yuke"
Drive is PX-5224

====== Check SubP to W, OperationCode: 0xbe, Subcode: 1(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 02
====== Check SubP to W, OperationCode: 0xbe, Subcode: 4(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x02(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x03(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x08(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 01
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 03
    W 00 00 00 00 00 00 00 00 00 00 00 00

Result:
0xd8 command to get main+c2+sub(pack) directly doesn't exist.
If you get those, app needs to get main+c2 using 0xd8 and 0x08, and needs to get sub using 0xd8 and 0x02 or 0x03.

By the way, possible texts you could enhance, so that they sound more natural:

Thanks for native speaker big_smile

460 (edited by pablogm123 2014-08-18 17:49:54)

SpeedRead is supported even by my old PX-W4824TA drive. So go figure any +30 drive. Sounds to filter drives (CloneCD, Alcohol 120%, just to mention a few of them) or virtual drives (especially the ones based on the damn sptd.sys driver) preventing that command for being supported correctly. Due to this kind of things and bad experiences in the past, in my main OS installed in the SSD drive it's completely forbidden the installation of this pure trash. If I need this software (very sporadically) I prefer to clone the SSD drive into a VelociRaptor, disable physically the SSD, boot from the VelociRaptor, install that software, do whatever is needed, deattach the VelociRaptor and now boot from my SSD.

That... or perhaps an elevated command prompt is needed for this kind of low level commands.

============

So in fact... are there a raw mode and a packed mode for D8 read command? Interesting.

Can you choose freely the subcode extracting mode for D8 without depending on the C2 pointers? Does D8 read command plus 08 mode for subcodes the trick?

It seems that for extracting C2 pointers in D8 mode, full subs are needed yes or yes. And I understand from your post that for extracting raw subcodes in D8 mode, C2 pointers are needed yes or yes. Well, that makes sense, because I rip with C2 pointers and DIC reports raw mode like the one used. MrX_Cuci rips without C2 pointers (maybe because it's a SafeDisc CD?) and selected mode is the packed according to the output. If so, description of the CDB used?

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

461 (edited by MrX_Cuci 2014-07-25 20:39:15)

Even if I use your parameters (http://forum.redump.org/post/48068/#p48068) I get the same CDB error.

If I use, 08 /c2 2000 8192 08, RAW mode is indeed used, but Motor Mash still fails to dump.

Speedread is indeed not supported according to PlexTools XL, so that explains the error.

Man, you have a X-File...

Even the older PX-W4824TA/TU drive can support that. More or less supports the same functions than Premium / Premium II and authentic PX-7xx drives, except Gigarec, that piece of pure trash named Silent Mode (due to this my PX-755SA won't read any pressed CD at 24x or higher speeds, 8x is the maximum speed), PowerRec and quality scans. Hide CD-R media, force single session mode and SpeedRead are available for any real Plextor drive I own.

Installed software which installs filter drives? My system is completely clean, absolutely 0 3rd party filter drivers and 0 drivers for virtual drives. And will stay that way.

===============================================
Filter Driver Load Order - ImgBurn v2.5.8.0
===============================================

Upper Device Filter:  redbook
 Upper Class Filter:  [None Found]
             Device:  CD/DVD-ROM Device
Lower Device Filter:  imapi

        Filter Name:  redbook
          File Name:  C:\WINDOWS\system32\DRIVERS\redbook.sys
       File Version:  5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
   File Description:  Redbook Audio Filter Driver
       Product Name:  Microsoft® Windows® Operating System
    Product Version:  5.2.3790.3959
       Company Name:  Microsoft Corporation
          Copyright:  © Microsoft Corporation. All rights reserved.

        Filter Name:  imapi
          File Name:  C:\WINDOWS\system32\DRIVERS\imapi.sys
       File Version:  5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
   File Description:  IMAPI Kernel Driver
       Product Name:  Microsoft® Windows® Operating System
    Product Version:  5.2.3790.3959
       Company Name:  Microsoft Corporation
          Copyright:  © Microsoft Corporation. All rights reserved.

A parameter in order to avoid DIC controlling this feature is needed, I guess.

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

Hmmm....Plextools says it's an 708UF WIndows tells me it's a 708A. Firmware can be used for both. I cleared any third party virtuel drives. SPTD drivers are uninstalled.

PX-708UF, 'nuff said... ATAPI to USB bridge chip cannot pass properly certain low level commands for sure. At least my external PX-W4824TU supports these things properly, ATAPI to USB bridge chip is NEC, as far I remember, supposedly the best ones. Perhaps for the PX-708UF drive Plextor decided to implement a cheaper brand and thus support for certain low level commands isn't 100% OK.

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

My PX-708A does not support speedread either, but my PX-716A does.

I understood that PX-708 didn't support speedread.
http://ysscdr.web.fc2.com/px708a/px708a_02.htm
Fixed.

Solved X-File?

One thing... why don't implement an ultra-secure mode?

"ultrasecure n" Where n would be the number of read passes.

Idea is basically this one:

-Read multiple times the disc, as defined by n. I mean read the entire disc from AMSF 00:02:00 until the last pre-lead-out sector, and then read it another time, same method. Not to read n times 24 sectors (or whatever number of sectors read by DIC in a read command), the next 24 sectors n times and so on.

-If dumps of multiple passes do match and there are no C2 errors, create the final dump as usual.

-If they missmatch and at least one of them contains C2 errors, then cross/combine the C2 errors reported by the n passes and reread the questionable sectors until they can be recovered or limit of rereads for individual sectors is exhausted.

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

468 (edited by MrX_Cuci 2014-07-27 09:47:12)

@sarami Interesting read that article. Seems the drive can dump safedisc up until 2.8 without problems. (Read create a correct burnable image) does this mean emulation is required to run the dumped image from 2.9 and up? If so, which drive can dump 2.9 and upward correctly?

SD 2.9
http://homepage2.nifty.com/yss/sd29/sd29.htm
SD 3.1
http://homepage2.nifty.com/yss/sd3/sd3.htm

EDIT:
rumor level, dont be serious.
I have H-L GSA-4040B, but have no SD2.9(up) games.

EDIT2:
some test data
LG Electronics GSA-4040B (+667)(Overread Lead-In)

pablogm123 wrote:

Yes, I understand... no FUA for D8 command

sptd.Cdb[0]  = 0xD8;
sptd.Cdb[1]  = (FUAbit << 3);
sptd.Cdb[2]  = byte((TargetSector>>24)&0xFF); // msb
sptd.Cdb[3]  = byte((TargetSector>>16)&0xFF);
sptd.Cdb[4]  = byte((TargetSector>>8)&0xFF);
sptd.Cdb[5]  = byte((TargetSector)&0xFF);     // lsb
sptd.Cdb[6]  = byte((NbSectors>>24)&0xFF);    // msb
sptd.Cdb[7]  = byte((NbSectors>>16)&0xFF);
sptd.Cdb[8]  = byte((NbSectors>>8)&0xFF);
sptd.Cdb[9]  = byte((NbSectors)&0xFF);        // lsb

Taken from http://club.myce.com/attachments/f61/20 … hexsrc.zip

FUAbit == "True", if 0xD8(FUA) is supported by the drive, so, sptd.Cdb[1] = 1 << 3 = 1*2*2*2 = 8.

F1ReB4LL wrote:
pablogm123 wrote:

Yes, I understand... no FUA for D8 command

sptd.Cdb[0]  = 0xD8;
sptd.Cdb[1]  = (FUAbit << 3);
sptd.Cdb[2]  = byte((TargetSector>>24)&0xFF); // msb
sptd.Cdb[3]  = byte((TargetSector>>16)&0xFF);
sptd.Cdb[4]  = byte((TargetSector>>8)&0xFF);
sptd.Cdb[5]  = byte((TargetSector)&0xFF);     // lsb
sptd.Cdb[6]  = byte((NbSectors>>24)&0xFF);    // msb
sptd.Cdb[7]  = byte((NbSectors>>16)&0xFF);
sptd.Cdb[8]  = byte((NbSectors>>8)&0xFF);
sptd.Cdb[9]  = byte((NbSectors)&0xFF);        // lsb

Taken from http://club.myce.com/attachments/f61/20 … hexsrc.zip

FUAbit == "True", if 0xD8(FUA) is supported by the drive, so, sptd.Cdb[1] = 1 << 3 = 1*2*2*2 = 8.

Tested PX-W5224A

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on H is  PLEXTOR  CD-R   PX-W5224A 1.04

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D8h

According to src, if it support fua, show "D8h(FUA)".
If a plextor drive that supported fua exists, I'll code it.

Mine shows the same:

Drive on H is  PLEXTOR  DVDR   PX-760A   1.07

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D8h
[+] Plextor flush command: accepted
[+] Plextor flush tests: 3/3
[+] Testing cache line size:
581 kB / 253 sectors
581 kB / 253 sectors
581 kB / 253 sectors

http://forum.duplexsecure.com/showthread.php?t=280
http://forum.dbpoweramp.com/showthread. … -CD-Drives
Some people there have "[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D4h(FUA) D5h(FUA) D8h(FUA)" even with PX-760A 1.06 (maybe no more FUA for 0xD8 in 1.07 firmware?)

void InitSPTDStructureForREAD(unsigned char CDBLength, unsigned int NbSectors)
{
    // fill in sptd structure
    sptd.Length             = sizeof(sptd);
    sptd.PathId             = 0;                  // SCSI card ID will be filled in automatically
    sptd.TargetId           = 0;                  // SCSI target ID will also be filled in
    sptd.Lun                = 0;                  // SCSI lun ID will also be filled in
    sptd.CdbLength          = CDBLength;          // CDB size 
    sptd.SenseInfoLength    = 0;                  // Don't return any sense data
    sptd.DataIn             = SCSI_IOCTL_DATA_IN; // There will be data from drive
    sptd.DataTransferLength = 2448 * NbSectors;   // Size of data 
    sptd.TimeOutValue       = 60;                 // SCSI timeout value 
    sptd.DataBuffer         = (PVOID)(DataBuf);
    sptd.SenseInfoOffset    = 0;
}

I understood that CacheExplorer doesn't use senseinfo.

http://forum.duplexsecure.com/showpost. … ostcount=2

To make it short: this tool uses SPTI interface in "unreliable" manner: it sends
IOCTL_SCSI_PASS_THROUGH_DIRECT requests without specifying sense info buffer and uses REQUEST SENSE command in case of error. It is not a good way to work with SPTI - it may be ok only if you know device returns no error.
For proper operation on all Windows platforms IOCTL_SCSI_PASS_THROUGH_DIRECT must specify non-zero SenseInfoOffset and SenseInfoLength in SCSI_PASS_THROUGH_DIRECT structure.

I think so.
If CacheExplorer uses a sense info and specifies ReadD4, ReadD5 ReadD8(FUA), it will probably return a sense info below.

ScsiStatus: 02-CHECK_CONDITION
SenseData Key:Asc:Ascq 05:24:00, ILLEGAL_REQUEST - INVALID FIELD IN CDB

Every real Plextor drive I own supports D8h (FUA).

http://forum.redump.org/post/45164/#p45164

On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot

pablogm123 wrote:

Every real Plextor drive I own supports D8h (FUA).

http://forum.redump.org/post/45164/#p45164

I don’t know whether it supports D8h(FUA) from this post.
Please use -i command and show "[+] Supported read commands:"