PDA

Просмотр полной версии : Контроллер PS/2 для БК-0010



Xrust
08.08.2021, 17:42
Хочу сделать прошивку для БК на свой универсальный контроллер (https://zx-pk.ru/threads/33211-universalnyj-kontroller-ps-2-klaviatury-dlya-kompyuterov-s-matrichnymi-klaviaturami.html). Проблема в том, что я никогда с БК не имел дела, абсолютно не представляю, как работает его клавиатура, назначение клавиш и какие лучше всего выбрать соответствующие клавиши на PC клавиатуре. Так же мне не на чем будет проверить работоспособность прошивки. Поэтому прошу у вас помощи и совета. Будет так же здорово, если кто-то, кто имеет реальный рабочий БК, согласится испытать с ним мой PS/2 контроллер.

grf
09.08.2021, 00:58
https://yellowrabbit.gitlab.io/ru/2019/09/12/diy-ps_2-adapter.html

Xrust
09.08.2021, 11:56
grf, спасибо. А соответствие клавиш там удобное? Где вообще можно посмотреть назначение клавиш у БК?

grf
09.08.2021, 12:24
grf, спасибо. А соответствие клавиш там удобное?

Мы делали как нам удобно )


Где вообще можно посмотреть назначение клавиш у БК?

В доке: http://gid.pdp-11.ru/books/00015-01.32.01.html

Alex_LG
10.08.2021, 10:37
Тема переодически поднимается и есть разные конструкции. Вот моя https://zx-pk.ru/threads/30675-kontroller-klaviatury-ps-2.html

Xrust
10.08.2021, 20:14
Насколько я понял, все клавиши БК (кроме СТОП), можно впихнуть в матрицу 8х16:

r0 r1 r2 r3 r4 r5 r6 r7
c0 шаг повт инд/су кт блк/ред
c1 <= Tab Enter =|=> сбр рус лат
c2 вс |<= |=>
c3 <=| => /|\ \|/
c4 0 1 2 3 4 5 6 7
c5 8 9 ; : , - . /
c6 ю а б ц д е ф г
c7 х и й к л м н о
c8 п я р с т у ж в
c9 ь ы з ш э щ ч ъ
c10 пробел
c11 ар2
c12 стр
c13 загл
c14 су
c15 shift

Я ничего не упускаю?

Sandro
11.08.2021, 01:03
Насколько я понял, все клавиши БК (кроме СТОП), можно впихнуть в матрицу 8х16:
Я ничего не упускаю?

А нужно -- в матрицу 8x10, поскольку у БК она именно такая:

75951

- - - Добавлено - - -

Нда, что-то скукожило картинку...
Y -- младшие три бита кода символа, X -- старшие 4.

- - - Добавлено - - -

И надо именно замыкать X на Y из-за алгоритма сканирования. Т.к. он проверяет именно закоротку, а не подключение куда-то.

Xrust
11.08.2021, 22:12
Sandro, я по этой картинке и делал. Поскольку 5.XT2 и 12.XT1 подключены к земле, я счел допустимым объединить их в один столбец. Как раз мне хватает матрицы 16 на 8. Только у СТОП лапка соскальзывает :) Но для такого случая не грех и отдельный порт контроллера выделить.

Sandro
12.08.2021, 02:06
Sandro, я по этой картинке и делал. Поскольку 5.XT2 и 12.XT1 подключены к земле, я счел допустимым объединить их в один столбец. Как раз мне хватает матрицы 16 на 8.

А, в смысле, потому, что как раз выходит 16, а матрица всё равно такая? Ну да вэтом случае прокатит. не в общем случае :)


Только у СТОП лапка соскальзывает Но для такого случая не грех и отдельный порт контроллера выделить.

СТОП не с землёй соединяет, а одну ...нутую конструкцию с другой. См. схему БК.

Sandro
12.08.2021, 06:40
Для эмуляции этой хренотени надо тянуть XT1.1 к +5 В током примерно в 70 мА, хоть и кратковременно. Контроллер-то выдержит? Нога не отвалится?

- - - Добавлено - - -

Кстати, при внимательном рассмотрении, при начальной подаче питания эта дивная схема давит на СТОП, пока C2 не зарядится. Если ACLO/DCLO снимутся раньше, то старт машины обещает быть интересным ... :v2_jawdr:

Xrust
12.08.2021, 18:55
Для эмуляции этой хренотени надо тянуть XT1.1 к +5 В током примерно в 70 мА, хоть и кратковременно. Контроллер-то выдержит? Нога не отвалится?

Ужас-ужас. А какая функция у клавиши СТОП?

Sandro
12.08.2021, 22:14
Ужас-ужас. А какая функция у клавиши СТОП?

Она соединяет между собой две половины одновибратора, формирующего короткий сигнал на выводе немаскируемого прерывания процессора. В первой половине имеется конденсатор, заряженный до +5 Вольт, в второй половине -- нагрузка в виде резистора 75 Ом.

5 В / 75 Ом = 0,067 А. Вот такой ток и протекает в первый момент через ключ. Контактам кнопки такой ток в течении всего лишь микросекунд не страшен, они даже не нагреются на какую-то измеримую величину. А вот электронному ключу может и поплохеть.

И даже вариант вообще не делать ключа, а просто выдавать напряжение выше порога переключения не катит, потому как нагрузка всё равно 75 Ом. R = U / I, такие дела.

Xrust
13.08.2021, 11:57
Sandro, спасибо, очень познавательно. Похоже, придется ключ ставить. Но всё-таки нужно попробовать подать +, ограничив максимальный ток в пределах разумного. Может и сработает.

OrionExt
13.08.2021, 15:21
ключ 4066 тебя спасет. можно и дешевле, но люблю фундаментальные решения. как и копипаста моего решения с ключом 168х16, тут неожиданно появившееся :) в ру сегменте. на патент не претендую. спасибо инету (http://jopl.dlnet.us/zxps2.php) и моей мечте за такой ключь разробам микрухи.

Sandro
13.08.2021, 19:41
ключ 4066 тебя спасет.

Ключ с сопротивлением не менее 470 Ом при работе на нагрузку в 75 Ом? Как это спасёт? 75 / (470 + 75) = 0.14; 0.14 * 5 = 0,7. При пороге переключения ТТЛ около 1,5 В. Не хватит.

PS: Кстати, 470 Ом -- это при нагрузке в 10К. Что будет при меньших сопротивлениях -- не указано.
PPS: Лучше уж транзистор КТ361 поставить. Его точно хватит.

Xrust
14.08.2021, 00:43
ключ 4066 тебя спасет
Это вряд ли. Дохлого таракана просто некуда на плату пристроить. Решение должно быть максимально простым.

- - - Добавлено - - -

Sandro, возможно прокатит порт контроллера через резюк порядка 100 Ом.

Sandro
15.08.2021, 10:55
Sandro, возможно прокатит порт контроллера через резюк порядка 100 Ом.

Может быть. Надо смотреть на максимальный выходной ток. У КМОП он ограничен конструктивно -- шириной транзистора. Больше заявленного не выжмешь. Разве что с дымом.

Xrust
15.08.2021, 15:50
Надо смотреть на максимальный выходной ток.
40 mA.

Sandro
15.08.2021, 18:44
40 mA.

Должно хватить. 3 вольта на сопротивлении 75 Ом.

svinka
20.08.2021, 19:11
нагрузка в виде резистора 75 Ом.
Это ошибка криворуких
должно быть 750 Ом

поправили начиная с первой БК0011

75 Ом нарисовано и припаяно фактически на всех БК0010(.01)

Xrust
20.08.2021, 22:06
должно быть 750 Ом
В общем то логично. Тогда, порт контроллера должен справиться легко. Тем, кому не повезло с 75 Ом резистором, лучше его заменить.

Sandro
21.08.2021, 02:45
В общем то логично. Тогда, порт контроллера должен справиться легко. Тем, кому не повезло с 75 Ом резистором, лучше его заменить.

Но физически же установлено 75! Везде!

Xrust
21.08.2021, 06:49
Sandro, в любом случае речь идёт о доработке ЭВМ. Если заменить резистор проще, чем распаивать транзистор, то почему нет?

Sandro
21.08.2021, 07:09
Sandro, в любом случае речь идёт о доработке ЭВМ. Если заменить резистор проще, чем распаивать транзистор, то почему нет?

Я с этим не спорю. Я говорю, что для этого придётся в машину с паяльником лезть, да. Ну как бы внешний обвес делать проще. Но если кто хочет, то можно и потроха менять. На этом и покалим сростень?

svinka
21.08.2021, 10:31
Но физически же установлено 75! Везде!
у меня 750 в БК0011

устроим опрос у кого что установлено?

кстати при 75 диодик хлюпенкий и погореть может )))