Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:psg:psg [2020-11-27 23:16] GreyWolf [Ссылки] |
msx:psg:psg [2021-11-10 11:18] (текущий) GreyWolf [Ссылки] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== MSX — Порт общего назначения (PSG) ====== | + | ====== MSX — Программируемый звуковой генератор (PSG) ====== |
- | Интерфейс ввода/вывода общего назначения | + | Программируемый звуковой генератор на основе микросхемы AY-3-8910 (или аналога) |
- | + | ||
- | |Микросхема|AY-3-8910 (или аналог)| | + | |
- | |Вход/выход|вход 4 бита \\ выход 1 бит, двунаправленный 2 бита (на порт)| | + | |
- | |Уровень|TTL| | + | |
- | |Разъём|Девятиконтактный разъём AMP (D-SUB) (штырьки со стороны корпуса)| | + | |
- | + | ||
- | Порядок расположения контактов: | + | |
- | ^ На разъёме \\ в MSX ^ На \\ устройстве ^ | + | |
- | | {{db9_joystick_male.png|}} \\ [[http://wiki.icomp.de/w/images/7/73/Db9_joystick_male.png|оригинал]] | {{db9_joystick_female.png|}} \\ [[http://wiki.icomp.de/w/images/4/48/Db9_joystick_female.png|оригинал]] | | + | |
- | + | ||
- | Сигнальные линии интерфейса: | + | |
- | |<10% 10% 80%>| | + | |
- | ^ № ^ Сигнал ^ Направление ^ | + | |
- | | 1 |FWD|вход| | + | |
- | | 2 |BACK|вход| | + | |
- | | 3 |LEFT|вход| | + | |
- | | 4 |RIGHT|вход| | + | |
- | | 5 |+5 В|| | + | |
- | | 6 |TRG1|вход/выход| | + | |
- | | 7 |TRG2|вход/выход| | + | |
- | | 8 |COM|выход| | + | |
- | | 9 |GND|| | + | |
- | + | ||
- | Должна быть обеспечена нагрузочная способность не менее 50мА. | + | |
- | + | ||
- | {{anchor:joystick}} | + | |
- | ====== Джойстик ====== | + | |
- | + | ||
- | Есть два типа джойстиков: | + | |
- | * Тип A — имеет одну кнопку или несколько кнопок, но сигнал не может быть распознан программно | + | |
- | * Тип B — имеет две кнопки и можно программно определить, какая именно кнопка нажата | + | |
- | + | ||
- | Большинство доступных джойстиков относятся к типу B, и предполагается, что программное обеспечение также поддерживает тип B. Поэтому при использовании джойстиков типа А необходимо соблюдать осторожность. | + | |
- | + | ||
- | Схема подключения джойстика: \\ | + | |
- | {{msx:datapack:files:1_1_3_13.svg|}} | + | |
- | + | ||
- | Программа для тестирования мыши/джойстика: [[msx:joytest:joytest|]] | + | |
---- | ---- | ||
- | |||
- | **[[msxorg>wiki/Joystick_control|Joystick control - MSX Wiki]]** | ||
- | |||
- | [[https://icomp.de/shop-icomp/en/shop/product/competition-pro-retro.html|Competition PRO Retro]] | ||
- | |||
- | http://wiki.icomp.de/wiki/Competition_Pro_Retro | ||
- | |||
- | http://wiki.icomp.de/wiki/DB9-Joystick | ||
- | |||
- | {{anchor:paddle}} | ||
- | ====== Манипулятор колесо ====== | ||
- | FIXME | ||
- | |||
- | При вызове функции BIOS «PDL» компьютер посылает импульс на восьмой контакт порта ввода-вывода общего назначения. Этот импульс взводит одновибратор, который формирует ответный импульс переменной длины, возвращаясь в стабильное состояние через промежуток времени, зависящий от угла поворота переменного резистора, прикреплённого к ручке манипулятора. К каждому порту может быть подключено до шести манипуляторов включительно. | ||
- | |||
- | <WRAP center round important 60%> | ||
- | Манипулятор колесо не будет поддерживаться системным программным обеспечением на MSX turbo R или более поздней версии MSX. | ||
- | </WRAP> | ||
- | |||
- | Временная диаграмма колеса: \\ | ||
- | {{msx:datapack:files:1_1_3_14.svg|}} | ||
- | |||
- | Схема подключения цепей колеса: \\ | ||
- | {{msx:datapack:files:1_1_3_15.svg|}} | ||
- | |||
- | ---- | ||
- | |||
- | [[msxorg>wiki/MSX_Paddle_Controller|MSX Paddle Controller]] | ||
- | |||
- | |||
- | {{anchor:mouse}} | ||
- | ===== Мышь ===== | ||
- | |||
- | Мышь стандарта MSX подключается к интерфейсу ввода/вывода общего назначения, поэтому со стороны системного блока не требуется какой–либо ресурсоёмкой обработки и дополнительных схемных решений. Она может работать в двух режимах: режиме счётчика (это собственно и есть режим мыши) и в режиме эмуляции джойстика, поэтому может работать и с программным обеспечением, которое не поддерживает мышь. | ||
- | |||
- | Список сигнальных линий мыши: | ||
- | FIXME | ||
- | ^ № контакта ^ Режим мыши (счётчик) ^ Режим джойстика ^ | ||
- | |1|Бит данных 0 |Вперёд| | ||
- | |2|Бит данных 1 |Назад| | ||
- | |3|Бит данных 2 |Влево| | ||
- | |4|Бит данных 3 |Вправо| | ||
- | |5|Питание +5В| | | ||
- | |6|Левая кнопка|Кнопка 1| | ||
- | |7|Правая кнопка|Кнопка 2| | ||
- | |8|STROBE (строб)|GND (общий)| | ||
- | |9|GND (общий)| | | ||
- | |||
- | ==== Режим мыши (счётчик) ==== | ||
- | |||
- | Как было сказано выше, режим счётчика — это «родной» режим мыши. Мышь фиксирует смещение по координатам X и Y и модифицирует значение восьмибитного внутреннего счетчика. При получении запроса от системы данные передаются и значение счётчика обнуляется. Последовательность передачи данных приведена на рисунке. | ||
- | |||
- | Формат передаваемых данных: \\ | ||
- | {{msx:datapack:files:1_1_3_16.svg|}} | ||
- | |||
- | Данные передаются полубайтами, вначале координата X, потом Y по смене значения сигнала строба, как показано ниже. | ||
- | \\ Временная диаграмма передачи координат мыши:\\ | ||
- | {{msx:datapack:files:1_1_3_17.svg|}} | ||
- | |||
- | |||
- | Координаты мыши можно прочитать с помощью функции BIOS «GETPAD». Поскольку BIOS инициирует процедуру получения данных о координатах после запроса, в ответ на запрос передаются координаты, которые были получены при предыдущем вызове этой функции. | ||
- | |||
- | ==== Режим джойстика ==== | ||
- | |||
- | Если при включении MSX (то есть в момент подачи на мышь питания) нажата левая кнопка мыши, устанавливается режим джойстика. В этом режиме можно использовать мышь в качестве джойстика. | ||
- | На рисунке показан пример формирования сигнала, имитирующего результат наклона рукояти джойстика, на основе сигналов от двух оптических датчиков оптического энкодера одной из координат перемещения. | ||
- | |||
- | Временная диаграмма режима джойстика: \\ | ||
- | {{msx:datapack:files:1_1_3_18.svg|}} | ||
- | |||
- | [[msx:mous4msx:mous4msx|]] | ||
- | |||
- | {{anchor:sound}} | ||
- | ====== Звук ====== | ||
- | FIXME | ||
[[msx:using_musical_means_in_basic:using_musical_means_in_basic|]] | [[msx:using_musical_means_in_basic:using_musical_means_in_basic|]] | ||
- | |||
- | ---- | ||
- | |||
- | [[msxorg>wiki/SOUND|SOUND]] | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
**[[msx:datapack:datapack|]]** | **[[msx:datapack:datapack|]]** | ||
- | [[msxorg>wiki/General_Purpose_port|General Purpose port]] | ||
- | [[https://github.com/oboroc/msx-books/blob/master/msx2-fb-1993-ru.md#13|Архитектура и устройства микрокомпьютеров стандарта MSX 2 — 13. Универсальный интерфейс ввода/вывода]] | + | [[msxorg>wiki/SOUND|SOUND]] |
{{tag>MSX Norm Music}} | {{tag>MSX Norm Music}} |