diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-09-13 12:40:37 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-09-13 12:40:37 +0000 |
commit | b7ffa3b1d25f2c68e851dc65fbfd97762f6c1748 (patch) | |
tree | 73ba4130657732ce85aab10f87cc4e2138c5eab4 | |
parent | cb4b976b82749b29ca6731d47e3a3237b32f9497 (diff) | |
download | qemu-b7ffa3b1d25f2c68e851dc65fbfd97762f6c1748.zip qemu-b7ffa3b1d25f2c68e851dc65fbfd97762f6c1748.tar.gz qemu-b7ffa3b1d25f2c68e851dc65fbfd97762f6c1748.tar.bz2 |
Emulate spinning floppy disk, by Jan Jezabek.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3168 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | hw/fdc.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -1843,5 +1843,13 @@ enqueue: static void fdctrl_result_timer(void *opaque) { fdctrl_t *fdctrl = opaque; + fdrive_t *cur_drv = get_cur_drv(fdctrl); + /* Pretend we are spinning. + * This is needed for Coherent, which uses READ ID to check for + * sector interleaving. + */ + if (cur_drv->last_sect != 0) { + cur_drv->sect = (cur_drv->sect % cur_drv->last_sect) + 1; + } fdctrl_stop_transfer(fdctrl, 0x00, 0x00, 0x00); } |