PDA

Просмотр полной версии : mouse driver



tasman
14.03.2005, 21:33
Дайте ссылочки где найти драйвер(а), доки по kempston mouse.
Срочняк надо.

Aprisobal
14.03.2005, 22:12
см. в Spectrofon 20 в разделе Конструктор идёт схема подкл. мыши, а затем драйвер.

tasman
14.03.2005, 22:40
thx.
щас смотреть буду.

Looker
18.03.2005, 00:40
неплохой драйвер от Макроса был в одном из первых Абзацев (щас.....гм, в четвертом). А еще у меня есть свой отработанный. Если нужен, пиши.

tasman
18.03.2005, 08:58
пришли если не жалко :)
можно здесь выложить.

Looker
19.03.2005, 23:48
Писал я его еще хрен знает когда. За идею брал то ли исходник, толи туториал из какого-то Формата.
Вобщем, все рабочее, если кому не нравится оптимальность/стройность или еще чего - милости просим свой вариант. Лично меня устраивает.



MKEY LD A,(FIRE):LD (LFIRE),A
LD BC,#FADF:IN A,(C)
CPL:LD E,A
AND 1:SLA A:LD D,A:LD A,E
AND 2:SRL A:OR D:LD D,A
LD A,E:AND 252:OR D:LD (FIRE),A
RET

KMDRV LD HL,(X_COORD):LD DE,(LAST_X)
LD BC,#FBDF:IN A,(C)
LD (LAST_X),A:SUB E:JR Z,NEXT
CP 1:JR Z,ONR
CP 255:JR Z,ONL
CALL RE_XY
ONR JP P,MAR
ONL ADD A,L:JR C,RGK+1
XOR A:JR RGK+1
MAR ADD A,L:JR C,RGK
CP 255:JR C,RGK+1
RGK LD A,255:LD L,A
NEXT LD BC,#FFDF:IN A,(C)
LD (LAST_Y),A:SUB D:JR Z,NEXT1
NEG
CP 1:JR Z,OND
CP 255:JR Z,ONU
CALL RE_XY
OND JP P,MAD
ONU ADD A,H:JR C,DKR+1
XOR A:JR DKR+1
MAD ADD A,H:JR C,DKR
CP 191:JR C,DKR+1
DKR LD A,191:LD H,A
NEXT1 LD (X_COORD),HL
RET
RE_XY ADD A,A:RET

FIRE DB 0
LFIRE DB 0
LAST_X DB 0
LAST_Y DB 0
X_COORD DB 0
Y_COORD DB 0


Тут три функции. Первая опрашивает кнопки (и по тупому левую кнопку устанавливает в первый бит результата, правую - во второй)
Вторая - непосредственно переопрос координат. Реальные откорректированные координаты берем в (X_COORD), (Y_COORD) или словом из первого.
ну а RE_XY - произвольная функция масштабирования перемещения.

В аттач вложил текстовый вариант, дабы легче было, если что, импортировать в свой асм.

p.s. у меня все это в Шторме написано было, но вроде-бы никаких спецефических моментов не видно.

tasman
20.03.2005, 10:06
спасибо!_____

Corpsegrinder
20.03.2005, 13:57
Удобная штучка, главное его легко можно использовать параллельно с опросом клавиатуры и без лишних заморочек, в своё время мне было лениво разбираться с уже готовым и писать такой драйвер, поэотму всё что делал было условно безмышим :)

mikeshevchen
22.03.2005, 17:44
Драйвер, который я написал в 2003 году, умеет как рисовать курсор, так и опрашивать органы управления, включая мышь. Прошу на мой сайт http://mikeshevchen.narod.ru, раздел Sinclair. Там есть описание, исходники и демо-программа. Буду рад вашим откликам! Сам считаю драйвер достаточно продвинутым -- до такта рассчитанное фиксированное время выполнения функций, хорошая скорость и т.д.

Dr.Lion/RSM
11.04.2005, 19:41
Срочно нужна дока и примеры драйверов AY-mouse! То, что я сам накодил, не удовлетворительно рабртает, потому прошу помощи и совета!

Looker
13.04.2005, 08:44
Срочно нужна дока и примеры драйверов AY-mouse! То, что я сам накодил, не удовлетворительно рабртает, потому прошу помощи и совета!

Срочно нужна дока и примеры драйверов AY-mouse! То, что я сам накодил, не удовлетворительно рабртает, потому прошу помощи и совета!

в журнале ZX-Power, по-моему что-то было. и арт-студио в приложении, адаптированный Z-Man'om (по-моему) для работы с диском и всяческими мышами, в том числе и ентой.

Dr.Lion/RSM
13.04.2005, 14:45
в журнале ZX-Power, по-моему что-то было. и арт-студио в приложении, адаптированный Z-Man'om (по-моему) для работы с диском и всяческими мышами, в том числе и ентой.
Там я уже смотрел, мало того, ковырялся в ARTMOUSE! В ARTMOUSE мышь работает еще сносно, но у меня почти по такому же алгоритму при малых перемещениях мыши стрелочка не двигается! Только если её быстро перемещать, то стрелка начинает ездить. Впринципе, мой драйвер работает, но вышеупомянутые особенности его работы мешают точному позиционированию стрелки так, как это возможно при работе Kempston Mouse. Может можно ещё накопать какой-нить инфы по AY Mouse? Кстати, я читаю мышь только раз за прерывание, в ZX-P, кажись, советуют читать несколько раз за ИНТ, но мне это не совсем подходит.

Dr.Lion/RSM
20.04.2005, 11:45
Люди, неужели ниукого нет опыта работы с AY-Mouse?

Grand
12.05.2005, 14:25
Срочно нужна дока и примеры драйверов AY-mouse!По 4-х битной мыши была публикация в сборнике ZX-FORUM-1 (Москва, "Инфорком", 1994 ,стр. 57). Возможно эта информация и для AY-mouse будет полезной.

Люди, неужели ниукого нет опыта работы с AY-Mouse?Это действительно не очень удобный и не распространенный интерфейс. В своё время я не стал "лепить" на AY мышь, а "подцепил" принтер.

Grand
12.05.2005, 14:27
В программе, поддерживающей Kempston-мышь, помимо хорошего драйвера, должна быть и процедура проверки наличия этого интерфейса. Ниже приводится такая процедура, опубликованная Сергеем Колотовым в Adventurer'е 9 с выдержкой из статьи. Интересно было бы узнать: какие подобные процедуры используют другие участники Форума, и что думают об этой?

В последнее вpемя во многих элект-
pонных изданиях (газетах, жуpналах...)
используется Kempston Mouse ... Hо неко-
тоpые товаpищи забывают тестиpовать желе-
зо на наличие оного пpибамбаса! В pезуль-
тате все виснет, глючит или пpосто "сбpа-
сывается"! : -( А посему я пpивожу пpоце-
дуpу пpовеpки компьютеpа на наличие мышки
(и джойстика заодно!). Пpи глючной шине
данных мышь благополучно "отpубается", а
не "находится", как у некотоpых... ; -)
;-------------------------------------------------------;
; KEMPSTON PORT TESTER (K.MOUSE & K.JOYSTICK) ;
;written by Kolotov Sergey (c) SerzhSoft, 1998 ;
;-------------------------------------------------------;
TST_KMS
LD BC,#FADF ;k.mouse port
LD HL,#0000 ;begin: mouse, joystick present
LD D,#09 ;time of testing
LP_TKMS IN A,(C)
INC A
OR L
LD L,A
IN A,(#1F) ;k.joystick port
AND #1F
OR H
LD H,A
DEC DE
LD A,D
DEC A
JR NZ,LP_TKMS
OR L
JR NZ,NO_MOUS
INC B ;#FB
IN A,(C)
CP E ;A=#FF?
LD A,D ;#01 - yes_ms
JR NZ,ON_MOUS
LD B,E ;#FF
IN A,(C)
CP E ;A=#FF?
LD A,D ;#01 - yes_ms
JR NZ,ON_MOUS
NO_MOUS XOR A ;#00 - no_ms
ON_MOUS LD (MOUSEFL),A ;0 - no mouse/ 1 - yes mouse
LD A,H
OR A
LD A,D ;#01 - yes_km
JR Z,ON_KMPS
NO_KMPS XOR A ;#00 - no_km
ON_KMPS LD (KEMPSFL),A ;0 -no joystick/1 -yes joystick
RET
;---

Ronin
12.05.2005, 15:42
про тест кемпстон-мыши написано в ZX-Hard#0

Grand
02.06.2005, 15:00
А личным опытом никто не желает поделиться?

fan
03.06.2005, 02:57
В своё время я не стал "лепить" на AY мышь, а "подцепил" принтер.
Извиняюсь что не в кассу, но шибко охота узнать как именно был подцеплен принтер и с каким софтом работал. (Может это где то уже описывалось?)

breeze
03.06.2005, 09:54
Извиняюсь что не в кассу, но шибко охота узнать как именно был подцеплен принтер и с каким софтом работал. (Может это где то уже описывалось?)

так принтер подцеплен на KAY1024, использовались 14 и 15 регистр, если интересно могу порыца дома, валялись дрова которые я писал сам в слепую :( не_товарищь немо мне тогда так и не сказал :( а из издоса один товаришь за эту инфу вообще денег хотел! :mad:

Sonic
03.06.2005, 10:05
Я писал под нее, только адресов портов уже не помню. Могу сказать что это очень похоже на Kepmston.
Давай сюда свой исходник, вместе поищем что не работает

fan
04.06.2005, 02:34
так принтер подцеплен на KAY1024
Да каевский LPT крайне безбашенно сделан... INIT (бывший AUTO) висит на шестом бите #7FFD, строб на пятом бите #1FFD (и чего на нём еще только не висит...). Такое не подходи, хочу всё через порты сопра. Может Grand делал именно так(?). Интересны подробности и дрова/софт.

Драйвера для кая тоже интересены, если найдёшь то кинь плиз сюды или туды http://zx.pk.ru/showthread.php?t=908 .

Grand
07.06.2005, 15:08
... шибко охота узнать как именно был подцеплен принтер и с каким софтом работал.
... из издоса один товаришь за эту инфу вообще денег хотел!Думаю, это обсуждение достойно отдельной темы. Заходите: Speccy - наш выбор! > ZX-Spectrum > Железо > Работа с принтером через порт(ы) ввода/вывода AY-3-891x

himik
08.06.2005, 19:23
В программе, поддерживающей Kempston-мышь, помимо хорошего драйвера, должна быть и процедура проверки наличия этого интерфейса. Ниже приводится такая процедура, опубликованная Сергеем Колотовым в Adventurer'е 9 с выдержкой из статьи. Интересно было бы узнать: какие подобные процедуры используют другие участники Форума, и что думают об этой?

В последнее вpемя во многих элект-
pонных изданиях (газетах, жуpналах...)
используется Kempston Mouse ... Hо неко-
тоpые товаpищи забывают тестиpовать желе-
зо на наличие оного пpибамбаса! В pезуль-
тате все виснет, глючит или пpосто "сбpа-
сывается"! : -( А посему я пpивожу пpоце-
дуpу пpовеpки компьютеpа на наличие мышки
(и джойстика заодно!). Пpи глючной шине
данных мышь благополучно "отpубается", а
не "находится", как у некотоpых... ; -)
;-------------------------------------------------------;
; KEMPSTON PORT TESTER (K.MOUSE & K.JOYSTICK) ;
;written by Kolotov Sergey (c) SerzhSoft, 1998 ;
;-------------------------------------------------------;
TST_KMS
LD BC,#FADF ;k.mouse port
LD HL,#0000 ;begin: mouse, joystick present
LD D,#09 ;time of testing
LP_TKMS IN A,(C)
INC A
OR L
LD L,A
IN A,(#1F) ;k.joystick port
AND #1F
OR H
LD H,A
DEC DE
LD A,D
DEC A
JR NZ,LP_TKMS
OR L
JR NZ,NO_MOUS
INC B ;#FB
IN A,(C)
CP E ;A=#FF?
LD A,D ;#01 - yes_ms
JR NZ,ON_MOUS
LD B,E ;#FF
IN A,(C)
CP E ;A=#FF?
LD A,D ;#01 - yes_ms
JR NZ,ON_MOUS
NO_MOUS XOR A ;#00 - no_ms
ON_MOUS LD (MOUSEFL),A ;0 - no mouse/ 1 - yes mouse
LD A,H
OR A
LD A,D ;#01 - yes_km
JR Z,ON_KMPS
NO_KMPS XOR A ;#00 - no_km
ON_KMPS LD (KEMPSFL),A ;0 -no joystick/1 -yes joystick
RET
;---


я юзал данный чекер, только его надо раз 5 прогнать для стабильности.

Grand
09.06.2005, 14:35
А на каких именно вариантах Спектрума он пробовался?

himik
09.06.2005, 14:43
А на каких именно вариантах Спектрума он пробовался?

на профи без мышки.

там происходило чо попало изредка.
я пришел к выводу, что если прочекать данный девайс пять раз, то можно получить 100% результат.

Grand
15.06.2005, 16:50
OK, спасибо за информацию. Ronin мне рекомендавал прочитать ZX-Hard 0. Там есть такая процедура:
;Пров. налич. Kempston Mouse Interface
;из ZX-Hard 0, разд. "Железо - кодерам",
;статья "Тонкости опроса кемпстон-крыс" (C) VTS
LD BC,#FADF
IN A,(C)
INC B
IN D,(C)
LD B,#FF
IN E,(C)
CP D
JP NZ,mouse_on
CP E
JP NZ,mouse_on
mouse_off .....
Интересно было бы узнать, как ведет себя она.
Дело в том, что кое-кто из моих друзей просит меня сделать поддержку Kempston Mouse, а у меня реального интерфейса нет; можно конечно отладить на эмуляторе, но хочется, чтобы всё работало и на настоящих Спектрумах.