Implement Read Defect Data 0x37

This commit is contained in:
Eric Helgeson 2022-06-02 21:49:27 -05:00
parent 2338d8f153
commit d6ff7017c9
1 changed files with 17 additions and 0 deletions

View File

@ -1489,6 +1489,20 @@ byte onSendDiagnostic(byte flags)
}
}
/*
* Read Defect Data
*/
byte onReadDefectData(const byte *cdb)
{
byte response[4] = {
0x0, // Reserved
cdb[2], // echo back Reserved, Plist, Glist, Defect list format
cdb[7], cdb[8] // echo back defect list length
};
writeDataPhase(4, response);
return SCSI_STATUS_GOOD;
}
/*
* MsgIn2.
*/
@ -1734,6 +1748,9 @@ void loop()
case SCSI_SEND_DIAG:
m_sts |= onSendDiagnostic(cmd[1]);
break;
case SCSI_READ_DEFECT_DATA:
m_sts |= onReadDefectData(cmd);
break;
case SCSI_LOCK_UNLOCK_CACHE: // Commands we dont have anything to do but can safely respond GOOD.
case SCSI_PREFETCH: // In the future we could implement something to mimic these.
case SCSI_PREVENT_ALLOW_REMOVAL: