Subversion Repositories Kolibri OS

Rev

Rev 4923 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4923 Rev 5116
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 3881 $
8
$Revision: 5030 $
9
 
9
 
10
 
10
 
Line 66... Line 66...
66
        DEBUGF  1, "K : Channel %d ",[ChannelNumber]:2
66
        DEBUGF  1, "K : Channel %d ",[ChannelNumber]:2
67
        DEBUGF  1, "Disk %d\n",[DiskNumber]:1
67
        DEBUGF  1, "Disk %d\n",[DiskNumber]:1
68
        push    ebx ecx
68
        push    ebx ecx
69
        call    ReadHDD_ID
69
        call    ReadHDD_ID
70
        pop     ecx ebx
70
        pop     ecx ebx
-
 
71
        cmp     [DevErrorCode], 7
-
 
72
        je      .end
71
        cmp     [DevErrorCode], 0
73
        cmp     [DevErrorCode], 0
72
        jne     .FindCD
74
        jne     .FindCD
Line 73... Line 75...
73
 
75
 
74
        cmp     [Sector512+6], word 16
76
        cmp     [Sector512+6], word 16
Line 272... Line 274...
272
ATACommand      db ? ;код команды, подлежащей выполнению
274
ATACommand      db ? ;код команды, подлежащей выполнению
273
; Код ошибки (0 - нет ошибок, 1 - превышен допустимый
275
; Код ошибки (0 - нет ошибок, 1 - превышен допустимый
274
; интервал ожидания, 2 - неверный код режима адресации,
276
; интервал ожидания, 2 - неверный код режима адресации,
275
; 3 - неверный номер канала, 4 - неверный номер диска,
277
; 3 - неверный номер канала, 4 - неверный номер диска,
276
; 5 - неверный номер головки, 6 - ошибка при выполнении
278
; 5 - неверный номер головки, 6 - ошибка при выполнении
277
; команды)
279
; команды, 7 - таймаут при выборе канала)
278
DevErrorCode dd ?
280
DevErrorCode dd ?
279
endg
281
endg
280
;-----------------------------------------------------------------------------
282
;-----------------------------------------------------------------------------
281
;****************************************************
283
;****************************************************
282
;*          ПОСЛАТЬ КОМАНДУ ЗАДАННОМУ ДИСКУ         *
284
;*          ПОСЛАТЬ КОМАНДУ ЗАДАННОМУ ДИСКУ         *
Line 378... Line 380...
378
; Сбросить признак ошибки
380
; Сбросить признак ошибки
379
        mov     [DevErrorCode], 0
381
        mov     [DevErrorCode], 0
380
        ret
382
        ret
381
; Записать код ошибки
383
; Записать код ошибки
382
@@Err1:
384
@@Err1:
383
        mov     [DevErrorCode], 1
385
        mov     [DevErrorCode], 7
384
        ret
386
        ret
385
@@Err2:
387
@@Err2:
386
        mov     [DevErrorCode], 2
388
        mov     [DevErrorCode], 2
387
        ret
389
        ret
388
@@Err3:
390
@@Err3: