Adaptec/BusLogic cards now pad out command with zeros if command length is longer than stated in the CCB. Fixes Windows NT 4.0 installation (sends 10 byte instead of 12 for READ CD).

This commit is contained in:
SarahW 2017-11-12 12:53:22 +00:00
commit a16fdb195e

View file

@ -1858,6 +1858,7 @@ static void process_scsi(aha154x_t *scsi)
if (bus_state & BUS_REQ)
{
int bus_out;
// pclog("SCSI next phase - %x\n", bus_state);
switch (bus_state & (BUS_IO | BUS_CD | BUS_MSG))
{
@ -1881,6 +1882,13 @@ static void process_scsi(aha154x_t *scsi)
scsi->scsi_state = SCSI_STATE_READ_MESSAGE;
break;
case BUS_CD:
bus_out = BUS_SETDATA(0);
scsi_bus_update(&scsi->bus, bus_out | BUS_ACK);
scsi_bus_update(&scsi->bus, bus_out & ~BUS_ACK);
break;
default:
fatal(" Bad new phase %x\n", bus_state);
}