summary refs log tree commit diff stats
path: root/hw/fdc.c
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/fdc.c
parenta0c4cb4a7026977266d08d3e6af27d4dd04ed1e4 (diff)
downloadfocaccia-qemu-953569d21bd552408d9714b48fb76c6003de6fe3.tar.gz
focaccia-qemu-953569d21bd552408d9714b48fb76c6003de6fe3.zip
fdc fix (Mike Nordell)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1118 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/fdc.c')
-rw-r--r--hw/fdc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/fdc.c b/hw/fdc.c
index 9b4bfe76b3..9375b913c5 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);