|
@@ -71,13 +71,23 @@ SdFs SD;
|
|
|
// Logfile
|
|
|
FsFile LOG_FILE;
|
|
|
|
|
|
-static const uint32_t scsiDbOutputRegOr = 0x55150011; // 0b01010101 00010101 00000000 00010001
|
|
|
-static const uint32_t scsiDbInputOutputAnd = 0x00C0FFCC; // 0b00000000 11000000 11111111 11001100
|
|
|
+// 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;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// Put DB and DP in output mode
|
|
|
-#define SCSI_DB_OUTPUT() { PBREG->MODER = (PBREG->MODER & scsiDbInputOutputAnd) | scsiDbOutputRegOr; }
|
|
|
+#define SCSI_DB_OUTPUT() { PDREG->MODER = (PDREG->MODER & scsiDbInputOutputAnd_PDREG) | scsiDbOutputRegOr_PDREG; PEREG->MODER = (PEREG->MODER & scsiDbInputOutputAnd_PEREG) | scsiDbOutputRegOr_PEREG; }
|
|
|
|
|
|
// Put DB and DP in input mode
|
|
|
-#define SCSI_DB_INPUT() { PBREG->MODER = (PBREG->MODER & scsiDbInputOutputAnd); }
|
|
|
+#define SCSI_DB_INPUT() { PDREG->MODER = (PDREG->MODER & scsiDbInputOutputAnd_PDREG); PEREG->MODER = (PEREG->MODER & scsiDbInputOutputAnd_PEREG); }
|
|
|
|
|
|
|
|
|
// BSY,REQ,MSG,CD,IO Turn off output, BSY is the last input
|