aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-10 17:51:13 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-10 17:51:13 +0000
commit953569d21bd552408d9714b48fb76c6003de6fe3 (patch)
treefe19408d3d8d262b5d7a6aacd9ec05569ec3d9a7 /hw
parenta0c4cb4a7026977266d08d3e6af27d4dd04ed1e4 (diff)
downloadqemu-953569d21bd552408d9714b48fb76c6003de6fe3.zip
qemu-953569d21bd552408d9714b48fb76c6003de6fe3.tar.gz
qemu-953569d21bd552408d9714b48fb76c6003de6fe3.tar.bz2
fdc fix (Mike Nordell)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1118 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-rw-r--r--hw/fdc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/fdc.c b/hw/fdc.c
index 9b4bfe7..9375b91 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1265,8 +1265,16 @@ static void fdctrl_write_data (fdctrl_t *fdctrl, uint32_t value)
FLOPPY_DPRINTF("SENSE_INTERRUPT_STATUS command (%02x)\n",
fdctrl->int_status);
/* No parameters cmd: returns status if no interrupt */
+#if 0
fdctrl->fifo[0] =
fdctrl->int_status | (cur_drv->head << 2) | fdctrl->cur_drv;
+#else
+ /* XXX: int_status handling is broken for read/write
+ commands, so we do this hack. It should be suppressed
+ ASAP */
+ fdctrl->fifo[0] =
+ 0x20 | (cur_drv->head << 2) | fdctrl->cur_drv;
+#endif
fdctrl->fifo[1] = cur_drv->track;
fdctrl_set_fifo(fdctrl, 2, 0);
fdctrl_reset_irq(fdctrl);