Subversion Repositories Kolibri OS

Rev

Rev 33 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 33 Rev 56
1
MouseSearch_PS2:
1
MouseSearch_PS2:
2
 
2
 
3
     pusha
3
     pusha
-
 
4
     	mov	bl, 0xAD
-
 
5
     	call	kb_cmd
4
     
6
     
5
     mov     bl,0xa8                 ; enable mouse cmd
7
     mov     bl,0xa8                 ; enable mouse cmd
6
     call    kb_cmd
8
     call    kb_cmd
7
     cmp     ah,1
9
     cmp     ah,1
8
     je      @@DataInputError
10
     je      @@DataInputError
9
 
11
 
10
     mov     bl,0xd4                 ; for mouse
12
     mov     bl,0xd4                 ; for mouse
11
     call    kb_cmd
13
     call    kb_cmd
12
     cmp     ah,1
14
     cmp     ah,1
13
     je      @@DataInputError 
15
     je      @@DataInputError 
14
     mov     al,0xeb                 ; 
16
     mov     al,0xeb                 ; 
15
     call    kb_write
17
     call    kb_write
16
     cmp     ah,1
18
     cmp     ah,1
17
     je      @@DataInputError
19
     je      @@DataInputError
18
     call    kb_read                 ; Acknowledge
20
     call    kb_read                 ; Acknowledge
19
     call    kb_read
21
     call    kb_read
20
     mov     [ps2_mouse_detected],0
22
     mov     [ps2_mouse_detected],0
21
     test    al,8
23
     test    al,18h
22
     jz      @f
24
     jz      @f
23
     mov     [ps2_mouse_detected],1
25
     mov     [ps2_mouse_detected],1
24
  @@:   
26
  @@:   
25
     call    kb_read                 ; 
27
     call    kb_read                 ; 
26
     call    kb_read                 ; 
28
     call    kb_read                 ; 
27
 
29
 
28
     mov     bl,0x20                 ; get command byte
30
     mov     bl,0x20                 ; get command byte
29
     call    kb_cmd
31
     call    kb_cmd
30
     cmp     ah,1
32
     cmp     ah,1
31
     je      @@DataInputError
33
     je      @@DataInputError
32
     call    kb_read
34
     call    kb_read
33
     cmp     ah,1
35
     cmp     ah,1
34
     je      @@DataInputError
36
     je      @@DataInputError
35
     or      al,3                    ; enable interrupt
37
     or      al,3                    ; enable interrupt
36
     mov     bl,0x60                 ; write command
38
     mov     bl,0x60                 ; write command
37
     push    eax
39
     push    eax
38
     call    kb_cmd
40
     call    kb_cmd
39
     pop     eax
41
     pop     eax
40
     call    kb_write
42
     call    kb_write
41
     cmp     ah,1
43
     cmp     ah,1
42
     je      @@DataInputError
44
     je      @@DataInputError
43
 
45
 
44
     mov     bl,0xd4                 ; for mouse
46
     mov     bl,0xd4                 ; for mouse
45
     call    kb_cmd
47
     call    kb_cmd
46
     cmp     ah,1
48
     cmp     ah,1
47
     je      @@DataInputError
49
     je      @@DataInputError
48
     mov     al,0xf4                 ; enable mouse device
50
     mov     al,0xf4                 ; enable mouse device
49
     call    kb_write
51
     call    kb_write
50
     cmp     ah,1
52
     cmp     ah,1
51
     je      @@DataInputError
53
     je      @@DataInputError
52
     call    kb_read           ; read status return
54
     call    kb_read           ; read status return
53
     cmp     ah,1
55
     cmp     ah,1
54
     je      @@DataInputError
56
     je      @@DataInputError
55
     cmp     AL,0FAh          
57
     cmp     AL,0FAh          
56
     jnz     @@DataInputError ;íåò ïîäòâåðæäåíèÿ
58
     jnz     @@DataInputError ;íåò ïîäòâåðæäåíèÿ
57
 
59
 
58
@@DataInputError:
60
@@DataInputError:
59
     cmp     [ps2_mouse_detected],0
61
     cmp     [ps2_mouse_detected],0
60
     je      @f
62
     je      @f
61
     mov     esi,boot_setmouse_type
63
     mov     esi,boot_setmouse_type
62
     call    boot_log
64
     call    boot_log
63
  @@:
65
  @@:
-
 
66
  	mov	bl, 0xAE
-
 
67
  	call	kb_cmd
64
     popa
68
     popa