summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nscsi/dtc510.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nscsi/dtc510.cpp')
-rw-r--r--src/devices/bus/nscsi/dtc510.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/devices/bus/nscsi/dtc510.cpp b/src/devices/bus/nscsi/dtc510.cpp
index 01efe5cc9ab..1872697c761 100644
--- a/src/devices/bus/nscsi/dtc510.cpp
+++ b/src/devices/bus/nscsi/dtc510.cpp
@@ -91,7 +91,7 @@ void nscsi_dtc510_device::scsi_command()
scsi_status_complete(SS_NOT_READY);
scsi_sense_buffer[0] = SK_DRIVE_NOT_READY;
} else {
- m_seek = 0;
+ // lba = 0;
scsi_status_complete(SS_GOOD);
}
break;
@@ -101,7 +101,7 @@ void nscsi_dtc510_device::scsi_command()
scsi_status_complete(SS_NOT_READY);
scsi_sense_buffer[0] = SK_DRIVE_NOT_READY;
} else {
- m_seek = get_u24be(&scsi_cmdbuf[1]) & 0x1fffff;
+ //lba = get_u24be(&scsi_cmdbuf[1]) & 0x1fffff;
scsi_status_complete(SS_GOOD);
}
break;
@@ -121,7 +121,8 @@ void nscsi_dtc510_device::scsi_command()
{
const auto &info = image->get_info();
auto block = std::make_unique<uint8_t[]>(info.sectorbytes);
- memset(&block[0], 0x6c, info.sectorbytes);
+ const u8 fill_byte = scsi_cmdbuf[3] == 0 ? 0xe5 : scsi_cmdbuf[3];
+ memset(&block[0], fill_byte, info.sectorbytes);
lba = get_u24be(&scsi_cmdbuf[1]) & 0x1fffff;
for(; lba < (info.cylinders * info.heads * info.sectors); lba++) {
image->write(lba, block.get());