kolibrios/kernel/branches/gfx_kernel/detect/ps2mouse.inc
Mihail Semenyako (mike.dld) e3172037f7 Added gfx_kernel branch
git-svn-id: svn://kolibrios.org@129 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-14 21:38:03 +00:00

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