/* Speed, Assert, Deskew, Hold, Glitch */\r
{/*1.5MB/s*/ 28, 18, 13, 13},\r
{/*3.3MB/s*/ 13, 6, 6, 13},\r
-{/*5MB/s*/ 9, 6, 6, 6} // 80ns\r
+{/*5MB/s*/ 9, 6, 6, 6}, // 80ns\r
+{/*safe*/ 3, 6, 6, 6}, // Probably safe\r
+{/*turbo*/ 3, 3, 3, 2}\r
};\r
\r
#define SCSI_ASYNC_15 0\r
#define SCSI_ASYNC_33 1\r
#define SCSI_ASYNC_50 2\r
+#define SCSI_ASYNC_SAFE 3\r
+#define SCSI_ASYNC_TURBO 4\r
\r
// 5MB/s synchronous timing\r
#define SCSI_FAST5_DESKEW 6 // 55ns\r
static void\r
scsiSetDefaultTiming()\r
{\r
- const uint8_t* asyncTiming = asyncTimings[3];\r
+ const uint8_t* asyncTiming = asyncTimings[0];\r
scsiSetTiming(\r
asyncTiming[0],\r
asyncTiming[1],\r
*SCSI_CTRL_SYNC_OFFSET = 0;\r
const uint8_t* asyncTiming;\r
\r
- if (scsiDev.boardCfg.scsiSpeed == S2S_CFG_SPEED_NoLimit ||\r
- scsiDev.boardCfg.scsiSpeed >= S2S_CFG_SPEED_ASYNC_50) {\r
-\r
+ if (scsiDev.boardCfg.scsiSpeed == S2S_CFG_SPEED_NoLimit)\r
+ {\r
+ asyncTiming = asyncTimings[SCSI_ASYNC_SAFE];\r
+ }\r
+ else if (scsiDev.boardCfg.scsiSpeed >= S2S_CFG_SPEED_TURBO)\r
+ {\r
+ asyncTiming = asyncTimings[SCSI_ASYNC_TURBO];\r
+ }\r
+ else if (scsiDev.boardCfg.scsiSpeed >= S2S_CFG_SPEED_ASYNC_50)\r
+ {\r
asyncTiming = asyncTimings[SCSI_ASYNC_50];\r
} else if (scsiDev.boardCfg.scsiSpeed >= S2S_CFG_SPEED_ASYNC_33) {\r
\r