1

Тема: Совместимость классических клавиатур и Агат-9

Всплыла интересная особенность - оказывается, не все классические клавиатуры (Фг3.038.649) могут работать с системными платами Агат-9 РВИЖ 467444.001.

Как это проявляется: после включения машины клавиатура работает (например, в Мониторе). Однако стоит загрузить с диска ИКП, как уже в его меню обнаруживается, что клавиатура не работает. Стрелки не двигают рамку вокруг дискет, пробел не работает. Работает только "Сброс" и переключение регистров РУС/ЛАТ. Но если в меню нажать "Сброс", то окажется, что в Мониторе клавиатура тоже уже не работает.

Спрашивается, в чем тут дело?

Для начала надо вспомнить, что у клавиатуры есть входной сигнал "Ответ", который формируется системной платой и подается на 3-й контакт разъема. Когда этот сигнал равен "0" - клавиатура может передавать код клавиши из внутреннего регистра в приемный регистр на системной плате. Когда этот сигнал равен "1" - клавиатура ничего передавать не может.

Фактически, это сигнал запрета передачи. В общем-то, избыточный сигнал, потому что для управления схемой приема на системной плате достаточно того, что первым битом всегда идет "0", а всего битов - 8. Видим на линии данных "0" - делаем параллельную загрузку приемного регистра единицами и начинаем прием.  Когда в старшем разряде регистра появляется "0" - прием останавливаем. Все может работать без этого сигнала.

В Агат-7 сигнал "Ответ" формируется триггером D83.2.

В девятках ситуация сложнее. У плат ЯБ 3.089.026 есть два варианта. У первого сигнал "Ответ" формируется триггером D77.2, как в семерке. У второго 3-й вывод разъема клавиатуры наглухо запаян на землю, то есть, передача данных клавиатурой всегда разрешена.

У плат РВИЖ 467444.001 тоже два варианта. Первый не совпадает с принципиальной схемой, у него 3-й вывод соединен с землей перемычкой. Второй вариант сделан точно по принципиальной схеме - у него 3-й вывод идет на выход триггера D93.1, который по совместительству выход магнитофона. А еще этот триггер переключается при обращении к адресу $C020, который используется для запрета прерываний.

И вот что в результате происходит со вторым вариантом плат РВИЖ:
1) триггер при включении питания ставится в "0" (непонятно почему, но чаще всего именно в "0")
2) загрузчик ИКП дергает за адрес $C020, чтобы запретить прерывания
3) триггер D93.1 переключается в "1" и запрещает передачу данных клавиатурой - клавиатура перестает работать
4) так как триггер не соединен со схемой сброса, то после сброса он остается в "1" и в Мониторе клавиатура тоже не работает

Непонятно, зачем надо было ломать совместимость. Ну допустим, что разработчики хотели сделать какую-то новую клавиатуру и передавать на нее какие-то данные. Но использовать для этого магнитофонный выход - это очень плохая идея, ведь его состояние никогда нельзя знать наверняка.

Ну и напоследок запутаю всех окончательно: среди классических клавиатур могут встречаться такие, которые будут работать со вторым вариантом плат РВИЖ. У Андрея в музее нашлась одна классическая клавиатура, у которой 3-й вывод оказался не подключен в самой клавиатуре. Также нашлась клавиатура СГАК.467216.002, у которой этот вывод тоже был не подключен. И в теории должна без проблем работать клавиатура "Электроника мс7004а", у которой использование 3-го вывода вообще не предусмотрено.

2 Отредактировано garnizon (13-02-2022 23:56)

Re: Совместимость классических клавиатур и Агат-9

Вот оно что.  Снимаю шляпу. 

Сперва подумал что про эту рекомендацию речь:

"Клавиатура девятки нормально работает с семёркой. Клавиатуру от семерки придется доработать, чтобы она стала универсальна для обоих исполнений машин. Отпаять провод от третьей лапки разъёма (на кабеле клавиатуры) и подпаять его на вторую. Клавиатура МС 7004 универсальна изначально. "

А оказывается все сложнее.
Эти материнки, у которых не на массу, они случаем не ЗЭМЗ? А то ЗЭМЗ агаты комплектовались именно 7004а и вот такую штуку нарыли в свое время:

"У АГАТ-9 на 3 контакте ТТЛ-копия магнитофонного выхода для стенда контроля производителя."

Может быть даже этого:
http://agatcomp.ru/agat/Hardware/Contro … tand.shtml

3

Re: Совместимость классических клавиатур и Агат-9

garnizon пишет:

"У АГАТ-9 на 3 контакте ТТЛ-копия магнитофонного выхода для стенда контроля производителя."

А, так это они для стенда контроля сделали. Вообще-то, решение спорное. Если они хотели проверять магнитофонный выход, то так можно половину неисправностей не заметить. Магнитофонный выход подключен к 6 выводу D93, а на клавиатуру выведен 5 вывод. И если перепутаны резисторы R45, R46, то это тоже не определить.

Хотя не факт, что так проверялся именно магнитофонный выход. Может быть, проверялась схема выключения прерываний или дешифратор D94.

garnizon пишет:

Эти материнки, у которых не на массу, они случаем не ЗЭМЗ?

Вроде Андрей говорил, что ВЗВТ.

garnizon пишет:

Сперва подумал что про эту рекомендацию речь:

"Клавиатура девятки нормально работает с семёркой. Клавиатуру от семерки придется доработать, чтобы она стала универсальна для обоих исполнений машин. Отпаять провод от третьей лапки разъёма (на кабеле клавиатуры) и подпаять его на вторую. Клавиатура МС 7004 универсальна изначально. "

Ну да, рекомендация верная, только не хватает уточнения, что у девяток в сумме 4 варианта подключения клавиатур, и в реальности 3 варианта без проблем будут работать с классической клавиатурой. Проблемы будут только на платах РВИЖ, у которых магнитофонный выход на клавиатуру выведен и вот для них придется перепаивать провода.

4 Отредактировано garnizon (14-02-2022 20:40)

Re: Совместимость классических клавиатур и Агат-9

Понятно, значит разделение классических клавиатур на "семерочные" и "девяточные" весьма условно. 

Я уточнил, платы эти РВИЖ были именно ЗЭМЗ. 91 год. 

Получается что с любой классической клавой, буду работать и семерка и девятка. Все кроме девяток ЗЭМЗ, ну точнее девяток где таким образом на магнитофонный соединен?

А что же тогда у Андрея за клава без третьего контакта? В смысле он внутри клавы соединен с общим?

Еще вот занимательна особенность работы с клавиатурой у это игры:
http://agatcomp.ru/agat/Software/Game/D … Lair.shtml
Там в цветном блоке подробности.

5

Re: Совместимость классических клавиатур и Агат-9

garnizon пишет:

Понятно, значит разделение классических клавиатур на "семерочные" и "девяточные" весьма условно.

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

garnizon пишет:

А что же тогда у Андрея за клава без третьего контакта? В смысле он внутри клавы соединен с общим?

У этой клавиатуры 3-й контакт свободный. Он даже не облужен. На всех остальных контактах термоусадка, следов переделки нет. Думаю, что с завода ничего не менялось. Внутрь клавиатуры не лазил, но очевидно, что просто свободным провод от 3-го контакта оставить нельзя - клавиатура вообще работать не будет, значит, где-то он с землей соединяется.

garnizon пишет:

Еще вот занимательна особенность работы с клавиатурой у это игры:
http://agatcomp.ru/agat/Software/Game/D … Lair.shtml
Там в цветном блоке подробности.

Хм. Там какой-то поклеп на Мымрина :) У него на страницах 194-195 все правильно написано, и про принцип работы, и про второй регистр, и про его очистку. И я не помню у Мымрина места, где было бы сказано, что можно считать из регистра клавиатуры недополученный код клавиши.

Что касается вот этого текста: "В девятке схему изменили, там почему-то старший разряд, читаемый процессором, выдаётся обычным R-S триггером.", то я могу объяснить. В девятке схему изменили так, чтобы она точнее соответствовала интерфейсу клавиатуры Apple. У Apple такой же одиночный триггер и есть возможность читать код ранее нажатой клавиши после обращения к $C010, но с нулевым старшим битом.