Subversion Repositories Kolibri OS

Rev

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

Rev 3442 Rev 3539
Line 6... Line 6...
6
;; FAT12.INC                                                    ;;
6
;; FAT12.INC                                                    ;;
7
;; (C) 2005 Mario79, License: GPL                               ;;
7
;; (C) 2005 Mario79, License: GPL                               ;;
8
;;                                                              ;;
8
;;                                                              ;;
9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 10... Line 10...
10
 
10
 
Line 11... Line 11...
11
$Revision: 3442 $
11
$Revision: 3539 $
12
 
12
 
13
 
13
 
Line 117... Line 117...
117
        push    eax
117
        push    eax
118
        push    eax ebx ecx edx esi edi
118
        push    eax ebx ecx edx esi edi
119
        call    read_flp_fat
119
        call    read_flp_fat
120
        cmp     [FDC_Status], 0
120
        cmp     [FDC_Status], 0
121
        jne     fdc_status_error_3_1
121
        jne     fdc_status_error_3_1
122
        mov     [FDD_Track], 0; Öèëèíäð
122
        mov     [FDD_Track], 0; Цилиндр
123
        mov     [FDD_Head], 1; Ñòîðîíà
123
        mov     [FDD_Head], 1; Сторона
124
        mov     [FDD_Sector], 2; Ñåêòîð
124
        mov     [FDD_Sector], 2; Сектор
125
        call    SeekTrack
125
        call    SeekTrack
126
        mov     dh, 14
126
        mov     dh, 14
127
l.20_1:
127
l.20_1:
128
        call    ReadSectWithRetr
128
        call    ReadSectWithRetr
129
        cmp     [FDC_Status], 0
129
        cmp     [FDC_Status], 0
Line 251... Line 251...
251
        call    check_label
251
        call    check_label
252
        cmp     [FDC_Status], 0
252
        cmp     [FDC_Status], 0
253
        jne     unnecessary_root_read
253
        jne     unnecessary_root_read
254
        cmp     [root_read], 1
254
        cmp     [root_read], 1
255
        je      unnecessary_root_read
255
        je      unnecessary_root_read
256
        mov     [FDD_Track], 0; Öèëèíäð
256
        mov     [FDD_Track], 0; Цилиндр
257
        mov     [FDD_Head], 1; Ñòîðîíà
257
        mov     [FDD_Head], 1; Сторона
258
        mov     [FDD_Sector], 2; Ñåêòîð
258
        mov     [FDD_Sector], 2; Сектор
259
        mov     edi, FLOPPY_BUFF
259
        mov     edi, FLOPPY_BUFF
260
        call    SeekTrack
260
        call    SeekTrack
261
read_flp_root_1:
261
read_flp_root_1:
262
        call    ReadSectWithRetr
262
        call    ReadSectWithRetr
263
        cmp     [FDC_Status], 0
263
        cmp     [FDC_Status], 0
Line 280... Line 280...
280
        call    check_label
280
        call    check_label
281
        cmp     [FDC_Status], 0
281
        cmp     [FDC_Status], 0
282
        jne     unnecessary_flp_fat
282
        jne     unnecessary_flp_fat
283
        cmp     [flp_fat], 1
283
        cmp     [flp_fat], 1
284
        je      unnecessary_flp_fat
284
        je      unnecessary_flp_fat
285
        mov     [FDD_Track], 0; Öèëèíäð
285
        mov     [FDD_Track], 0; Цилиндр
286
        mov     [FDD_Head], 0; Ñòîðîíà
286
        mov     [FDD_Head], 0; Сторона
287
        mov     [FDD_Sector], 2; Ñåêòîð
287
        mov     [FDD_Sector], 2; Сектор
288
        mov     edi, FLOPPY_BUFF
288
        mov     edi, FLOPPY_BUFF
289
        call    SeekTrack
289
        call    SeekTrack
290
read_flp_fat_1:
290
read_flp_fat_1:
291
        call    ReadSectWithRetr
291
        call    ReadSectWithRetr
292
        cmp     [FDC_Status], 0
292
        cmp     [FDC_Status], 0
Line 349... Line 349...
349
        popad
349
        popad
350
        ret
350
        ret
Line 351... Line 351...
351
 
351
 
352
check_label:
352
check_label:
353
        pushad
353
        pushad
354
        mov     [FDD_Track], 0; Öèëèíäð
354
        mov     [FDD_Track], 0; Цилиндр
355
        mov     [FDD_Head], 0; Ñòîðîíà
355
        mov     [FDD_Head], 0; Сторона
356
        mov     [FDD_Sector], 1; Ñåêòîð
356
        mov     [FDD_Sector], 1; Сектор
357
        call    SetUserInterrupts
357
        call    SetUserInterrupts
358
        call    FDDMotorON
358
        call    FDDMotorON
359
        call    RecalibrateFDD
359
        call    RecalibrateFDD
360
        cmp     [FDC_Status], 0
360
        cmp     [FDC_Status], 0
Line 390... Line 390...
390
        call    check_label
390
        call    check_label
391
        cmp     [FDC_Status], 0
391
        cmp     [FDC_Status], 0
392
        jne     unnecessary_root_save
392
        jne     unnecessary_root_save
393
        cmp     [root_read], 0
393
        cmp     [root_read], 0
394
        je      unnecessary_root_save
394
        je      unnecessary_root_save
395
        mov     [FDD_Track], 0; Öèëèíäð
395
        mov     [FDD_Track], 0; Цилиндр
396
        mov     [FDD_Head], 1; Ñòîðîíà
396
        mov     [FDD_Head], 1; Сторона
397
        mov     [FDD_Sector], 2; Ñåêòîð
397
        mov     [FDD_Sector], 2; Сектор
398
        mov     esi, FLOPPY_BUFF
398
        mov     esi, FLOPPY_BUFF
399
        call    SeekTrack
399
        call    SeekTrack
400
save_flp_root_1:
400
save_flp_root_1:
401
        push    esi
401
        push    esi
402
        call    take_data_from_application_1
402
        call    take_data_from_application_1
Line 419... Line 419...
419
        cmp     [FDC_Status], 0
419
        cmp     [FDC_Status], 0
420
        jne     unnecessary_flp_fat_save
420
        jne     unnecessary_flp_fat_save
421
        cmp     [flp_fat], 0
421
        cmp     [flp_fat], 0
422
        je      unnecessary_flp_fat_save
422
        je      unnecessary_flp_fat_save
423
        call    restorefatchain_flp
423
        call    restorefatchain_flp
424
        mov     [FDD_Track], 0; Öèëèíäð
424
        mov     [FDD_Track], 0; Цилиндр
425
        mov     [FDD_Head], 0; Ñòîðîíà
425
        mov     [FDD_Head], 0; Сторона
426
        mov     [FDD_Sector], 2; Ñåêòîð
426
        mov     [FDD_Sector], 2; Сектор
427
        mov     esi, FLOPPY_BUFF
427
        mov     esi, FLOPPY_BUFF
428
        call    SeekTrack
428
        call    SeekTrack
429
save_flp_fat_1:
429
save_flp_fat_1:
430
        push    esi
430
        push    esi
431
        call    take_data_from_application_1
431
        call    take_data_from_application_1