Explorar o código

Add SCSI_SENSE_MODE_FLEXABLE_GEOMETRY

Eric Helgeson %!s(int64=3) %!d(string=hai) anos
pai
achega
3c258451fa
Modificáronse 2 ficheiros con 10 adicións e 0 borrados
  1. 9 0
      src/BlueSCSI.cpp
  2. 1 0
      src/scsi_sense.h

+ 9 - 0
src/BlueSCSI.cpp

@@ -1291,6 +1291,15 @@ byte onModeSenseCommand(byte scsi_cmd, byte dbd, byte cmd2, uint32_t len)
     }
     a += 0x18;
     if(pageCode != SCSI_SENSE_MODE_ALL) break;
+  case SCSI_SENSE_MODE_FLEXABLE_GEOMETRY:
+    m_buf[a + 0] = SCSI_SENSE_MODE_FLEXABLE_GEOMETRY;
+    m_buf[a + 1] = 0x1E;  // Page length
+    m_buf[a + 2] = 0x03E8; // Transfer rate 1 mbit/s
+    m_buf[a + 4] = 16; // Number of heads
+    m_buf[a + 5] = 18; // Sectors per track
+    m_buf[a + 6] = 0x2000; // Data bytes per sector
+    a += 0x1E;
+    if(pageCode != SCSI_SENSE_MODE_ALL) break;
   case SCSI_SENSE_MODE_VENDOR_APPLE:
     {
       const byte page30[0x14] = {0x41, 0x50, 0x50, 0x4C, 0x45, 0x20, 0x43, 0x4F, 0x4D, 0x50, 0x55, 0x54, 0x45, 0x52, 0x2C, 0x20, 0x49, 0x4E, 0x43, 0x20};

+ 1 - 0
src/scsi_sense.h

@@ -37,6 +37,7 @@
 #define SCSI_SENSE_MODE_DISCONNECT_RECONNECT        0x02
 #define SCSI_SENSE_MODE_FORMAT_DEVICE               0x03
 #define SCSI_SENSE_MODE_DISK_GEOMETRY               0x04
+#define SCSI_SENSE_MODE_FLEXABLE_GEOMETRY           0x05
 #define SCSI_SENSE_MODE_VENDOR_APPLE                0x30
 
 #define SCSI_SENSE_MODE_ALL                         0x3F