forked from KolibriOS/kolibrios
e3172037f7
git-svn-id: svn://kolibrios.org@129 a494cfbc-eb01-0410-851d-a64ba20cac60
70 lines
1.8 KiB
PHP
70 lines
1.8 KiB
PHP
MouseSearch_PS2:
|
|
|
|
pusha
|
|
mov bl, 0xAD
|
|
call kb_cmd
|
|
|
|
mov bl,0xa8 ; enable mouse cmd
|
|
call kb_cmd
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
|
|
mov bl,0xd4 ; for mouse
|
|
call kb_cmd
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
mov al,0xeb ;
|
|
call kb_write
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
call kb_read ; Acknowledge
|
|
call kb_read
|
|
mov [ps2_mouse_detected],0
|
|
test al,18h
|
|
jz @f
|
|
mov [ps2_mouse_detected],1
|
|
@@:
|
|
call kb_read ;
|
|
call kb_read ;
|
|
|
|
mov bl,0x20 ; get command byte
|
|
call kb_cmd
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
call kb_read
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
or al,3 ; enable interrupt
|
|
mov bl,0x60 ; write command
|
|
push eax
|
|
call kb_cmd
|
|
pop eax
|
|
call kb_write
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
|
|
mov bl,0xd4 ; for mouse
|
|
call kb_cmd
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
mov al,0xf4 ; enable mouse device
|
|
call kb_write
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
call kb_read ; read status return
|
|
cmp ah,1
|
|
je @@DataInputError
|
|
cmp AL,0FAh
|
|
jnz @@DataInputError ;íåò ïîäòâåðæäåíèÿ
|
|
|
|
@@DataInputError:
|
|
cmp [ps2_mouse_detected],0
|
|
je @f
|
|
mov esi,boot_setmouse_type
|
|
call boot_log
|
|
@@:
|
|
mov bl, 0xAE
|
|
call kb_cmd
|
|
popa
|
|
|