Орион-128 и клавиатура

matrixplus

Форумчанин
Пользователь
Сообщения
306
Счётчик реакций
52
Очки
720

Вложения

  • 0038.jpg
    0038.jpg
    88.7 КБ · Просмотры: 6
  • 0044.jpg
    0044.jpg
    88.2 КБ · Просмотры: 6
Если кому интересно - адаптер с клавиатуры PS/2 на RK-86. Выполнен на PIC16F690.
 

Вложения

Клавиатура на пик контроллере, автор в MAXе

Комментарий автора:
Преобразователь скан-кодов PS/2 клавиатуры
в матричное поле клавиатуры RK-86

Программа на языке Ассемблера для PIC16, MPLAB IDE v8.92.
Адаптер PS/2 -> RK86 делался вместо изготовления штатной клавиатуры "на кнопках", т.к. клавиатур PS/2 - вокруг как грязи. Принцип работы простой: получаем скан код и по нему включаем соответствующую ячейку в матрице микросхемы MT8816. Таблицы соответствия кодов PS/2 матрице RK86 в двух подпрограммах - Klav и Klav_Shift. Если при нажатии любой клавиши не была нажата Shift, то используем первый набор, Если была нажата, то второй. Благодаря двум таблицам получается "дурить" драйвер клавиатуры Ориона и подставлять ему коды символов верхнего регистра, соответствующих клавиатуре PS/2. В контроллере есть место для создания таблиц для комбинаций ещё с двумя функциональными клавишами.
Изначально адаптер делался для имитации клавиатуры МС7007, у которой функциональные клавиши входят в общее матричное поле. Но пришлось переделывать под RK86, т.к. я не понял, как её правильно подключать (подключение из ж-ла Радио не сработало). В RK86 функциональные клавиши - отдельные кнопки, поэтому пришлось в схему добавить дешифратор ИД4, чтобы из двух свободных выводов получить три сигнала. Достоинство такого включения - "дёшево и сердито", работает ведь. Недостаток - невозможно отслеживать одновременное нажатие более одной кнопки. Если это надо, то проще всего перейти на контроллер с 28 ногами (16F886, например).
Для тех, кто решит поменять кодировку. Вот фрагмент кода (Klav):

retlw 048h ; 2B F
retlw 064h ; 2C T

retlw 048h - будет возвращён код 48h=01001000, согласно которому будет включена ячейка в строке 3 (нумерация от нуля) и столбце 6 (это такой прикол от создателей МТ8816, у них столбцы 6 и 7 соответствуют кодам 8 и 9).
retlw 064h - строка 6 столбец 4.

Адаптер спаян на печатной плате, но её надо перерисовывать, т.к. изначально рисовалось под МС7007. Поэтому пока не выкладываю, слишком много надо менять.
Прошивку загрузить не могу, поэтому пишите по координатам указанным на сайте http://rdk.regionsv.ru/ вышлю
 

Вложения

  • адаптер  PS2 - RK86.JPG
    адаптер PS2 - RK86.JPG
    105.3 КБ · Просмотры: 6
Прошивка есть в общем архиве в посте от 27 февр. 2026 г. И ещё дополнение - подключение функциональных кнопок без ИД4 делается на этом-же (PIC690) контроллере, надо использовать "как вход" порт RA3. С незначительными изменениями в программе, разумеется.
 
Клавиатура может быть следующих типов

1. РК86 (по журналу радио) http://rdk.regionsv.ru/orion128-clava86-cherry.htm
2. гибридная клавиатура РК86 + PC http://rdk.regionsv.ru/orion128-clavark86-pc-cherry-02.htm
2. Клавиатура 7007 (по журналу радио)
3. IBM по разьему ps/2 http://rdk.regionsv.ru/orion128-atmega.htm
4. Иные клавиатуры
Клавиатура МС7007 может быть подключена двумя способами: журнальная схема (Радио) - уникальная схема подключения от авторов, несовместимая с клавиатурой от РК-86. Другая, известная схема, опубликована в журнале Радио № 12 1991 г (не авторами Орион), но она частично совместима с подключением клавиатуры от РК-86 и позволяет управлять курсорными клавишами в играх. Эта схема в SP Computer club считалась правильной схемой подключения и именно она поддерживалась Мониторами. Информация об этом подключении размещена здесь:


Подозреваю, что эта клавиатура непопулярна среди орионщиков потому, что выбирают неправильную схему подключения.
 
Прошивка есть в общем архиве в посте от 27 февр. 2026 г. И ещё дополнение - подключение функциональных кнопок без ИД4 делается на этом-же (PIC690) контроллере, надо использовать "как вход" порт RA3. С незначительными изменениями в программе, разумеется.
А куда подключен сейчас RA3, из схемы не понятно. И хорошо бы прошивку без ид4 (не силен я в пиках). Хотя на вскидку что то не помню программ использующих нажатие нескольких функциональных разом.
 
И хорошо бы прошивку под МС7007
 
что вас тянет на 7007 непонятно... (живых почти нет, а что есть в ужасном состоянии, то пленка осыпалась, то разьемы не найти, то контакты на пленки на разьемах глючат) rk86 проблем нет от слова совсем!!! и ничего переделывать не нужно. (а то плодятся разные экзотические, потом то у одного работает то не работает.... ) стандарт есть стандарт
 
МС7007 удобнее в работе, как по мне. Про осыпанные пленки речи нет от слова совсем. Есть нормальные новоделы на механических клавишах (они тоже не глючат от слова совсем). Моя самоделка МС7007 на герконах тоже не глючила.
Клавы РК86 тоже новодельные (на фото в топике). Стандартные (промышленные) клавиатуры для РК86 были сделаны на ужасных кнопках, боящихся перекосов и постоянно заедающие, за исключением самопальных герконовых. В плане сохранения наследия Орион просто необходимо публиковать соответствующую информацию. Пользователь, думаю, сам разберется с тем, какая доработка необходима.
 
Назад
Вверх