From: Nikolay Nikolov Date: Sat, 10 Feb 2018 11:52:13 +0000 (+0200) Subject: floppy: hold the DOR reset bit low for 4 microseconds, when resetting X-Git-Tag: rel-1.12.0~41 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b00a03a49e28d518435deeb22d119bbd959e78a3;p=seabios.git floppy: hold the DOR reset bit low for 4 microseconds, when resetting Signed-off-by: Nikolay Nikolov --- diff --git a/src/hw/floppy.c b/src/hw/floppy.c index 3012b3a..16989c2 100644 --- a/src/hw/floppy.c +++ b/src/hw/floppy.c @@ -328,6 +328,8 @@ floppy_enable_controller(void) dprintf(2, "Floppy_enable_controller\n"); // Clear the reset bit (enter reset state), but set 'enable IRQ and DMA' floppy_dor_mask(FLOPPY_DOR_RESET, FLOPPY_DOR_IRQ); + // Real hardware needs a 4 microsecond delay + usleep(4); // Set the reset bit (normal operation) and keep 'enable IRQ and DMA' on floppy_dor_mask(0, FLOPPY_DOR_IRQ | FLOPPY_DOR_RESET); int ret = floppy_wait_irq();