Forráskód Böngészése

Add missing files

Michael McMaster 8 éve
szülő
commit
af384a4782
2 módosított fájl, 80 hozzáadás és 0 törlés
  1. 58 0
      lib/SCSI2SD/src/firmware/vendor.c
  2. 22 0
      lib/SCSI2SD/src/firmware/vendor.h

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

@@ -0,0 +1,58 @@
+//	Copyright (C) 2016 Michael McMaster <michael@codesrc.com>
+//
+//	This file is part of SCSI2SD.
+//
+//	SCSI2SD is free software: you can redistribute it and/or modify
+//	it under the terms of the GNU General Public License as published by
+//	the Free Software Foundation, either version 3 of the License, or
+//	(at your option) any later version.
+//
+//	SCSI2SD is distributed in the hope that it will be useful,
+//	but WITHOUT ANY WARRANTY; without even the implied warranty of
+//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//	GNU General Public License for more details.
+//
+//	You should have received a copy of the GNU General Public License
+//	along with SCSI2SD.  If not, see <http://www.gnu.org/licenses/>.
+
+#include "scsi.h"
+#include "vendor.h"
+
+
+// Callback after the DATA OUT phase is complete.
+static void doAssignDiskParameters(void)
+{
+	scsiDev.phase = STATUS;
+}
+
+int scsiVendorCommand()
+{
+	int commandHandled = 1;
+
+	uint8_t command = scsiDev.cdb[0];
+
+	if (command == 0xC0)
+	{
+		// Define flexible disk format
+		// OMTI-5204 controller
+		// http://bitsavers.informatik.uni-stuttgart.de/pdf/sms/OMTI_5x00.pdf
+		// Stub. Sectors-per-track should be configured by scsi2sd-util
+	}
+	else if (command == 0xC2)
+	{
+		// Assign Disk Parameters command
+		// OMTI-5204 controller
+		// http://bitsavers.informatik.uni-stuttgart.de/pdf/sms/OMTI_5x00.pdf
+		// Stub to read and discard 10 bytes.
+		scsiDev.dataLen = 10;
+		scsiDev.phase = DATA_OUT;
+		scsiDev.postDataOutHook = doAssignDiskParameters;
+	}
+	else
+	{
+		commandHandled = 0;
+	}
+
+	return commandHandled;
+}
+

+ 22 - 0
lib/SCSI2SD/src/firmware/vendor.h

@@ -0,0 +1,22 @@
+//	Copyright (C) 2016 Michael McMaster <michael@codesrc.com>
+//
+//	This file is part of SCSI2SD.
+//
+//	SCSI2SD is free software: you can redistribute it and/or modify
+//	it under the terms of the GNU General Public License as published by
+//	the Free Software Foundation, either version 3 of the License, or
+//	(at your option) any later version.
+//
+//	SCSI2SD is distributed in the hope that it will be useful,
+//	but WITHOUT ANY WARRANTY; without even the implied warranty of
+//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//	GNU General Public License for more details.
+//
+//	You should have received a copy of the GNU General Public License
+//	along with SCSI2SD.  If not, see <http://www.gnu.org/licenses/>.
+#ifndef S2S_VENDOR_H
+#define S2S_VENDOR_H
+
+int scsiVendorCommand(void);
+
+#endif