В программе, поддерживающей 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
;---