| 
					
				 | 
			
			
				@@ -25,6 +25,18 @@ static void doAssignDiskParameters(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	scsiDev.phase = STATUS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// XEBEC specific commands 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// http://www.bitsavers.org/pdf/xebec/104524C_S1410Man_Aug83.pdf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// WD100x seems to be identical to the Xebec but calls this command "Set Parameters" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// http://www.bitsavers.org/pdf/westernDigital/WD100x/79-000004_WD1002-SHD_OEM_Manual_Aug1984.pdf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void doXebecInitializeDriveCharacteristics() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (scsiDev.status == GOOD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		scsiDev.phase = STATUS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int scsiVendorCommand() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	int commandHandled = 1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48,6 +60,15 @@ int scsiVendorCommand() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		scsiDev.phase = DATA_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		scsiDev.postDataOutHook = doAssignDiskParameters; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else if (command == 0x0C && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_XEBEC) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// XEBEC S1410: "Initialize Drive Characteristics" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// WD100x: "Set Parameters" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		scsiDev.dataLen = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		scsiDev.phase = DATA_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		scsiDev.postDataOutHook = doXebecInitializeDriveCharacteristics; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else if (command == 0x0F && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_XEBEC) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 |