|  | @@ -72,12 +72,18 @@ SdFs SD;
 | 
	
		
			
				|  |  |  FsFile LOG_FILE;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Data pins
 | 
	
		
			
				|  |  | -//                                                    5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
 | 
	
		
			
				|  |  | -static const uint32_t scsiDbOutputRegOr_PDREG    = 0b00000000000000000101010101010101;
 | 
	
		
			
				|  |  | -static const uint32_t scsiDbInputOutputAnd_PDREG = 0b00000000000000000000000000000000;
 | 
	
		
			
				|  |  | -//                                                    5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
 | 
	
		
			
				|  |  | -static const uint32_t scsiDbOutputRegOr_PEREG    = 0b00000000000000000000000000000001;
 | 
	
		
			
				|  |  | -static const uint32_t scsiDbInputOutputAnd_PEREG = 0b00000000000000000011111111110000;
 | 
	
		
			
				|  |  | +//                                                         5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbOutputRegOr_PDREG         = 0b00000000000000000101010101010101;
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbInputOutputAnd_PDREG      = 0b00000000000000000000000000000000;
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbInputOutputPullAnd_PDREG  = 0b00000000000000000101010101010101;
 | 
	
		
			
				|  |  | +// Control pins
 | 
	
		
			
				|  |  | +//                                                         5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbOutputRegOr_PEREG         = 0b00000000000000000000000000000001;
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbInputOutputAnd_PEREG      = 0b00000000000000000011111111110000;
 | 
	
		
			
				|  |  | +static const uint32_t scsiDbInputOutputPullAnd_PEREG  = 0b00000000000000000101010101010001;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -88,7 +94,7 @@ static const uint32_t scsiDbInputOutputAnd_PEREG = 0b000000000000000000111111111
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Put DB and DP in input mode
 | 
	
		
			
				|  |  |  #define SCSI_DB_INPUT()  { PDREG->MODER = (PDREG->MODER & scsiDbInputOutputAnd_PDREG); PEREG->MODER = (PEREG->MODER & scsiDbInputOutputAnd_PEREG); SCSI_OUTPUT_IN();}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +#define SCSI_SET_PULL()  { PDREG->PUPDR |= scsiDbInputOutputPullAnd_PDREG; PEREG->PUPDR |= scsiDbInputOutputPullAnd_PEREG; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // BSY,REQ,MSG,CD,IO Turn off output, BSY is the last input
 | 
	
		
			
				|  |  |  #define SCSI_TARGET_INACTIVE() { SCSI_OUT(vREQ,inactive); SCSI_OUT(vMSG,inactive); SCSI_OUT(vCD,inactive); SCSI_OUT(vIO,inactive); SCSI_OUT(vBSY,inactive); pinMode(BOARD_SCSI_BSY, INPUT); }
 | 
	
	
		
			
				|  | @@ -300,8 +306,15 @@ bool hddimageOpen(HDDIMG *h,const char *image_name,int id,int lun,int blocksize)
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  void setup()
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | +  //Setup GPIO
 | 
	
		
			
				|  |  |    gpioInit();
 | 
	
		
			
				|  |  |    
 | 
	
		
			
				|  |  | +  SCSI_OUTPUT_IN() ;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  SCSI_SET_PULL();
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  //Default turn termination off
 | 
	
		
			
				|  |  | +  TERMINATION_HIGH();
 | 
	
		
			
				|  |  |  #if DEBUG > 0
 | 
	
		
			
				|  |  |    Serial.begin(19200);
 | 
	
		
			
				|  |  |    delay(3000);
 | 
	
	
		
			
				|  | @@ -310,11 +323,6 @@ void setup()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  //Default turn termination off
 | 
	
		
			
				|  |  | -  TERMINATION_HIGH();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    //Turn Power LED ON
 | 
	
		
			
				|  |  |    LED2_ON();
 | 
	
		
			
				|  |  |    //Check if SD card is inserted
 |