Переглянути джерело

sasi: Added Xebec (SASI E0 and E4 Commands) handling
Adding handling for SASI E0 and E4 commands as used by Xebec controller and Sider Hard Disk (First Class Peripherals) for the Apple II

peclark1 1 рік тому
батько
коміт
e1ed361871
2 змінених файлів з 17 додано та 0 видалено
  1. 15 0
      lib/SCSI2SD/src/firmware/vendor.c
  2. 2 0
      src/BlueSCSI_log_trace.cpp

+ 15 - 0
lib/SCSI2SD/src/firmware/vendor.c

@@ -80,6 +80,21 @@ int scsiVendorCommand()
 		scsiDev.phase = DATA_OUT;
 		scsiDev.postDataOutHook = doWriteBuffer;
 	}
+	else if (command == 0xE0 &&
+		scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_XEBEC)
+	{
+	  // RAM Diagnostic
+	  // XEBEC S1410 controller
+	  // http://bitsavers.informatik.uni-stuttgart.de/pdf/xebec/104524C_S1410Man_Aug83.pdf
+	  // Stub, return success
+	}
+	else if (command == 0xE4 &&
+		scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_XEBEC)
+	{
+	  // Drive Diagnostic
+	  // XEBEC S1410 controller
+	  // Stub, return success
+	}
 	else
 	{
 		commandHandled = 0;

+ 2 - 0
src/BlueSCSI_log_trace.cpp

@@ -82,6 +82,8 @@ static const char *getCommandName(uint8_t cmd)
         case 0xA8: return "Read12";
         case 0xC0: return "OMTI-5204 DefineFlexibleDiskFormat";
         case 0xC2: return "OMTI-5204 AssignDiskParameters";
+        case 0xE0: return "Xebec RAM Diagnostic";
+        case 0xE4: return "Xebec Drive Diagnostic";
         case BLUESCSI_TOOLBOX_COUNT_FILES: return "BLUESCSI_TOOLBOX_COUNT_FILES";
         case BLUESCSI_TOOLBOX_LIST_FILES: return "BLUESCSI_TOOLBOX_LIST_FILES";
         case BLUESCSI_TOOLBOX_GET_FILE: return "BLUESCSI_TOOLBOX_GET_FILE";