Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 1409 → Rev 1410

/kernel/trunk/detect/sear_par.inc
22,12 → 22,17
mov [hdpos],1
mov [known_part],1
search_partitions_ide0_1:
call set_PARTITION_variables
cmp [problem_partition],0
jne search_partitions_ide1
call set_PARTITION_variables
test [problem_partition],2
jnz search_partitions_ide1 ; not found part
test [problem_partition],1
jnz @F ; not found known_part
;cmp [problem_partition],0
;jne search_partitions_ide1
inc byte [DRIVE_DATA+2]
call partition_data_transfer
add [transfer_adress],100
add [transfer_adress],100
@@:
inc [known_part]
jmp search_partitions_ide0_1
 
39,12 → 44,17
mov [hdpos],2
mov [known_part],1
search_partitions_ide1_1:
call set_PARTITION_variables
cmp [problem_partition],0
jne search_partitions_ide2
call set_PARTITION_variables
test [problem_partition],2
jnz search_partitions_ide2
test [problem_partition],1
jnz @F
;cmp [problem_partition],0
;jne search_partitions_ide2
inc byte [DRIVE_DATA+3]
call partition_data_transfer
add [transfer_adress],100
add [transfer_adress],100
@@:
inc [known_part]
jmp search_partitions_ide1_1
 
56,12 → 66,17
mov [hdpos],3
mov [known_part],1
search_partitions_ide2_1:
call set_PARTITION_variables
cmp [problem_partition],0
jne search_partitions_ide3
call set_PARTITION_variables
test [problem_partition],2
jnz search_partitions_ide3
test [problem_partition],1
jnz @F
;cmp [problem_partition],0
;jne search_partitions_ide3
inc byte [DRIVE_DATA+4]
call partition_data_transfer
add [transfer_adress],100
add [transfer_adress],100
@@:
inc [known_part]
jmp search_partitions_ide2_1
 
73,12 → 88,17
mov [hdpos],4
mov [known_part],1
search_partitions_ide3_1:
call set_PARTITION_variables
cmp [problem_partition],0
jne end_search_partitions_ide
call set_PARTITION_variables
test [problem_partition],2
jnz end_search_partitions_ide
test [problem_partition],1
jnz @F
;cmp [problem_partition],0
;jne end_search_partitions_ide
inc byte [DRIVE_DATA+5]
call partition_data_transfer
add [transfer_adress],100
add [transfer_adress],100
@@:
inc [known_part]
jmp search_partitions_ide3_1
 
93,13 → 113,18
and [BiosDiskPartitions+(eax-80h)*4], 0
mov [known_part], 1
search_partitions_bd:
call set_PARTITION_variables
cmp [problem_partition], 0
jne end_search_partitions_bd
call set_PARTITION_variables
test [problem_partition],2
jnz end_search_partitions_bd
test [problem_partition],1
jnz @F
;cmp [problem_partition], 0
;jne end_search_partitions_bd
mov eax, [hdpos]
inc [BiosDiskPartitions+(eax-80h)*4]
call partition_data_transfer
add [transfer_adress], 100
add [transfer_adress], 100
@@:
inc [known_part]
jmp search_partitions_bd
end_search_partitions_bd:
128,26 → 153,5
; sti
ret
 
end_search_partitions:
 
;PARTITION_START dd 0x3f
;PARTITION_END dd 0
;SECTORS_PER_FAT dd 0x1f3a
;NUMBER_OF_FATS dd 0x2
;SECTORS_PER_CLUSTER dd 0x8
;BYTES_PER_SECTOR dd 0x200 ; Note: if BPS <> 512 need lots of changes
;ROOT_CLUSTER dd 2 ; first rootdir cluster
;FAT_START dd 0 ; start of fat table
;ROOT_START dd 0 ; start of rootdir (only fat16)
;ROOT_SECTORS dd 0 ; count of rootdir sectors (only fat16)
;DATA_START dd 0 ; start of data area (=first cluster 2)
;LAST_CLUSTER dd 0 ; last availabe cluster
;ADR_FSINFO dd 0 ; used only by fat32
;
;fatRESERVED dd 0x0FFFFFF6
;fatBAD dd 0x0FFFFFF7
;fatEND dd 0x0FFFFFF8
;fatMASK dd 0x0FFFFFFF
;
;fat_type db 0 ; 0=none, 16=fat16, 32=fat32
 
end_search_partitions: