Kempston Mouse — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
[[Изображение:Kempston_Mouse.jpg|thumb|right|Kempston Mouse]]
 
[[Изображение:Kempston_Mouse.jpg|thumb|right|Kempston Mouse]]
'''Kempston Mouse''' - манипулятор типа "мышь" и интерфейс для его подключения к [[ZX Spectrum]], разработанный компанией [[Kempston Micro Electronics]]. Манипулятор представляет собой механическую пассивную мышь с двумя кнопками. Интерфейс поставлялся в комплекте со специальной версией графического редактора [[Art Studio]] и стоил £49.95.
+
'''Kempston Mouse''' манипулятор типа "мышь" и интерфейс для его подключения к [[ZX Spectrum]], разработанный компанией [[Kempston Micro Electronics]]. Манипулятор представляет собой механическую пассивную мышь с двумя кнопками. Интерфейс поставлялся в комплекте со специальной версией графического редактора [[Art Studio]] и стоил £49.95.
  
 
В России Kempston Mouse стал основным стандартом для подключения мыши. Любителями было разработано много вариантов контроллеров для самостоятельной сборки, готовые контроллеры также выпускались некоторыми отечественными производителями ZX Spectrum.
 
В России Kempston Mouse стал основным стандартом для подключения мыши. Любителями было разработано много вариантов контроллеров для самостоятельной сборки, готовые контроллеры также выпускались некоторыми отечественными производителями ZX Spectrum.
Строка 7: Строка 7:
  
 
=== Порты ===
 
=== Порты ===
* #FADF - порт кнопок и (по отечественному стандарту) колёсика.
+
* #FADF порт кнопок и (по отечественному стандарту) колёсика.
 
** D0: левая кнопка (0=нажата)
 
** D0: левая кнопка (0=нажата)
 
** D1: правая кнопка (0=нажата)
 
** D1: правая кнопка (0=нажата)
Строка 13: Строка 13:
 
** D3: зарезервировано под ещё одну кнопку (0=нажата)
 
** D3: зарезервировано под ещё одну кнопку (0=нажата)
 
** D4-D7: координата колёсика
 
** D4-D7: координата колёсика
* #FBDF - X-координата (растёт слева направо)
+
* #FBDF X-координата (растёт слева направо)
* #FFDF - Y-координата (растёт снизу вверх)
+
* #FFDF Y-координата (растёт снизу вверх)
  
 
=== Спор о расположении кнопок ===
 
=== Спор о расположении кнопок ===
Строка 25: Строка 25:
 
Однако в [[Art Studio]] основной рабочей является кнопка, состояние которой находится в бите D1.
 
Однако в [[Art Studio]] основной рабочей является кнопка, состояние которой находится в бите D1.
  
Схему Kempston Mouse в России практически одновременно воссоздали два человека, оба из [[Санкт-Петербург]]а - Максим Романов ([[RML]]/[[Create Soft]]) и [[Михаил Кондратьев]]/[[MI&DI]]. Первая схема имела левую кнопку на D0 и была опубликована в журнале [[ZX Format]] #5 (12 декабря 1996). Вторая схема имела левую кнопку на D1 и была опубликована в журнале [[Spectrofon]] #20 (12 октября 1996). Контроллер мыши и клавиатуры фирмы [[Scorpion]] имел функцию обмена кнопок (комбинацией клавиш на клавиатуре). Такая же функция присутствует в ряде [[эмулятор]]ов.
+
Схему Kempston Mouse в России практически одновременно воссоздали два человека, оба из [[Санкт-Петербург]]а Максим Романов ([[RML]]/[[Create Soft]]) и [[Михаил Кондратьев]]/[[MI&DI]]. Первая схема имела левую кнопку на D0 и была опубликована в журнале [[ZX Format]] #5 (12 декабря 1996). Вторая схема имела левую кнопку на D1 и была опубликована в журнале [[Spectrofon]] #20 (12 октября 1996). Контроллер мыши и клавиатуры фирмы [[Scorpion]] имел функцию обмена кнопок (комбинацией клавиш на клавиатуре). Такая же функция присутствует в ряде [[эмулятор]]ов.
  
 
Некоторые программы (например, журнал ZX Format) определяют левую кнопку как первую нажатую на пригласительном окне. Однако это вызывает неудобство, если интерфейс подразумевает закрытие окон правой кнопкой мыши. Если нажата неверная кнопка, оболочку приходится перезагружать.
 
Некоторые программы (например, журнал ZX Format) определяют левую кнопку как первую нажатую на пригласительном окне. Однако это вызывает неудобство, если интерфейс подразумевает закрытие окон правой кнопкой мыши. Если нажата неверная кнопка, оболочку приходится перезагружать.
Строка 36: Строка 36:
 
В противном случае мышь присутствует.
 
В противном случае мышь присутствует.
  
Существует вероятность (1/65536), что мышь не определится при её наличии - если обе координаты равны #FF. Можно считать значения портов мыши, равные #FF,#FF,#FF, признаком её наличия (при этом в случае отсутствия мыши дальнейший её опрос не повлияет на работоспособность программы, если найденная мышь не становится единственным устройством управления).
+
Существует вероятность (1/65536), что мышь не определится при её наличии если обе координаты равны #FF. Можно считать значения портов мыши, равные #FF,#FF,#FF, признаком её наличия (при этом в случае отсутствия мыши дальнейший её опрос не повлияет на работоспособность программы, если найденная мышь не становится единственным устройством управления).
  
 
== Ссылки ==
 
== Ссылки ==
 
*[http://www.worldofspectrum.org/infoseekid.cgi?id=1000221 Страница устройства на WoS]
 
*[http://www.worldofspectrum.org/infoseekid.cgi?id=1000221 Страница устройства на WoS]
*[http://zxdn.narod.ru/coding/op14kemp.txt Работа с Kempston mouse] - статья из [[Optron]] #14. Определение наличия мыши, опрос кнопок и получение координат.
+
*[http://zxdn.narod.ru/coding/op14kemp.txt Работа с Kempston mouse] статья из [[Optron]] #14. Определение наличия мыши, опрос кнопок и получение координат.
*[http://zxdn.narod.ru/hardware.htm#inputdev Схемы контроллеров Kempston mouse] - статьи из разных электронных журналов.
+
*[http://zxdn.narod.ru/hardware.htm#inputdev Схемы контроллеров Kempston mouse] статьи из разных электронных журналов.
 
*[http://alonecoder.narod.ru/zx/books/CREATEMS.rar Мышь Create Soft]
 
*[http://alonecoder.narod.ru/zx/books/CREATEMS.rar Мышь Create Soft]
  
 
[[Категория:Устройства ввода]]
 
[[Категория:Устройства ввода]]

Версия 22:54, 21 ноября 2009

Kempston Mouse

Kempston Mouse — манипулятор типа "мышь" и интерфейс для его подключения к ZX Spectrum, разработанный компанией Kempston Micro Electronics. Манипулятор представляет собой механическую пассивную мышь с двумя кнопками. Интерфейс поставлялся в комплекте со специальной версией графического редактора Art Studio и стоил £49.95.

В России Kempston Mouse стал основным стандартом для подключения мыши. Любителями было разработано много вариантов контроллеров для самостоятельной сборки, готовые контроллеры также выпускались некоторыми отечественными производителями ZX Spectrum.

Программирование

Порты

  • #FADF — порт кнопок и (по отечественному стандарту) колёсика.
    • D0: левая кнопка (0=нажата)
    • D1: правая кнопка (0=нажата)
    • D2: средняя кнопка (0=нажата)
    • D3: зарезервировано под ещё одну кнопку (0=нажата)
    • D4-D7: координата колёсика
  • #FBDF — X-координата (растёт слева направо)
  • #FFDF — Y-координата (растёт снизу вверх)

Спор о расположении кнопок

В журнале Crash #48 написано:

"IN 64479 reads the horizontal position of the mouse, and IN 65503 gives the vertical position. The two buttons are read with IN 64223, which gives 252 if both are pressed. 253 for the right button only and 254 for the left button. You get 255 if neither button is pressed."

Это означает, что бит D0 показывает состояние левой кнопки.

Однако в Art Studio основной рабочей является кнопка, состояние которой находится в бите D1.

Схему Kempston Mouse в России практически одновременно воссоздали два человека, оба из Санкт-Петербурга — Максим Романов (RML/Create Soft) и Михаил Кондратьев/MI&DI. Первая схема имела левую кнопку на D0 и была опубликована в журнале ZX Format #5 (12 декабря 1996). Вторая схема имела левую кнопку на D1 и была опубликована в журнале Spectrofon #20 (12 октября 1996). Контроллер мыши и клавиатуры фирмы Scorpion имел функцию обмена кнопок (комбинацией клавиш на клавиатуре). Такая же функция присутствует в ряде эмуляторов.

Некоторые программы (например, журнал ZX Format) определяют левую кнопку как первую нажатую на пригласительном окне. Однако это вызывает неудобство, если интерфейс подразумевает закрытие окон правой кнопкой мыши. Если нажата неверная кнопка, оболочку приходится перезагружать.

22 ноября 2001 года в эхоконференции Fido REAL.SPECCY был зафиксирован новый стандарт на Kempston mouse, включающий колесико и жёстко закрепляющий левую кнопку мыши на D0. Этот стандарт также зафиксирован в эхоконференции ZX.SPECTRUM 20 апреля 2003 года.

Определение наличия мыши

Мышь считается отсутствующей, если из всех 3 её портов считывается одинаковое значение (это соответствует Kempston джойстику или отсутствию устройства). Она также считается отсутствующей, если шина данных компьютера загрязнена (младший байт вектора прерываний не равен #FF), так как иначе невозможно определить её отсутствие по первому методу.

В противном случае мышь присутствует.

Существует вероятность (1/65536), что мышь не определится при её наличии — если обе координаты равны #FF. Можно считать значения портов мыши, равные #FF,#FF,#FF, признаком её наличия (при этом в случае отсутствия мыши дальнейший её опрос не повлияет на работоспособность программы, если найденная мышь не становится единственным устройством управления).

Ссылки