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о принцип ясен.




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

Похожие статьи:
Программистам - TR-DOS для программистов.
Даздраперма и дети ее... - список новых имен, представляющих сокращения от различных фраз.
Юмор - Анекдот.
General Sound - X-Player - первый нормальный плеер модов для General Sound.
Новинки - новые поступления журналов и игр для ZX Spectrum: Deja Vu 7, ZX Format 8, Черный Ворон, ,Сталкер, Зеркало, Monster Land.

В этот день...   29 марта