Subversion Repositories Kolibri OS

Rev

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

Rev 321 Rev 381
Line 550... Line 550...
550
fs_HasRamdisk:
550
fs_HasRamdisk:
551
        mov     al, 1   ; we always have ramdisk
551
        mov     al, 1   ; we always have ramdisk
552
        ret
552
        ret
Line 553... Line 553...
553
 
553
 
554
fs_HasFloppy:
554
fs_HasFloppy:
555
        cmp     byte [0x40000], 0
555
        cmp     byte [DRIVE_DATA], 0
556
        setnz   al
556
        setnz   al
Line 557... Line 557...
557
        ret
557
        ret
558
 
558
 
559
fs_HasHd0:
559
fs_HasHd0:
560
        mov     al, [0x40001]
560
        mov     al, [DRIVE_DATA+1]
561
        and     al, 11000000b
561
        and     al, 11000000b
562
        cmp     al, 01000000b
562
        cmp     al, 01000000b
563
        setz    al
563
        setz    al
564
        ret
564
        ret
565
fs_HasHd1:
565
fs_HasHd1:
566
        mov     al, [0x40001]
566
        mov     al, [DRIVE_DATA+1]
567
        and     al, 00110000b
567
        and     al, 00110000b
568
        cmp     al, 00010000b
568
        cmp     al, 00010000b
569
        setz    al
569
        setz    al
570
        ret
570
        ret
571
fs_HasHd2:
571
fs_HasHd2:
572
        mov     al, [0x40001]
572
        mov     al, [DRIVE_DATA+1]
573
        and     al, 00001100b
573
        and     al, 00001100b
574
        cmp     al, 00000100b
574
        cmp     al, 00000100b
575
        setz    al
575
        setz    al
576
        ret
576
        ret
577
fs_HasHd3:
577
fs_HasHd3:
578
        mov     al, [0x40001]
578
        mov     al, [DRIVE_DATA+1]
579
        and     al, 00000011b
579
        and     al, 00000011b
580
        cmp     al, 00000001b
580
        cmp     al, 00000001b
Line 581... Line 581...
581
        setz    al
581
        setz    al
582
        ret
582
        ret
583
 
583
 
584
;*******************************************************
584
;*******************************************************
585
fs_HasCd0:
585
fs_HasCd0:
586
        mov     al, [0x40001]
586
        mov     al, [DRIVE_DATA+1]
587
        and     al, 11000000b
587
        and     al, 11000000b
588
        cmp     al, 10000000b
588
        cmp     al, 10000000b
589
        setz    al
589
        setz    al
590
        ret
590
        ret
591
fs_HasCd1:
591
fs_HasCd1:
592
        mov     al, [0x40001]
592
        mov     al, [DRIVE_DATA+1]
593
        and     al, 00110000b
593
        and     al, 00110000b
594
        cmp     al, 00100000b
594
        cmp     al, 00100000b
595
        setz    al
595
        setz    al
596
        ret
596
        ret
597
fs_HasCd2:
597
fs_HasCd2:
598
        mov     al, [0x40001]
598
        mov     al, [DRIVE_DATA+1]
599
        and     al, 00001100b
599
        and     al, 00001100b
600
        cmp     al, 00001000b
600
        cmp     al, 00001000b
601
        setz    al
601
        setz    al
602
        ret
602
        ret
603
fs_HasCd3:
603
fs_HasCd3:
604
        mov     al, [0x40001]
604
        mov     al, [DRIVE_DATA+1]
605
        and     al, 00000011b
605
        and     al, 00000011b
606
        cmp     al, 00000010b
606
        cmp     al, 00000010b
Line 622... Line 622...
622
        clc
622
        clc
623
@@:
623
@@:
624
        ret
624
        ret
Line 625... Line 625...
625
 
625
 
626
fs_NextFloppy:
626
fs_NextFloppy:
627
; we have /fd/1 iff (([0x40000] and 0xF0) != 0) and /fd/2 iff (([0x40000] and 0x0F) != 0)
627
; we have /fd/1 iff (([DRIVE_DATA] and 0xF0) != 0) and /fd/2 iff (([DRIVE_DATA] and 0x0F) != 0)
628
        test    byte [0x40000], 0xF0
628
        test    byte [DRIVE_DATA], 0xF0
629
        jz      .no1
629
        jz      .no1
630
        test    eax, eax
630
        test    eax, eax
631
        jnz     .no1
631
        jnz     .no1
632
        inc     eax
632
        inc     eax
633
        ret     ; CF cleared
633
        ret     ; CF cleared
634
.no1:
634
.no1:
635
        test    byte [0x40000], 0x0F
635
        test    byte [DRIVE_DATA], 0x0F
636
        jz      .no2
636
        jz      .no2
637
        cmp     al, 2
637
        cmp     al, 2
638
        jae     .no2
638
        jae     .no2
639
        mov     al, 2
639
        mov     al, 2
Line 655... Line 655...
655
        jmp     fs_NextHd
655
        jmp     fs_NextHd
656
fs_NextHd3:
656
fs_NextHd3:
657
        push    3
657
        push    3
658
fs_NextHd:
658
fs_NextHd:
659
        pop     ecx
659
        pop     ecx
660
        movzx   ecx, byte [0x40002+ecx]
660
        movzx   ecx, byte [DRIVE_DATA+2+ecx]
661
        cmp     eax, ecx
661
        cmp     eax, ecx
662
        jae     fs_NextFloppy.no2
662
        jae     fs_NextFloppy.no2
663
        inc     eax
663
        inc     eax
664
        clc
664
        clc
665
        ret
665
        ret