SCSI and disk fixes (July 14th, 2024)

All: the icon refresh for the respective storage now works properly across all adapters that use it (especially the aha154x compatibles and spock/tribble).
SCSI CD-ROM: The Sony/Texel/DEC SCSI command 0xC0 (Set Address Format) isn't a command that checks for ready status, however, it is for other vendors like NEC, Matsushita, etc. and I am not wishing to create a duplicate command_flags array duplicate just for vendor unique commands. This fixes the MSF bit of Sony/Texel/DEC CD-ROM drives which don't use the Mode Page equivalent.
Toshiba only: attempt to mark the 3201B as a SCSI-1 only CD-ROM drive properly.
This commit is contained in:
TC1995
2024-07-14 20:42:50 +02:00
parent b5a56e4793
commit 0a2fa21f06
5 changed files with 40 additions and 10 deletions

View File

@@ -461,7 +461,7 @@ scsi_disk_command_common(scsi_disk_t *dev)
(uint64_t) period);
dev->callback += period;
break;
default:
default:
dev->callback = 0;
break;
}
@@ -511,7 +511,6 @@ scsi_disk_command_common(scsi_disk_t *dev)
static void
scsi_disk_command_complete(scsi_disk_t *dev)
{
ui_sb_update_icon(SB_HDD | dev->drv->bus, 0);
dev->packet_status = PHASE_COMPLETE;
scsi_disk_command_common(dev);
}
@@ -1647,7 +1646,7 @@ scsi_disk_identify(ide_t *ide, int ide_has_dma)
scsi_disk_log("ATAPI Identify: %s\n", device_identify);
/* ATAPI device, direct-access device, non-removable media, accelerated DRQ */
ide->buffer[0] = 0x8000 | (0 << 8) | 0x00 | (2 << 5);
ide->buffer[0] = 0x8000 | (0 << 8) | 0x00 | (2 << 5);
ide_padstr((char *) (ide->buffer + 10), "", 20); /* Serial Number */
ide_padstr((char *) (ide->buffer + 23), EMU_VERSION_EX, 8); /* Firmware */