Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 119 → Rev 120

/kernel/trunk/hid/m_com1.inc
4,7 → 4,7
FirstByte DB 0
SecondByte DB 0
ThirdByte DB 0
 
timer_ticks_com dd 0
;***************************************
;* ÍÎÂÛÉ ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ *
;***************************************
68,7 → 68,7
shl AL,6
or AL,[SecondByte]
cbw
shl ax,1
call mouse_acceleration_com1
add AX,[0xFB0A] ;[XCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà ëåâóþ èëè
; ïðàâóþ ãðàíèöó ýêðàíà
90,7 → 90,7
shl AL,4
or AL,[ThirdByte]
cbw
shl ax,1
call mouse_acceleration_com1
add AX,[0xFB0C] ;[YCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà âåðõíþþ èëè
; íèæíþþ ãðàíèöó ýêðàíà
106,6 → 106,8
xor AX,AX
@@Y2:
mov [0xFB0C],AX ;[YCoordinate]
mov eax,[timer_ticks]
mov [timer_ticks_com],eax
jmp @@EndMouseInterrupt
 
@@Error:
116,3 → 118,13
call ready_for_next_irq
ret
 
mouse_acceleration_com1:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_com]
cmp eax,[mouse_delay]
pop eax
ja @f
shl ax,1
@@:
ret
/kernel/trunk/hid/m_com2.inc
4,7 → 4,7
FirstByte_1 DB 0
SecondByte_1 DB 0
ThirdByte_1 DB 0
 
timer_ticks_com_1 dd 0
;***************************************
;* ÍÎÂÛÉ ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ *
;***************************************
68,7 → 68,7
shl AL,6
or AL,[SecondByte_1]
cbw
shl ax,1
call mouse_acceleration_com2
add AX,[0xFB0A] ;[XCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà ëåâóþ èëè
; ïðàâóþ ãðàíèöó ýêðàíà
90,7 → 90,7
shl AL,4
or AL,[ThirdByte_1]
cbw
shl ax,1
call mouse_acceleration_com2
add AX,[0xFB0C] ;[YCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà âåðõíþþ èëè
; íèæíþþ ãðàíèöó ýêðàíà
106,6 → 106,8
xor AX,AX
@@Y2_1:
mov [0xFB0C],AX ;[YCoordinate]
mov eax,[timer_ticks]
mov [timer_ticks_com_1],eax
jmp @@EndMouseInterrupt_1
 
@@Error_1:
116,3 → 118,13
call ready_for_next_irq
ret
 
mouse_acceleration_com2:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_com_1]
cmp eax,[mouse_delay]
pop eax
ja @f
shl ax,1
@@:
ret
/kernel/trunk/hid/m_ps2.inc
4,6 → 4,7
FirstByte_2 DB 0
SecondByte_2 DB 0
ThirdByte_2 DB 0
timer_ticks_ps2 dd 0
 
;**************************************
;* ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ PS/2 *
53,7 → 54,7
; Çàíåñòè â AL ìëàäøèé áàéò
@@M0:
mov AL,[SecondByte_2]
shl ax,1
call mouse_acceleration_ps2
; Âû÷èñëèòü íîâîå çíà÷åíèå êîîðäèíàòû
; êóðñîðà ïî X
add AX,[0xFB0A] ;[XCoordinate]
79,7 → 80,7
; Çàíåñòè â AL ìëàäøèé áàéò
@@M3:
mov AL,[ThirdByte_2]
shl ax,1
call mouse_acceleration_ps2
; Âû÷èñëèòü íîâîå çíà÷åíèå êîîðäèíàòû êóðñîðà
; ïî Y (Y-êîîðäèíàòà ìûøè PS/2 íàïðàâëåíà
; ïðîòèâîïîëîæíî ýêðàííîé)
98,6 → 99,8
mov [0xFB0C],AX ;[YCoordinate]
 
; Ïîêàçàòü êóðñîð â íîâîé ïîçèöèè
mov eax,[timer_ticks]
mov [timer_ticks_ps2],eax
jmp @@EndMouseInterrupt_2
 
; Îáíàðóæåí ñáîé â ïîðÿäêå ïåðåäà÷è èíôîðìàöèè îò ìûøè
108,6 → 111,16
call ready_for_next_irq_1
ret
mouse_acceleration_ps2:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_ps2]
cmp eax,[mouse_delay]
pop eax
ja @f
imul ax,[mouse_speed_factor]
@@:
ret
;***********************************************
;* ÎÆÈÄÀÍÈÅ Î×ÈÑÒÊÈ ÂÕÎÄÍÎÃÎ ÁÓÔÅÐÀ I8042 *
;* Ïðè âûõîäå èç ïðîöåäóðû: *
/kernel/trunk/hid/mousedrv.inc
16,6 → 16,9
mousedata dd 0x0
endg
 
mouse_delay dd 10
mouse_speed_factor dw 3
 
include 'm_ps2.inc'
include 'm_com1.inc'
include 'm_com2.inc'