diff options
author | 2024-11-29 22:08:02 -0500 | |
---|---|---|
committer | 2024-11-29 22:08:02 -0500 | |
commit | 5da955ae0bfd505ca8ce460fb6ef240750acd9fc (patch) | |
tree | 21b043fa8b1d6b0dd0f35147cdda0f01c3f5ed29 /src/devices/bus | |
parent | baeadecbaf56e3e5bde7ffce6a46569a88830700 (diff) |
machine/nscsi_bus.cpp/.h: Add some more framework for future support of later SCSI command sets. [R. Belmont]
nscsi/hd.cpp: Support SYNCHRONIZE CACHE command, fix off-by-1 MODE SENSE size reporting. [R. Belmont]
Diffstat (limited to 'src/devices/bus')
-rw-r--r-- | src/devices/bus/nscsi/hd.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/devices/bus/nscsi/hd.cpp b/src/devices/bus/nscsi/hd.cpp index 8e210e22d10..fe5fc45127b 100644 --- a/src/devices/bus/nscsi/hd.cpp +++ b/src/devices/bus/nscsi/hd.cpp @@ -245,7 +245,7 @@ void nscsi_harddisk_device::scsi_command() case 0x01: // read-write error recovery page scsi_cmdbuf[pos++] = 0x01; // !PS, page id scsi_cmdbuf[pos++] = 0x0a; // page length - scsi_cmdbuf[pos++] = 0; // various bits + scsi_cmdbuf[pos++] = 0x26; // various bits scsi_cmdbuf[pos++] = 0; // read retry count scsi_cmdbuf[pos++] = 0; // correction span scsi_cmdbuf[pos++] = 0; // head offset count @@ -384,7 +384,7 @@ void nscsi_harddisk_device::scsi_command() } if (!fail) { - scsi_cmdbuf[0] = pos; + scsi_cmdbuf[0] = pos - 1; if (pos > size) pos = size; @@ -444,6 +444,11 @@ void nscsi_harddisk_device::scsi_command() break; } + case SC_SYNCHRONIZE_CACHE: + LOG("command SYNCHRONIZE CACHE (10)\n"); + scsi_status_complete(SS_GOOD); + break; + case SC_READ_CAPACITY: { LOG("command READ CAPACITY\n"); |