Commit 953569d21bd552408d9714b48fb76c6003de6fe3
1 parent
a0c4cb4a
fdc fix (Mike Nordell)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1118 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
0 deletions
hw/fdc.c
... | ... | @@ -1265,8 +1265,16 @@ static void fdctrl_write_data (fdctrl_t *fdctrl, uint32_t value) |
1265 | 1265 | FLOPPY_DPRINTF("SENSE_INTERRUPT_STATUS command (%02x)\n", |
1266 | 1266 | fdctrl->int_status); |
1267 | 1267 | /* No parameters cmd: returns status if no interrupt */ |
1268 | +#if 0 | |
1268 | 1269 | fdctrl->fifo[0] = |
1269 | 1270 | fdctrl->int_status | (cur_drv->head << 2) | fdctrl->cur_drv; |
1271 | +#else | |
1272 | + /* XXX: int_status handling is broken for read/write | |
1273 | + commands, so we do this hack. It should be suppressed | |
1274 | + ASAP */ | |
1275 | + fdctrl->fifo[0] = | |
1276 | + 0x20 | (cur_drv->head << 2) | fdctrl->cur_drv; | |
1277 | +#endif | |
1270 | 1278 | fdctrl->fifo[1] = cur_drv->track; |
1271 | 1279 | fdctrl_set_fifo(fdctrl, 2, 0); |
1272 | 1280 | fdctrl_reset_irq(fdctrl); | ... | ... |