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