Fix for r.4700 - fix proc check_ATAPI_device_event

git-svn-id: svn://kolibrios.org@4734 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2014-04-02 20:55:06 +00:00
parent 89658a72f5
commit 76718d400a
2 changed files with 23 additions and 21 deletions

View File

@ -755,6 +755,7 @@ check_ATAPI_device_event:
cmp eax, 100 cmp eax, 100
jb .end_1 jb .end_1
pushfd
mov al, [DRIVE_DATA+1] mov al, [DRIVE_DATA+1]
and al, 11b and al, 11b
cmp al, 10b cmp al, 10b
@ -827,7 +828,7 @@ check_ATAPI_device_event:
jz .ide8 jz .ide8
;-------------------------------------- ;--------------------------------------
.end: .end:
sti popfd
mov eax, [timer_ticks] mov eax, [timer_ticks]
mov [timer_ATAPI_check], eax mov [timer_ATAPI_check], eax
;-------------------------------------- ;--------------------------------------
@ -910,7 +911,7 @@ check_ATAPI_device_event:
.ide0: .ide0:
cli cli
cmp [ATAPI_IDE0_lock], 1 cmp [ATAPI_IDE0_lock], 1
jne .end jne .ide7_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -929,12 +930,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .end jmp .ide7_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide7: .ide7:
cli cli
cmp [ATAPI_IDE7_lock], 1 cmp [ATAPI_IDE7_lock], 1
jne .ide2_1 jne .ide6_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -953,12 +954,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide2_1 jmp .ide6_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide6: .ide6:
cli cli
cmp [ATAPI_IDE6_lock], 1 cmp [ATAPI_IDE6_lock], 1
jne .ide1_1 jne .ide5_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -977,12 +978,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide1_1 jmp .ide5_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide5: .ide5:
cli cli
cmp [ATAPI_IDE5_lock], 1 cmp [ATAPI_IDE5_lock], 1
jne .ide0_1 jne .ide4_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -1001,12 +1002,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide0_1 jmp .ide4_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide4: .ide4:
cli cli
cmp [ATAPI_IDE4_lock], 1 cmp [ATAPI_IDE4_lock], 1
jne .end jne .ide11_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -1025,12 +1026,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .end jmp .ide11_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide11: .ide11:
cli cli
cmp [ATAPI_IDE11_lock], 1 cmp [ATAPI_IDE11_lock], 1
jne .ide2_1 jne .ide10_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -1049,12 +1050,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide2_1 jmp .ide10_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide10: .ide10:
cli cli
cmp [ATAPI_IDE10_lock], 1 cmp [ATAPI_IDE10_lock], 1
jne .ide1_1 jne .ide9_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -1073,12 +1074,12 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide1_1 jmp .ide9_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide9: .ide9:
cli cli
cmp [ATAPI_IDE9_lock], 1 cmp [ATAPI_IDE9_lock], 1
jne .ide0_1 jne .ide8_1
cmp [cd_status], 0 cmp [cd_status], 0
jne .end jne .end
@ -1097,7 +1098,7 @@ check_ATAPI_device_event:
;-------------------------------------- ;--------------------------------------
@@: @@:
call syscall_cdaudio.free call syscall_cdaudio.free
jmp .ide0_1 jmp .ide8_1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
.ide8: .ide8:
cli cli

View File

@ -977,7 +977,7 @@ endg
call set_lights call set_lights
;// mike.dld ] ;// mike.dld ]
stdcall attach_int_handler, 1, irq1, 0 stdcall attach_int_handler, 1, irq1, 0
DEBUGF 1, "K : IRQ1 error code %x\n", eax DEBUGF 1, "K : IRQ1 return code %x\n", eax
.no_keyboard: .no_keyboard:
; Load PS/2 mouse driver ; Load PS/2 mouse driver
@ -1042,9 +1042,8 @@ end if
mov [timer_ticks_enable], 1 ; for cd driver mov [timer_ticks_enable], 1 ; for cd driver
sti sti
call mtrr_validate
; call change_task call mtrr_validate
jmp osloop jmp osloop
@ -1133,18 +1132,20 @@ osloop:
xchg eax, [osloop_nonperiodic_work] xchg eax, [osloop_nonperiodic_work]
test eax, eax test eax, eax
jz .no_periodic jz .no_periodic
; call [draw_pointer]
call __sys_draw_pointer call __sys_draw_pointer
call window_check_events call window_check_events
call mouse_check_events call mouse_check_events
call checkmisc call checkmisc
call checkVga_N13 call checkVga_N13
;--------------------------------------
.no_periodic: .no_periodic:
call stack_handler call stack_handler
call check_fdd_motor_status call check_fdd_motor_status
call check_ATAPI_device_event call check_ATAPI_device_event
call check_lights_state call check_lights_state
call check_timers call check_timers
jmp osloop jmp osloop
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ; ; ;