mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Corrected incorrect handling of ATA READ LONG, READ TOC/PMA/ATIP and PIONEER READ CD-DA MSF commands.
This commit is contained in:
@@ -202,9 +202,9 @@ namespace DiscImageChef.Devices
|
||||
bool sense;
|
||||
|
||||
if(retry)
|
||||
registers.command = (byte)AtaCommands.ReadLong;
|
||||
else
|
||||
registers.command = (byte)AtaCommands.ReadLongRetry;
|
||||
else
|
||||
registers.command = (byte)AtaCommands.ReadLong;
|
||||
registers.sectorCount = 1;
|
||||
registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
|
||||
registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
|
||||
|
||||
@@ -292,7 +292,7 @@ namespace DiscImageChef.Devices
|
||||
byte[] tmpBuffer;
|
||||
bool sense;
|
||||
|
||||
if(format == 5)
|
||||
if((format & 0x0F)== 5)
|
||||
tmpBuffer = new byte[32768];
|
||||
else
|
||||
tmpBuffer = new byte[1024];
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace DiscImageChef.Devices
|
||||
byte[] cdb = new byte[12];
|
||||
bool sense;
|
||||
|
||||
cdb[0] = (byte)ScsiCommands.ReadCdMsf;
|
||||
cdb[0] = (byte)ScsiCommands.ReadCdDaMsf;
|
||||
cdb[3] = (byte)((startMsf & 0xFF0000) >> 16);
|
||||
cdb[4] = (byte)((startMsf & 0xFF00) >> 8);
|
||||
cdb[5] = (byte)(startMsf & 0xFF);
|
||||
|
||||
Reference in New Issue
Block a user