Subversion Repositories Kolibri OS

Rev

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

Rev 3555 Rev 3725
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: 3555 $
8
$Revision: 3725 $
9
 
9
 
10
 
10
 
Line 42... Line 42...
42
;        mov     [DRIVE_DATA+9],al
42
;        mov     [DRIVE_DATA+9],al
Line 43... Line 43...
43
 
43
 
Line 44... Line 44...
44
        jmp     EndFindHDD
44
        jmp     EndFindHDD
-
 
45
 
-
 
46
FindHDD_1:
45
 
47
        DEBUGF  1, "K : Channel %d ",[ChannelNumber]:2
46
FindHDD_1:
48
        DEBUGF  1, "Disk %d\n",[DiskNumber]:1
47
        call    ReadHDD_ID
49
        call    ReadHDD_ID
48
        cmp     [DevErrorCode], 0
50
        cmp     [DevErrorCode], 0
49
        jne     FindHDD_2
51
        jne     FindHDD_2
50
        cmp     [Sector512+6], word 16
52
        cmp     [Sector512+6], word 16
51
        ja      FindHDD_2
53
        ja      FindHDD_2
52
        cmp     [Sector512+12], word 255
54
        cmp     [Sector512+12], word 255
53
        ja      FindHDD_2
55
        ja      FindHDD_2
54
        inc     byte [DRIVE_DATA+1]
56
        inc     byte [DRIVE_DATA+1]
55
        jmp     FindHDD_2_2
57
        jmp     Print_Device_Name
56
   FindHDD_2:
58
   FindHDD_2:
57
        call    DeviceReset
59
        call    DeviceReset
58
        cmp     [DevErrorCode], 0
60
        cmp     [DevErrorCode], 0
59
        jne     FindHDD_2_2
61
        jne     FindHDD_2_2
60
        call    ReadCD_ID
62
        call    ReadCD_ID
61
        cmp     [DevErrorCode], 0
63
        cmp     [DevErrorCode], 0
62
        jne     FindHDD_2_2
64
        jne     FindHDD_2_2
-
 
65
        inc     byte [DRIVE_DATA+1]
-
 
66
        inc     byte [DRIVE_DATA+1]
-
 
67
Print_Device_Name:      
-
 
68
        pushad
-
 
69
        pushfd
-
 
70
        mov     esi, Sector512+27*2
-
 
71
        mov     edi, dev_name
-
 
72
        mov     ecx, 20
-
 
73
        cld
-
 
74
@@:
-
 
75
        lodsw
-
 
76
        xchg    ah, al
-
 
77
        stosw
-
 
78
        loop    @b
-
 
79
        popfd
63
        inc     byte [DRIVE_DATA+1]
80
        popad
64
        inc     byte [DRIVE_DATA+1]
81
        DEBUGF 1, "K : Dev: %s \n", dev_name
Line 65... Line 82...
65
   FindHDD_2_2:
82
   FindHDD_2_2:
66
        ret
83
        ret
67
 
84
 
68
FindHDD_3:
85
FindHDD_3:
Line 69... Line -...
69
        call    FindHDD_1
-
 
70
        shl     byte [DRIVE_DATA+1], 2
86
        call    FindHDD_1
71
        ret
87
        shl     byte [DRIVE_DATA+1], 2
72
 
88
        ret
-
 
89
 
-
 
90
; Адрес считываемого сектора в режиме LBA
73
 
91
uglobal
74
; Адрес считываемого сектора в режиме LBA
92
SectorAddress   DD ?
75
uglobal
93
dev_name:
76
SectorAddress   DD ?
94
        rb 41
77
endg
95
endg