[SeaBIOS] [PATCH 1/5] floppy: hold the DOR reset bit low for 4 microseconds, when resetting the floppy controller

Nikolay Nikolov nickysn at users.sourceforge.net
Fri Feb 9 01:30:59 CET 2018


Signed-off-by: Nikolay Nikolov <nickysn at users.sourceforge.net>
---
 src/hw/floppy.c | 2 ++
 1 file changed, 2 insertions(+)

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();
-- 
2.14.3




More information about the SeaBIOS mailing list