Инструменты пользователя

Инструменты сайта


msx:general_purpose_port:general_purpose_port

MSX — Порт общего назначения

Порт ввода/вывода общего назначения назначения.

В стандарте MSX определено два порта общего назначения, которые также могут использоваться для устройств ввода, таких как джойстик, мышь, трекбол, графический планшет, световое перо и т.п.

Программа для тестирования оборудования: MSX HIDtest

Вход/выходвход 4 бита
выход 1 бит, двунаправленный 2 бита (на порт)
УровеньTTL
РазъёмДевятиконтактный разъём AMP (D-SUB) (штырьки со стороны корпуса)

Порядок расположения контактов:

На разъёме
в MSX
На
устройстве

оригинал

оригинал

Сигнальные линии интерфейса:

Сигнал Направление
1 FWDвход
2 BACKвход
3 LEFTвход
4 RIGHTвход
5 +5 В
6 TRG1вход/выход
7 TRG2вход/выход
8 COMвыход
9 GND

Должна быть обеспечена нагрузочная способность не менее 50мА.

Джойстик

Есть два типа джойстиков:

  • Тип A — имеет одну кнопку или несколько кнопок, но сигнал не может быть распознан программно
  • Тип B — имеет две кнопки и можно программно определить, какая именно кнопка нажата

Большинство доступных джойстиков относятся к типу B, и предполагается, что программное обеспечение также поддерживает тип B. Поэтому при использовании джойстиков типа А необходимо соблюдать осторожность.

Схема подключения джойстика:

Примет простого оборудования для теста:


Joystick control - MSX Wiki

Competition PRO Retro

http://wiki.icomp.de/wiki/Competition_Pro_Retro

http://wiki.icomp.de/wiki/DB9-Joystick

Манипулятор колесо

FIXME

При вызове функции BIOS «PDL» компьютер посылает импульс на восьмой контакт порта ввода-вывода общего назначения. Этот импульс взводит одновибратор, который формирует ответный импульс переменной длины, возвращаясь в стабильное состояние через промежуток времени, зависящий от угла поворота переменного резистора, прикреплённого к ручке манипулятора. К каждому порту может быть подключено до шести манипуляторов включительно.

Манипулятор колесо не будет поддерживаться системным программным обеспечением на MSX turbo R или более поздней версии MSX.

Временная диаграмма колеса:

Схема подключения цепей колеса:

В MSX BASIC для обработки используется функция PDL()


MSX Paddle Controller

Arkanoid Paddle

Мышь

Мышь стандарта MSX подключается к интерфейсу ввода/вывода общего назначения, поэтому со стороны системного блока не требуется какой–либо ресурсоёмкой обработки и дополнительных схемных решений. Она может работать в двух режимах: режиме счётчика (это собственно и есть режим мыши) и в режиме эмуляции джойстика, поэтому может работать и с программным обеспечением, которое не поддерживает мышь.

Список сигнальных линий мыши:

№ контакта Режим мыши (счётчик) Режим джойстика
1Бит данных 0 Вперёд
2Бит данных 1 Назад
3Бит данных 2 Влево
4Бит данных 3 Вправо
5Питание +5В
6Левая кнопкаКнопка 1
7Правая кнопкаКнопка 2
8STROB (строб)GND (общий)
9GND (общий)

Режим мыши (счётчик)

Как было сказано выше, режим счётчика — это «родной» режим мыши. Мышь фиксирует смещение по координатам X и Y и модифицирует значение восьмибитного внутреннего счетчика. При получении запроса от системы данные передаются и значение счётчика обнуляется. Последовательность передачи данных приведена на рисунке.

Формат передаваемых данных:

Данные передаются полубайтами, вначале координата X, потом Y по смене значения сигнала строба, как показано ниже.
Временная диаграмма передачи координат мыши:

Координаты мыши можно прочитать с помощью функции BIOS «GETPAD». Поскольку BIOS инициирует процедуру получения данных о координатах после запроса, в ответ на запрос передаются координаты, которые были получены при предыдущем вызове этой функции.

Режим джойстика

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

Временная диаграмма режима джойстика:

Контроллеры для подключения манипуляторов мышь к MSX:

Ссылки

msx/general_purpose_port/general_purpose_port.txt · Последние изменения: 2023-03-19 18:12 — GreyWolf