| 
														
															@@ -877,12 +877,13 @@ void writeDataLoop(uint32_t blocksize) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void writeDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
														
														 | 
														
															 void writeDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   LOGN("DATAIN PHASE(SD)"); 
														 | 
														
														 | 
														
															   LOGN("DATAIN PHASE(SD)"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  m_img->m_file.seek(pos); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vIO ,  active) //  gpio_write(IO, high); 
														 | 
														
														 | 
														
															   SCSI_OUT(vIO ,  active) //  gpio_write(IO, high); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  //Bus settle delay 400ns, file.seek() measured at over 1000ns. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  m_img->m_file.seek(pos); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_DB_OUTPUT() 
														 | 
														
														 | 
														
															   SCSI_DB_OUTPUT() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
														
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -966,11 +967,13 @@ void readDataLoop(uint32_t blockSize) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void readDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
														
														 | 
														
															 void readDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   LOGN("DATAOUT PHASE(SD)"); 
														 | 
														
														 | 
														
															   LOGN("DATAOUT PHASE(SD)"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  m_img->m_file.seek(pos); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vIO ,inactive) //  gpio_write(IO, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vIO ,inactive) //  gpio_write(IO, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  //Bus settle delay 400ns, file.seek() measured at over 1000ns. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  m_img->m_file.seek(pos); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
														
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     m_resetJmp = true; 
														 | 
														
														 | 
														
															     m_resetJmp = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if WRITE_SPEED_OPTIMIZE 
														 | 
														
														 | 
														
															 #if WRITE_SPEED_OPTIMIZE 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -998,11 +1001,13 @@ void readDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void verifyDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
														
														 | 
														
															 void verifyDataPhaseSD(uint32_t adds, uint32_t len) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   LOGN("DATAOUT PHASE(SD)"); 
														 | 
														
														 | 
														
															   LOGN("DATAOUT PHASE(SD)"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  m_img->m_file.seek(pos); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vMSG,inactive) //  gpio_write(MSG, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vCD ,inactive) //  gpio_write(CD, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   SCSI_OUT(vIO ,inactive) //  gpio_write(IO, low); 
														 | 
														
														 | 
														
															   SCSI_OUT(vIO ,inactive) //  gpio_write(IO, low); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  //Bus settle delay 400ns, file.seek() measured at over 1000ns. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  uint32_t pos = adds * m_img->m_blocksize; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  m_img->m_file.seek(pos); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
														
														 | 
														
															   for(uint32_t i = 0; i < len; i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if WRITE_SPEED_OPTIMIZE 
														 | 
														
														 | 
														
															 #if WRITE_SPEED_OPTIMIZE 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     readDataLoop(m_img->m_blocksize); 
														 | 
														
														 | 
														
															     readDataLoop(m_img->m_blocksize); 
														 |