From 44d21dbf19a28ed8561b5c33e08f23b67c18a8b5 Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Sun, 27 Oct 2013 23:37:06 +0000 Subject: [PATCH] Fix Floppy driver for VirtualBox. git-svn-id: svn://kolibrios.org@4115 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/blkdev/flp_drv.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel/trunk/blkdev/flp_drv.inc b/kernel/trunk/blkdev/flp_drv.inc index 99fa151fe2..4fb0cd5af5 100644 --- a/kernel/trunk/blkdev/flp_drv.inc +++ b/kernel/trunk/blkdev/flp_drv.inc @@ -162,7 +162,7 @@ FDCDataInput: mov [FDC_Status], FDC_Normal ; Проверить готовность контроллера к передаче данных mov DX, 3F4h ;(порт состояния FDC) - xor CX, CX ;установить счетчик тайм-аута + mov ecx, 0x10000 ;установить счетчик тайм-аута @@TestRS_1: in AL, DX ;прочитать регистр RS and AL, 0C0h ;выдлить разряды 6 и 7 @@ -197,8 +197,6 @@ WaitFDCInterrupt: pusha ; Сбросить байт состояния операции mov [FDC_Status], FDC_Normal -; Сбросить флаг прерывани - mov [FDD_IntFlag], 0 ; Обнулить счетчик тиков mov eax, [timer_ticks] mov [TickCounter], eax @@ -372,6 +370,8 @@ RecalibrateFDD: SeekTrack: pusha call save_timer_fdd_motor +; Сбросить флаг прерывания + mov [FDD_IntFlag], 0 ; Подать команду "Поиск" mov AL, 0Fh call FDCDataOutput @@ -431,6 +431,8 @@ SeekTrack: ReadSector: pushad call save_timer_fdd_motor +; Сбросить флаг прерывания + mov [FDD_IntFlag], 0 ; Установить скорость передачи 500 Кбайт/с mov AX, 0 mov DX, 03F7h @@ -531,6 +533,8 @@ ReadSectWithRetr: WriteSector: pushad call save_timer_fdd_motor +; Сбросить флаг прерывания + mov [FDD_IntFlag], 0 ; Установить скорость передачи 500 Кбайт/с mov AX, 0 mov DX, 03F7h