Rev 465 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 465 | Rev 473 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | $Revision: 465 $ |
1 | $Revision: 473 $ |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;; ;; |
3 | ;; ;; |
4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;; ;; |
6 | ;; ;; |
Line 19... | Line 19... | ||
19 | pusha |
19 | pusha |
20 | call MSMouseSearch |
20 | call MSMouseSearch |
21 | cmp AL,'M' |
21 | cmp AL,'M' |
22 | jne @f |
22 | jne @f |
23 | mov [com1_mouse_detected],1 |
23 | mov [com1_mouse_detected],1 |
24 | pusha |
24 | mov [irq_owner+4*4], 1 ; IRQ4 owner is System |
25 | - | ||
26 | mov eax,4 |
25 | mov eax, [RESERVED_PORTS] |
27 | shl eax,2 |
26 | inc eax |
28 | mov [irq_owner+eax], 1 |
- | |
29 | - | ||
30 | inc dword [RESERVED_PORTS] |
- | |
31 | mov edi,[RESERVED_PORTS] |
27 | mov [RESERVED_PORTS], eax |
32 | shl edi,4 |
28 | shl eax, 4 |
33 | mov [RESERVED_PORTS+edi+0],dword 1 |
29 | mov [RESERVED_PORTS+eax+0], dword 1 |
34 | mov [RESERVED_PORTS+edi+4],dword 0x3f0 |
30 | mov [RESERVED_PORTS+eax+4], dword 0x3F8 |
35 | mov [RESERVED_PORTS+edi+8],dword 0x3ff |
31 | mov [RESERVED_PORTS+eax+8], dword 0x3FF |
36 | - | ||
37 | popa |
- | |
38 | mov esi,boot_setmouse_type+22 |
32 | mov esi,boot_setmouse_type+22 |
39 | call boot_log |
33 | call boot_log |
40 | @@: |
34 | @@: |
41 | sub [COMPortBaseAddr],100h |
35 | sub [COMPortBaseAddr],100h |
42 | call MSMouseSearch |
36 | call MSMouseSearch |
43 | cmp AL,'M' |
37 | cmp AL,'M' |
44 | jne @f |
38 | jne @f |
45 | mov [com2_mouse_detected],1 |
39 | mov [com2_mouse_detected],1 |
46 | pusha |
40 | mov [irq_owner+3*4], 1 ; IRQ3 owner is System |
47 | - | ||
48 | mov eax,3 |
41 | mov eax, [RESERVED_PORTS] |
49 | shl eax,2 |
42 | inc eax |
50 | mov [irq_owner+eax], 1 |
- | |
51 | - | ||
52 | inc dword [RESERVED_PORTS] |
- | |
53 | mov edi,[RESERVED_PORTS] |
43 | mov [RESERVED_PORTS], eax |
54 | shl edi,4 |
44 | shl eax, 4 |
55 | mov [RESERVED_PORTS+edi+0],dword 1 |
45 | mov [RESERVED_PORTS+eax+0], dword 1 |
56 | mov [RESERVED_PORTS+edi+4],dword 0x2f0 |
46 | mov [RESERVED_PORTS+eax+4], dword 0x2F8 |
57 | mov [RESERVED_PORTS+edi+8],dword 0x2ff |
47 | mov [RESERVED_PORTS+eax+8], dword 0x2FF |
58 | - | ||
59 | popa |
- | |
60 | mov esi,boot_setmouse_type+44 |
48 | mov esi,boot_setmouse_type+44 |
61 | call boot_log |
49 | call boot_log |
62 | @@: |
50 | @@: |
63 | popa |
51 | popa |
64 | jmp end_detecting_mouse |
52 | jmp end_detecting_mouse |
Line 92... | Line 80... | ||
92 | out DX,AL |
80 | out DX,AL |
93 | ; Ïðîâåðèòü, ÷òî óñòðîéñòâî ïîäêëþ÷åíî è ÿâëÿåòñ |
81 | ; Ïðîâåðèòü, ÷òî óñòðîéñòâî ïîäêëþ÷åíî è ÿâëÿåòñ |
94 | ; ìûøüþ òèïà MSMouse |
82 | ; ìûøüþ òèïà MSMouse |
95 | ; Îòêëþ÷èòü ïèòàíèå ìûøè è ïðåðûâàíè |
83 | ; Îòêëþ÷èòü ïèòàíèå ìûøè è ïðåðûâàíè |
96 | mov DX,[COMPortBaseAddr] |
84 | mov DX,[COMPortBaseAddr] |
97 | add DX,4 ;ðåãèñòð óïðàâëåíèÿ ìîäåìîì |
85 | add EDX,4 ;ðåãèñòð óïðàâëåíèÿ ìîäåìîì |
98 | mov AL,0 ;ñáðîñèòü DTR, RTS è OUT2 |
86 | mov AL,0 ;ñáðîñèòü DTR, RTS è OUT2 |
99 | out DX,AL |
87 | out DX,AL |
100 | ; Îæèäàòü 5 "òèêîâ" (0,2 ñ) |
88 | ; Îæèäàòü 5 "òèêîâ" (0,2 ñ) |
101 | mov ecx,0xffff |
89 | mov ecx, 0xFFFF |
102 | dT_1: |
- | |
103 | dec ecx |
90 | loop $ |
104 | cmp ecx,0 |
- | |
105 | jne dT_1 |
- | |
106 | mov ecx,0xffff |
- | |
107 | ; Âêëþ÷èòü ïèòàíèå ìûøè |
91 | ; Âêëþ÷èòü ïèòàíèå ìûøè |
108 | mov AL,11b ;óñòàíîâèòü DTR è RTS |
92 | mov al, 1 |
109 | out DX,AL |
93 | out dx, al |
- | 94 | mov ecx, 0xFFFF |
|
- | 95 | loop $ |
|
110 | ; Î÷èñòèòü ðåãèñòð äàííûõ |
96 | ; Î÷èñòèòü ðåãèñòð äàííûõ |
111 | mov DX,[COMPortBaseAddr] |
97 | sub edx, 4 |
112 | in AL,DX |
98 | in AL,DX |
- | 99 | add edx, 4 |
|
- | 100 | mov AL,11b ;óñòàíîâèòü DTR è RTS |
|
- | 101 | out DX,AL |
|
- | 102 | mov ecx, 0x1FFFF |
|
113 | ; Öèêë îïðîñà ïîðòà |
103 | ; Öèêë îïðîñà ïîðòà |
114 | WaitData: |
104 | WaitData: |
115 | ; Îæèäàòü åùå 10 "òèêîâ" |
105 | ; Îæèäàòü åùå 10 "òèêîâ" |
116 | dec ecx |
106 | dec ecx |
117 | cmp ecx,0 |
107 | cmp ecx,0 |