ZXNet эхоконференция «code.zx»


тема: Прогрессивный драйвер кемпстон мауса.



от: Kirill Frolov
кому: All
дата: 16 Sep 1998


├┤i, All !

Маус типа кемпстон получает все большее распространение, а никакого
прогресса не наблюдается. В этом просто убедиться запустив первую
попавшуюся программу где есть стрелка и управляется он чем угодно, но
не маусом :-( . Hо это еще половина беды - чтобы двигать стрелку на
большие расстояния надо неплохо размахивать руками (Ц) Медноногов из
zx.spectrum. Hу чтобы руками не размахивать и стрелка не дергалась
при небольшом перемещении есть прогрессивный драйвер мауса в котором
величина смещения мауса умножается на скорость его перемещения. Т.е.
чем быстрее, тем дальше при перемещении на одно расстояние. В резуль-
тате не надо размахивать руками чтобы передвигат стрелку на большое
расстояние и не надо долго и мучительно пытаться передвинуть ее на
1 пиксель - при медленном перемещении все плавно.


Вот сам драйвер (ц) Медноногов.

OLDCO DEFW 0 ;
COORD DEFW 0 ;координаты (х-младший, y-старший)
CONTRB DEFB #FF ;три младших бита - кнопки

MOUSDRV LD BC,#FBDF
LD DE,(OLDCO)
LD HL,(COORD)
IN A,(C) ;вычисление X
LD (OLDCO),A
SUB E
JR Z,MSEx0
JP P,MSEx1
NEG
CALL MSElog
NEG
ADD A,L
JR C,MSExe
XOR A
JR MSExe
MSEx1 CALL MSElog
ADD A,L
JR C,MSEx11
CP 254 ;max X
JR C,MSExe
MSEx11 LD A,254 ;max X
MSExe LD L,A
MSEx0 LD B,#FF ;вычисление Y
IN A,(C)
LD (OLDCO+1),A
SUB D
JR Z,MSEy0
JP M,MSEy1
CALL MSElog
NEG
ADD A,H
JR C,MSEye
XOR A
JR MSEye
MSEy1 NEG
CALL MSElog
ADD A,H
JR C,MSEy11
CP 190 ;max Y
JR C,MSEye
MSEy11 LD A,190 ;max Y
MSEye LD H,A
MSEy0 LD (COORD),HL
LD B,#FA ;кнопки
IN A,(C)
LD (CONTRB),A
RET
;
MSElog CP 4 ;мышка с ускорением
RET C
ADD A,A
JR C,MSElgC
CP 8*2
RET C
ADD A,8
JR C,MSElgC
CP 120
RET C
MSElgC LD A,120
RET


Как оно работает - не вникал. Комментариев нет. Hо принцип ясен.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Энциклопедия - Испанософтография (софтография всех испанских спектрумовских фирм).
Интервью - интервью с участниками ENLiGHT'97: Progress.
Презентация - ZX-winword v2.01
График BBS - График работы BBS на неделю.
Clive Sinclair - Страницы из жизни создателя Спектрума: Клайва Синклера.

В этот день...   5 мая