forked from KolibriOS/kolibrios
1) SATA IDE support for HDD and ATAPI
2) PIO LBA48 read for HDD git-svn-id: svn://kolibrios.org@3702 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -44,6 +44,10 @@ FindHDD:
|
||||
jmp EndFindHDD
|
||||
|
||||
FindHDD_1:
|
||||
movzx eax,word [ChannelNumber]
|
||||
DEBUGF 1, "K : Channel %d ",eax
|
||||
movzx eax,byte [DiskNumber]
|
||||
DEBUGF 1, "Disk %d\n",eax
|
||||
call ReadHDD_ID
|
||||
cmp [DevErrorCode], 0
|
||||
jne FindHDD_2
|
||||
@@ -52,7 +56,7 @@ FindHDD_1:
|
||||
cmp [Sector512+12], word 255
|
||||
ja FindHDD_2
|
||||
inc byte [DRIVE_DATA+1]
|
||||
jmp FindHDD_2_2
|
||||
jmp Print_Device_Name
|
||||
FindHDD_2:
|
||||
call DeviceReset
|
||||
cmp [DevErrorCode], 0
|
||||
@@ -62,6 +66,21 @@ FindHDD_1:
|
||||
jne FindHDD_2_2
|
||||
inc byte [DRIVE_DATA+1]
|
||||
inc byte [DRIVE_DATA+1]
|
||||
Print_Device_Name:
|
||||
pushad
|
||||
pushfd
|
||||
mov esi,Sector512+27*2
|
||||
mov edi,dev_name
|
||||
mov ecx,20
|
||||
cld
|
||||
@@:
|
||||
lodsw
|
||||
xchg ah,al
|
||||
stosw
|
||||
loop @b
|
||||
popfd
|
||||
popad
|
||||
DEBUGF 1, "K : Dev: %s \n", dev_name
|
||||
FindHDD_2_2:
|
||||
ret
|
||||
|
||||
@@ -70,10 +89,11 @@ FindHDD_3:
|
||||
shl byte [DRIVE_DATA+1], 2
|
||||
ret
|
||||
|
||||
|
||||
; Адрес считываемого сектора в режиме LBA
|
||||
uglobal
|
||||
SectorAddress DD ?
|
||||
dev_name:
|
||||
rb 41
|
||||
endg
|
||||
;*************************************************
|
||||
;* ЧТЕНИЕ ИДЕНТИФИКАТОРА ЖЕСТКОГО ДИСКА *
|
||||
|
Reference in New Issue
Block a user