Update BlueSCSI.cpp

Fix incorrect array data type and update SEL -> MSG/CMD  transition
This commit is contained in:
androda 2021-04-10 12:55:46 -06:00
parent fc864d2843
commit 8d0dfd0b90

View File

@ -189,7 +189,7 @@ byte m_msg; // Message bytes
HDDIMG *m_img; // HDD image for current SCSI-ID, LUN
byte m_buf[MAX_BLOCKSIZE+1]; // General purpose buffer + overrun fetch
int m_msc;
bool m_msb[256];
byte m_msb[256]; // Command storage bytes
/*
* Data byte to BSRR register setting value and parity table
@ -595,7 +595,7 @@ inline byte readHandshake(void)
{
SCSI_OUT(vREQ,active)
//SCSI_DB_INPUT()
while(!SCSI_IN(vACK)) { if(m_isBusReset) return 0; }
while( ! SCSI_IN(vACK)) { if(m_isBusReset) return 0; }
byte r = readIO();
SCSI_OUT(vREQ,inactive)
while( SCSI_IN(vACK)) { if(m_isBusReset) return 0; }
@ -1166,7 +1166,7 @@ void loop()
#endif
// Wait until SEL becomes inactive
while(isHigh(gpio_read(SEL))) {
while(isHigh(gpio_read(SEL)) && isLow(gpio_read(BSY))) {
if(m_isBusReset) {
goto BusFree;
}
@ -1177,10 +1177,12 @@ void loop()
bool syncenable = false;
int syncperiod = 50;
int syncoffset = 0;
int loopWait = 0;
m_msc = 0;
memset(m_msb, 0x00, sizeof(m_msb));
while(isHigh(gpio_read(ATN))) {
while(isHigh(gpio_read(ATN)) && loopWait < 255) {
MsgOut2();
loopWait++;
}
for(int i = 0; i < m_msc; i++) {
// ABORT