|
@@ -17,7 +17,7 @@
|
|
|
|
|
|
|
|
#include "scsi.h"
|
|
#include "scsi.h"
|
|
|
#include "vendor.h"
|
|
#include "vendor.h"
|
|
|
-
|
|
|
|
|
|
|
+#include "diagnostic.h"
|
|
|
|
|
|
|
|
// Callback after the DATA OUT phase is complete.
|
|
// Callback after the DATA OUT phase is complete.
|
|
|
static void doAssignDiskParameters(void)
|
|
static void doAssignDiskParameters(void)
|
|
@@ -48,6 +48,14 @@ int scsiVendorCommand()
|
|
|
scsiDev.phase = DATA_OUT;
|
|
scsiDev.phase = DATA_OUT;
|
|
|
scsiDev.postDataOutHook = doAssignDiskParameters;
|
|
scsiDev.postDataOutHook = doAssignDiskParameters;
|
|
|
}
|
|
}
|
|
|
|
|
+ else if (command == 0x0F &&
|
|
|
|
|
+ scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_XEBEC)
|
|
|
|
|
+ {
|
|
|
|
|
+ // XEBEC S1410, WD100x: "Write Sector Buffer"
|
|
|
|
|
+ scsiDev.dataLen = scsiDev.target->liveCfg.bytesPerSector;
|
|
|
|
|
+ scsiDev.phase = DATA_OUT;
|
|
|
|
|
+ scsiDev.postDataOutHook = doWriteBuffer;
|
|
|
|
|
+ }
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
commandHandled = 0;
|
|
commandHandled = 0;
|