Rev 4700 | Rev 6464 | 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 |