Fix Floppy driver for VirtualBox.

git-svn-id: svn://kolibrios.org@4115 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2013-10-27 23:37:06 +00:00
parent 352f79b991
commit 44d21dbf19

View File

@ -162,7 +162,7 @@ FDCDataInput:
mov [FDC_Status], FDC_Normal mov [FDC_Status], FDC_Normal
; Проверить готовность контроллера к передаче данных ; Проверить готовность контроллера к передаче данных
mov DX, 3F4h ;(порт состояния FDC) mov DX, 3F4h ;(порт состояния FDC)
xor CX, CX ;установить счетчик тайм-аута mov ecx, 0x10000 ;установить счетчик тайм-аута
@@TestRS_1: @@TestRS_1:
in AL, DX ;прочитать регистр RS in AL, DX ;прочитать регистр RS
and AL, 0C0h ;выдлить разряды 6 и 7 and AL, 0C0h ;выдлить разряды 6 и 7
@ -197,8 +197,6 @@ WaitFDCInterrupt:
pusha pusha
; Сбросить байт состояния операции ; Сбросить байт состояния операции
mov [FDC_Status], FDC_Normal mov [FDC_Status], FDC_Normal
; Сбросить флаг прерывани
mov [FDD_IntFlag], 0
; Обнулить счетчик тиков ; Обнулить счетчик тиков
mov eax, [timer_ticks] mov eax, [timer_ticks]
mov [TickCounter], eax mov [TickCounter], eax
@ -372,6 +370,8 @@ RecalibrateFDD:
SeekTrack: SeekTrack:
pusha pusha
call save_timer_fdd_motor call save_timer_fdd_motor
; Сбросить флаг прерывания
mov [FDD_IntFlag], 0
; Подать команду "Поиск" ; Подать команду "Поиск"
mov AL, 0Fh mov AL, 0Fh
call FDCDataOutput call FDCDataOutput
@ -431,6 +431,8 @@ SeekTrack:
ReadSector: ReadSector:
pushad pushad
call save_timer_fdd_motor call save_timer_fdd_motor
; Сбросить флаг прерывания
mov [FDD_IntFlag], 0
; Установить скорость передачи 500 Кбайт/с ; Установить скорость передачи 500 Кбайт/с
mov AX, 0 mov AX, 0
mov DX, 03F7h mov DX, 03F7h
@ -531,6 +533,8 @@ ReadSectWithRetr:
WriteSector: WriteSector:
pushad pushad
call save_timer_fdd_motor call save_timer_fdd_motor
; Сбросить флаг прерывания
mov [FDD_IntFlag], 0
; Установить скорость передачи 500 Кбайт/с ; Установить скорость передачи 500 Кбайт/с
mov AX, 0 mov AX, 0
mov DX, 03F7h mov DX, 03F7h