Это старая версия документа!
Интерфейс ввода/вывода общего назначения
Микросхема | AY-3-8910 (или аналог) |
Вход/выход | вход 4 бита выход 1 бит, двунаправленный 2 бита (на порт) |
Уровень | TTL |
Разъём | Девятиконтактный разъём AMP (D-SUB) (штырьки со стороны корпуса) |
Порядок расположения контактов:
Сигнальные линии интерфейса:
№ | Сигнал | Направление |
---|---|---|
1 | FWD | вход |
2 | BACK | вход |
3 | LEFT | вход |
4 | RIGHT | вход |
5 | +5 В | |
6 | TRG1 | вход/выход |
7 | TRG2 | вход/выход |
8 | COM | выход |
9 | GND |
Должна быть обеспечена нагрузочная способность не менее 50мА.
Есть два типа джойстиков:
Большинство доступных джойстиков относятся к типу B, и предполагается, что программное обеспечение также поддерживает тип B. Поэтому при использовании джойстиков типа А необходимо соблюдать осторожность.
Программа для тестирования мыши/джойстика: MSX JoyTest
http://wiki.icomp.de/wiki/Competition_Pro_Retro
При вызове функции BIOS «PDL» компьютер посылает импульс на восьмой контакт порта ввода-вывода общего назначения. Этот импульс взводит одновибратор, который формирует ответный импульс переменной длины, возвращаясь в стабильное состояние через промежуток времени, зависящий от угла поворота переменного резистора, прикреплённого к ручке манипулятора. К каждому порту может быть подключено до шести манипуляторов включительно.
Манипулятор колесо не будет поддерживаться системным программным обеспечением на MSX turbo R или более поздней версии MSX.
Схема подключения цепей колеса:
Мышь стандарта MSX подключается к интерфейсу ввода/вывода общего назначения, поэтому со стороны системного блока не требуется какой–либо ресурсоёмкой обработки и дополнительных схемных решений. Она может работать в двух режимах: режиме счётчика (это собственно и есть режим мыши) и в режиме эмуляции джойстика, поэтому может работать и с программным обеспечением, которое не поддерживает мышь.
Список сигнальных линий мыши:
№ контакта | Режим мыши (счётчик) | Режим джойстика |
---|---|---|
1 | Бит данных 0 | Вперёд |
2 | Бит данных 1 | Назад |
3 | Бит данных 2 | Влево |
4 | Бит данных 3 | Вправо |
5 | Питание +5В | |
6 | Левая кнопка | Кнопка 1 |
7 | Правая кнопка | Кнопка 2 |
8 | STROBE (строб) | GND (общий) |
9 | GND (общий) |
Как было сказано выше, режим счётчика — это «родной» режим мыши. Мышь фиксирует смещение по координатам X и Y и модифицирует значение восьмибитного внутреннего счетчика. При получении запроса от системы данные передаются и значение счётчика обнуляется. Последовательность передачи данных приведена на рисунке.
Данные передаются полубайтами, вначале координата X, потом Y по смене значения сигнала строба, как показано ниже.
Временная диаграмма передачи координат мыши:
Координаты мыши можно прочитать с помощью функции BIOS «GETPAD». Поскольку BIOS инициирует процедуру получения данных о координатах после запроса, в ответ на запрос передаются координаты, которые были получены при предыдущем вызове этой функции.
Если при включении MSX (то есть в момент подачи на мышь питания) нажата левая кнопка мыши, устанавливается режим джойстика. В этом режиме можно использовать мышь в качестве джойстика. На рисунке показан пример формирования сигнала, имитирующего результат наклона рукояти джойстика, на основе сигналов от двух оптических датчиков оптического энкодера одной из координат перемещения.
Использование музыкальных средств диалогового языка программирования MSX BASIC
Использование музыкальных средств диалогового языка программирования MSX — БЕЙСИК | Hardwarium