Найти в Дзене

Орион-128. Мышь PS/2: подключение.

Всех приветствую! Недавно в телеграмм-сообществе по Ориону зашёл разговор о подключении мыши к Ориону. Слово за слово, парни поделились документацией, софтом и я решил также оснастить свой Орион мышкой. Конечно, на данный момент Орион не может похвастать каким-либо количеством софта, поддерживающим мышь. Из известных мне, мышь поддерживает игра MANNER и графический редактор PENX. Да и то, вероятнее всего, MANNER с представленным вариантом подключения работать не будет, т.к. неизвестно, какой интерфейс подключения использовали/поддержали авторы игры в далёких 90-ых годах. Ну, да ладно, перейдём к подключению. Предлагаемая схема является адаптацией схемы от небезызвестного Камиля Каримова, по схеме которого на данный момент к Ориону подключается PC-клавиатура. Адаптацией занимался Алексей Михайлов, он же разработал и внедрил программную поддержку в графический редактор PENX. Да простит меня Алексей, но его схема, на мой взгляд, не очень хорошо читаема, и я перерисовал её в более читаемый

Всех приветствую!

Недавно в телеграмм-сообществе по Ориону зашёл разговор о подключении мыши к Ориону. Слово за слово, парни поделились документацией, софтом и я решил также оснастить свой Орион мышкой. Конечно, на данный момент Орион не может похвастать каким-либо количеством софта, поддерживающим мышь. Из известных мне, мышь поддерживает игра MANNER и графический редактор PENX. Да и то, вероятнее всего, MANNER с представленным вариантом подключения работать не будет, т.к. неизвестно, какой интерфейс подключения использовали/поддержали авторы игры в далёких 90-ых годах. Ну, да ладно, перейдём к подключению.

Предлагаемая схема является адаптацией схемы от небезызвестного Камиля Каримова, по схеме которого на данный момент к Ориону подключается PC-клавиатура. Адаптацией занимался Алексей Михайлов, он же разработал и внедрил программную поддержку в графический редактор PENX.

Да простит меня Алексей, но его схема, на мой взгляд, не очень хорошо читаема, и я перерисовал её в более читаемый вид.
Вот схема:

Схему в более лучшем качестве, а также герберы, прошивку для микроконтроллера и софт можно будет скачать по ссылке в конце статьи.

Схема проста и я решил собрать её на односторонней макетной плате размерами 50х100мм:

-2

В результате получился такой контроллер:

-3
-4

Теперь посмотрим, как это работает на практике. В архиве прилагаются программы (с исходными текстами):
MZ8T$ что-то вроде теста;
RZ80$ простенькая "рисовалка" по экрану;
PENXMZ$ графический редактор.
По словам самого Алексея Михайлова, софт сырой и требует доработки.

Запустим же программы и посмотрим, как всё работает:

Да, всё очень даже неплохо! Это только первые шаги в освоении мыши на Орионе. Возможно, найдутся энтузиасты, которые смогут написать какие-либо программы и поддержать это устройство в своих программах.

Но во всей этой бочке мёда нашлась таки ложка дёгтя. Оказалось, что процессоры КР580ВМ80А и Z80 по разному воспринимают принимаемые от мыши данные. КР580ВМ80А принимает данные в так называемом прямом направлении, а Z80 в обратном. Т.е. процессор КР580ВМ80А принимает данные от адреса /F76C до /F76F, а Z80 наоборот, от /F76F до /F76C. Это надо учитывать при написании драйвера либо управляющей программы, поддерживающей мышь, и сперва определять тип процессора перед считыванием данных. Как это сделать, можно увидеть в исходном тексте теста мыши MZ8T.AS или RZ80.AS в блоке DETECT CPU TYPE.

Программы MZ8T$ и RZ80$ автоматически определяют тип процессора, поэтому одинаково будут работать на любом из них. А вот для редактора PENX$ нет исходных текстов, поэтому правки пришлось делать вручную и в прилагаемом ниже архиве находятся два варианта программы: для процессора КР580ВМ80А и Z80.

Все необходимые материалы можно скачать по ссылке https://disk.yandex.ru/d/ReD4qXsf45BrnA

Вторая часть

До новых встреч!