scsiEnterPhase(COMMAND);\r
scsiDev.parityError = 0;\r
\r
- memset(scsiDev.cdb, 0, sizeof(scsiDev.cdb));\r
- scsiDev.cdb[0] = scsiReadByte();\r
+ memset(scsiDev.cdb + 6, 0, sizeof(scsiDev.cdb) - 6);\r
+ scsiRead(scsiDev.cdb, 6);\r
\r
group = scsiDev.cdb[0] >> 5;\r
scsiDev.cdbLen = CmdGroupBytes[group];\r
- scsiRead(scsiDev.cdb + 1, scsiDev.cdbLen - 1);\r
+ if (scsiDev.cdbLen - 6 > 0)\r
+ {\r
+ scsiRead(scsiDev.cdb + 6, scsiDev.cdbLen - 6);\r
+ }\r
\r
command = scsiDev.cdb[0];\r
\r