MO and ZIP.

This commit is contained in:
OBattler
2024-09-24 04:37:26 +02:00
parent 7639d8b031
commit 9c1d9e2d82
2 changed files with 8 additions and 0 deletions

View File

@@ -951,6 +951,8 @@ mo_blocks(mo_t *dev, int32_t *len, UNUSED(int first_batch), int out)
if (out) { if (out) {
if (fwrite(dev->buffer + (i * dev->drv->sector_size), 1, dev->drv->sector_size, dev->drv->fp) != dev->drv->sector_size) if (fwrite(dev->buffer + (i * dev->drv->sector_size), 1, dev->drv->sector_size, dev->drv->fp) != dev->drv->sector_size)
fatal("mo_blocks(): Error writing data\n"); fatal("mo_blocks(): Error writing data\n");
fflush(dev->drv->fp);
} else { } else {
if (fread(dev->buffer + (i * dev->drv->sector_size), 1, dev->drv->sector_size, dev->drv->fp) != dev->drv->sector_size) if (fread(dev->buffer + (i * dev->drv->sector_size), 1, dev->drv->sector_size, dev->drv->fp) != dev->drv->sector_size)
fatal("mo_blocks(): Error reading data\n"); fatal("mo_blocks(): Error reading data\n");
@@ -1069,6 +1071,8 @@ mo_erase(mo_t *dev)
fwrite(dev->buffer, 1, dev->drv->sector_size, dev->drv->fp); fwrite(dev->buffer, 1, dev->drv->sector_size, dev->drv->fp);
} }
fflush(dev->drv->fp);
mo_log("MO %i: Erased %i bytes of blocks...\n", dev->id, i * dev->drv->sector_size); mo_log("MO %i: Erased %i bytes of blocks...\n", dev->id, i * dev->drv->sector_size);
dev->sector_pos += i; dev->sector_pos += i;

View File

@@ -1134,6 +1134,8 @@ zip_blocks(zip_t *dev, int32_t *len, UNUSED(int first_batch), int out)
if (out) { if (out) {
if (fwrite(dev->buffer + (i << 9), 1, 512, dev->drv->fp) != 512) if (fwrite(dev->buffer + (i << 9), 1, 512, dev->drv->fp) != 512)
fatal("zip_blocks(): Error writing data\n"); fatal("zip_blocks(): Error writing data\n");
fflush(dev->drv->fp);
} else { } else {
if (fread(dev->buffer + (i << 9), 1, 512, dev->drv->fp) != 512) if (fread(dev->buffer + (i << 9), 1, 512, dev->drv->fp) != 512)
fatal("zip_blocks(): Error reading data\n"); fatal("zip_blocks(): Error reading data\n");
@@ -2125,6 +2127,8 @@ zip_phase_data_out(scsi_common_t *sc)
if (fwrite(dev->buffer, 1, 512, dev->drv->fp) != 512) if (fwrite(dev->buffer, 1, 512, dev->drv->fp) != 512)
fatal("zip_phase_data_out(): Error writing data\n"); fatal("zip_phase_data_out(): Error writing data\n");
} }
fflush(dev->drv->fp);
break; break;
case GPCMD_MODE_SELECT_6: case GPCMD_MODE_SELECT_6:
case GPCMD_MODE_SELECT_10: case GPCMD_MODE_SELECT_10: