Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
33 | mario79 | 1 | MouseSearch_PS2: |
2 | |||
3 | pusha |
||
4 | |||
5 | mov bl,0xa8 ; enable mouse cmd |
||
6 | call kb_cmd |
||
7 | cmp ah,1 |
||
8 | je @@DataInputError |
||
9 | |||
10 | mov bl,0xd4 ; for mouse |
||
11 | call kb_cmd |
||
12 | cmp ah,1 |
||
13 | je @@DataInputError |
||
14 | mov al,0xeb ; |
||
15 | call kb_write |
||
16 | cmp ah,1 |
||
17 | je @@DataInputError |
||
18 | call kb_read ; Acknowledge |
||
19 | call kb_read |
||
20 | mov [ps2_mouse_detected],0 |
||
21 | test al,8 |
||
22 | jz @f |
||
23 | mov [ps2_mouse_detected],1 |
||
24 | @@: |
||
25 | call kb_read ; |
||
26 | call kb_read ; |
||
27 | |||
28 | mov bl,0x20 ; get command byte |
||
29 | call kb_cmd |
||
30 | cmp ah,1 |
||
31 | je @@DataInputError |
||
32 | call kb_read |
||
33 | cmp ah,1 |
||
34 | je @@DataInputError |
||
35 | or al,3 ; enable interrupt |
||
36 | mov bl,0x60 ; write command |
||
37 | push eax |
||
38 | call kb_cmd |
||
39 | pop eax |
||
40 | call kb_write |
||
41 | cmp ah,1 |
||
42 | je @@DataInputError |
||
43 | |||
44 | mov bl,0xd4 ; for mouse |
||
45 | call kb_cmd |
||
46 | cmp ah,1 |
||
47 | je @@DataInputError |
||
48 | mov al,0xf4 ; enable mouse device |
||
49 | call kb_write |
||
50 | cmp ah,1 |
||
51 | je @@DataInputError |
||
52 | call kb_read ; read status return |
||
53 | cmp ah,1 |
||
54 | je @@DataInputError |
||
55 | cmp AL,0FAh |
||
56 | jnz @@DataInputError ;нет подтверждения |
||
57 | |||
58 | @@DataInputError: |
||
59 | cmp [ps2_mouse_detected],0 |
||
60 | je @f |
||
61 | mov esi,boot_setmouse_type |
||
62 | call boot_log |
||
63 | @@: |
||
64 | popa |
||
65 |