summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2022-01-23 19:18:28 +0200
committer Curt Coder <curtcoder@mail.com>2022-01-23 19:19:29 +0200
commitca38c078c6c460c28308eebbb3dd64e3c3ec2c43 (patch)
tree7346325a351b00e7b47812f329c580c44b3d9a62 /src/devices/bus
parent1d726e64308d1f1585dd222b4efe25edd3ebe41b (diff)
s1410: Fix sense command and bytes per sector in read/write buffer commands. [Curt Coder]
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/nscsi/s1410.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/devices/bus/nscsi/s1410.cpp b/src/devices/bus/nscsi/s1410.cpp
index c5fccebb686..fc191302958 100644
--- a/src/devices/bus/nscsi/s1410.cpp
+++ b/src/devices/bus/nscsi/s1410.cpp
@@ -39,7 +39,6 @@ void nscsi_s1410_device::scsi_command()
case SC_TEST_UNIT_READY:
case SC_REZERO:
case SC_FORMAT_UNIT: // TODO does not support starting LBA
- case SC_REQUEST_SENSE:
case SC_REASSIGN_BLOCKS:
case SC_READ:
case SC_WRITE:
@@ -51,6 +50,11 @@ void nscsi_s1410_device::scsi_command()
}
break;
+ case SC_REQUEST_SENSE:
+ scsi_data_in(SBUF_SENSE, 4);
+ scsi_status_complete(SS_GOOD);
+ break;
+
case SC_FORMAT_TRACK: {
if (scsi_cmdbuf[1] >> 5) {
scsi_status_complete(SS_NOT_READY);
@@ -89,12 +93,12 @@ void nscsi_s1410_device::scsi_command()
break;
case SC_WRITE_SECTOR_BUFFER:
- scsi_data_out(2, 512);
+ scsi_data_out(2, bytes_per_sector);
scsi_status_complete(SS_GOOD);
break;
case SC_READ_SECTOR_BUFFER:
- scsi_data_in(2, 512);
+ scsi_data_in(2, bytes_per_sector);
scsi_status_complete(SS_GOOD);
break;