Revision d6c1a327
b/hw/fdc.c | ||
---|---|---|
1213 | 1213 |
len = fdctrl->data_len - fdctrl->data_pos; |
1214 | 1214 |
if (len > FD_SECTOR_LEN) |
1215 | 1215 |
len = FD_SECTOR_LEN; |
1216 |
bdrv_read(cur_drv->bs, fd_sector(cur_drv), |
|
1217 |
fdctrl->fifo, len); |
|
1216 |
bdrv_read(cur_drv->bs, fd_sector(cur_drv), fdctrl->fifo, 1); |
|
1218 | 1217 |
} |
1219 | 1218 |
} |
1220 | 1219 |
retval = fdctrl->fifo[pos]; |
... | ... | |
1321 | 1320 |
fdctrl->fifo[fdctrl->data_pos++] = value; |
1322 | 1321 |
if (fdctrl->data_pos % FD_SECTOR_LEN == (FD_SECTOR_LEN - 1) || |
1323 | 1322 |
fdctrl->data_pos == fdctrl->data_len) { |
1324 |
bdrv_write(cur_drv->bs, fd_sector(cur_drv), |
|
1325 |
fdctrl->fifo, FD_SECTOR_LEN); |
|
1323 |
bdrv_write(cur_drv->bs, fd_sector(cur_drv), fdctrl->fifo, 1); |
|
1326 | 1324 |
} |
1327 | 1325 |
/* Switch from transfer mode to status mode |
1328 | 1326 |
* then from status mode to command mode |
Also available in: Unified diff