Subversion Repositories Kolibri OS

Rev

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

Rev 649 Rev 709
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. 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: 649 $
8
$Revision: 709 $
9
 
9
 
10
 
10
 
Line 102... Line 102...
102
    db    0xcc                  ; DRDOS/secured: fat32, LBA-mapped
102
    db    0xcc                  ; DRDOS/secured: fat32, LBA-mapped
103
    db    0xce                  ; DRDOS/secured: fat16, LBA-mapped
103
    db    0xce                  ; DRDOS/secured: fat16, LBA-mapped
104
    db    0xd4                  ; Old Multiuser DOS secured: fat16 <32M
104
    db    0xd4                  ; Old Multiuser DOS secured: fat16 <32M
105
    db    0xd6                  ; Old Multiuser DOS secured: fat16 >32M
105
    db    0xd6                  ; Old Multiuser DOS secured: fat16 >32M
106
    db    0x07                  ; NTFS
106
    db    0x07                  ; NTFS
-
 
107
    db    0x27                  ; NTFS, hidden
107
  partition_types_end:
108
  partition_types_end:
Line 108... Line 109...
108
 
109
 
109
 
110
 
Line 130... Line 131...
130
set_FAT32_variables:
131
set_FAT32_variables:
131
    mov   [problem_partition],0
132
    mov   [problem_partition],0
132
    call  reserve_hd1
133
    call  reserve_hd1
133
    call  reserve_hd_channel
134
    call  reserve_hd_channel
Line -... Line 135...
-
 
135
 
-
 
136
    pushad
134
 
137
 
135
    cmp   dword [hdpos],0
138
    cmp   dword [hdpos],0
Line 136... Line -...
136
    je    problem_hd
-
 
137
 
139
    je    problem_hd
138
    pushad
140
 
139
    xor   ecx,ecx               ; partition count
141
    xor   ecx,ecx               ; partition count
140
    mov   edx,-1                ; flag for partition
142
    mov   edx,-1                ; flag for partition
Line 322... Line 324...
322
 
324
 
323
problem_fat_dec_count:          ; bootsector is missing or another problem
325
problem_fat_dec_count:          ; bootsector is missing or another problem
Line 324... Line 326...
324
    dec   [partition_count]     ; remove it from partition_count
326
    dec   [partition_count]     ; remove it from partition_count
-
 
327
 
325
 
328
problem_partition_or_fat:
Line 326... Line -...
326
problem_partition_or_fat:
-
 
327
    popad
329
problem_hd:
328
 
330
    popad
329
problem_hd:
331
 
330
    mov   [fs_type],0
332
    mov   [fs_type],0
331
    call  free_hd_channel
333
    call  free_hd_channel
Line 366... Line 368...
366
        cmp     [hd_error], 0
368
        cmp     [hd_error], 0
367
        jnz     problem_fat_dec_count   ; ­¥ áã¤ì¡ ...
369
        jnz     problem_fat_dec_count   ; ­¥ áã¤ì¡ ...
368
boot_read_ok:
370
boot_read_ok:
369
;        mov     [hd_setup], 0
371
;        mov     [hd_setup], 0
370
; if we are running on NTFS, check bootsector
372
; if we are running on NTFS, check bootsector
371
        cmp     [fs_type], 7
373
;        cmp     [fs_type], 7
372
        jz      ntfs_setup
374
;        jz      ntfs_setup
-
 
375
        call    ntfs_test_bootsec
-
 
376
        jnc     ntfs_setup
Line 373... Line 377...
373
 
377
 
374
    cmp   word [ebx+0x1fe],0xaa55 ; is it valid boot sector?
378
    cmp   word [ebx+0x1fe],0xaa55 ; is it valid boot sector?
Line 375... Line 379...
375
    jnz   problem_fat_dec_count
379
    jnz   problem_fat_dec_count