Subversion Repositories Kolibri OS

Rev

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

Rev 4700 Rev 4734
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2011. 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: 4700 $
8
$Revision: 4734 $
9
 
9
 
10
;-----------------------------------------------------------------------------
10
;-----------------------------------------------------------------------------
11
;**********************************************************
11
;**********************************************************
Line 753... Line 753...
753
        mov     eax, [timer_ticks]
753
        mov     eax, [timer_ticks]
754
        sub     eax, [timer_ATAPI_check]
754
        sub     eax, [timer_ATAPI_check]
755
        cmp     eax, 100
755
        cmp     eax, 100
756
        jb      .end_1
756
        jb      .end_1
Line -... Line 757...
-
 
757
 
757
 
758
        pushfd
758
        mov     al, [DRIVE_DATA+1]
759
        mov     al, [DRIVE_DATA+1]
759
        and     al, 11b
760
        and     al, 11b
760
        cmp     al, 10b
761
        cmp     al, 10b
761
        jz      .ide3
762
        jz      .ide3
Line 825... Line 826...
825
        and     al, 11000000b
826
        and     al, 11000000b
826
        cmp     al, 10000000b
827
        cmp     al, 10000000b
827
        jz      .ide8
828
        jz      .ide8
828
;--------------------------------------
829
;--------------------------------------
829
.end:
830
.end:
830
        sti
831
        popfd
831
        mov     eax, [timer_ticks]
832
        mov     eax, [timer_ticks]
832
        mov     [timer_ATAPI_check], eax
833
        mov     [timer_ATAPI_check], eax
833
;--------------------------------------
834
;--------------------------------------
834
.end_1:
835
.end_1:
835
        popa
836
        popa
Line 908... Line 909...
908
        jmp     .ide0_1
909
        jmp     .ide0_1
909
;-----------------------------------------------------------------------------
910
;-----------------------------------------------------------------------------
910
.ide0:
911
.ide0:
911
        cli
912
        cli
912
        cmp     [ATAPI_IDE0_lock], 1
913
        cmp     [ATAPI_IDE0_lock], 1
913
        jne     .end
914
        jne     .ide7_1
Line 914... Line 915...
914
 
915
 
915
        cmp     [cd_status], 0
916
        cmp     [cd_status], 0
Line 916... Line 917...
916
        jne     .end
917
        jne     .end
Line 927... Line 928...
927
 
928
 
928
        call    .eject
929
        call    .eject
929
;--------------------------------------
930
;--------------------------------------
930
@@:
931
@@:
931
        call    syscall_cdaudio.free
932
        call    syscall_cdaudio.free
932
        jmp     .end
933
        jmp     .ide7_1
933
;-----------------------------------------------------------------------------
934
;-----------------------------------------------------------------------------
934
.ide7:
935
.ide7:
935
        cli
936
        cli
936
        cmp     [ATAPI_IDE7_lock], 1
937
        cmp     [ATAPI_IDE7_lock], 1
Line 937... Line 938...
937
        jne     .ide2_1
938
        jne     .ide6_1
938
 
939
 
Line 939... Line 940...
939
        cmp     [cd_status], 0
940
        cmp     [cd_status], 0
Line 951... Line 952...
951
 
952
 
952
        call    .eject
953
        call    .eject
953
;--------------------------------------
954
;--------------------------------------
954
@@:
955
@@:
955
        call    syscall_cdaudio.free
956
        call    syscall_cdaudio.free
956
        jmp     .ide2_1
957
        jmp     .ide6_1
957
;-----------------------------------------------------------------------------
958
;-----------------------------------------------------------------------------
958
.ide6:
959
.ide6:
959
        cli
960
        cli
960
        cmp     [ATAPI_IDE6_lock], 1
961
        cmp     [ATAPI_IDE6_lock], 1
Line 961... Line 962...
961
        jne     .ide1_1
962
        jne     .ide5_1
962
 
963
 
Line 963... Line 964...
963
        cmp     [cd_status], 0
964
        cmp     [cd_status], 0
Line 975... Line 976...
975
 
976
 
976
        call    .eject
977
        call    .eject
977
;--------------------------------------
978
;--------------------------------------
978
@@:
979
@@:
979
        call    syscall_cdaudio.free
980
        call    syscall_cdaudio.free
980
        jmp     .ide1_1
981
        jmp     .ide5_1
981
;-----------------------------------------------------------------------------
982
;-----------------------------------------------------------------------------
982
.ide5:
983
.ide5:
983
        cli
984
        cli
984
        cmp     [ATAPI_IDE5_lock], 1
985
        cmp     [ATAPI_IDE5_lock], 1
Line 985... Line 986...
985
        jne     .ide0_1
986
        jne     .ide4_1
986
 
987
 
Line 987... Line 988...
987
        cmp     [cd_status], 0
988
        cmp     [cd_status], 0
Line 999... Line 1000...
999
 
1000
 
1000
        call    .eject
1001
        call    .eject
1001
;--------------------------------------
1002
;--------------------------------------
1002
@@:
1003
@@:
1003
        call    syscall_cdaudio.free
1004
        call    syscall_cdaudio.free
1004
        jmp     .ide0_1
1005
        jmp     .ide4_1
1005
;-----------------------------------------------------------------------------
1006
;-----------------------------------------------------------------------------
1006
.ide4:
1007
.ide4:
1007
        cli
1008
        cli
1008
        cmp     [ATAPI_IDE4_lock], 1
1009
        cmp     [ATAPI_IDE4_lock], 1
Line 1009... Line 1010...
1009
        jne     .end
1010
        jne     .ide11_1
1010
 
1011
 
Line 1011... Line 1012...
1011
        cmp     [cd_status], 0
1012
        cmp     [cd_status], 0
Line 1023... Line 1024...
1023
 
1024
 
1024
        call    .eject
1025
        call    .eject
1025
;--------------------------------------
1026
;--------------------------------------
1026
@@:
1027
@@:
1027
        call    syscall_cdaudio.free
1028
        call    syscall_cdaudio.free
1028
        jmp     .end
1029
        jmp     .ide11_1
1029
;-----------------------------------------------------------------------------
1030
;-----------------------------------------------------------------------------
1030
.ide11:
1031
.ide11:
1031
        cli
1032
        cli
1032
        cmp     [ATAPI_IDE11_lock], 1
1033
        cmp     [ATAPI_IDE11_lock], 1
Line 1033... Line 1034...
1033
        jne     .ide2_1
1034
        jne     .ide10_1
1034
 
1035
 
Line 1035... Line 1036...
1035
        cmp     [cd_status], 0
1036
        cmp     [cd_status], 0
Line 1047... Line 1048...
1047
 
1048
 
1048
        call    .eject
1049
        call    .eject
1049
;--------------------------------------
1050
;--------------------------------------
1050
@@:
1051
@@:
1051
        call    syscall_cdaudio.free
1052
        call    syscall_cdaudio.free
1052
        jmp     .ide2_1
1053
        jmp     .ide10_1
1053
;-----------------------------------------------------------------------------
1054
;-----------------------------------------------------------------------------
1054
.ide10:
1055
.ide10:
1055
        cli
1056
        cli
1056
        cmp     [ATAPI_IDE10_lock], 1
1057
        cmp     [ATAPI_IDE10_lock], 1
Line 1057... Line 1058...
1057
        jne     .ide1_1
1058
        jne     .ide9_1
1058
 
1059
 
Line 1059... Line 1060...
1059
        cmp     [cd_status], 0
1060
        cmp     [cd_status], 0
Line 1071... Line 1072...
1071
 
1072
 
1072
        call    .eject
1073
        call    .eject
1073
;--------------------------------------
1074
;--------------------------------------
1074
@@:
1075
@@:
1075
        call    syscall_cdaudio.free
1076
        call    syscall_cdaudio.free
1076
        jmp     .ide1_1
1077
        jmp     .ide9_1
1077
;-----------------------------------------------------------------------------
1078
;-----------------------------------------------------------------------------
1078
.ide9:
1079
.ide9:
1079
        cli
1080
        cli
1080
        cmp     [ATAPI_IDE9_lock], 1
1081
        cmp     [ATAPI_IDE9_lock], 1
Line 1081... Line 1082...
1081
        jne     .ide0_1
1082
        jne     .ide8_1
1082
 
1083
 
Line 1083... Line 1084...
1083
        cmp     [cd_status], 0
1084
        cmp     [cd_status], 0
Line 1095... Line 1096...
1095
 
1096
 
1096
        call    .eject
1097
        call    .eject
1097
;--------------------------------------
1098
;--------------------------------------
1098
@@:
1099
@@:
1099
        call    syscall_cdaudio.free
1100
        call    syscall_cdaudio.free
1100
        jmp     .ide0_1
1101
        jmp     .ide8_1
1101
;-----------------------------------------------------------------------------
1102
;-----------------------------------------------------------------------------
1102
.ide8:
1103
.ide8:
1103
        cli
1104
        cli
1104
        cmp     [ATAPI_IDE8_lock], 1
1105
        cmp     [ATAPI_IDE8_lock], 1