Page 1 of 1

ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Wed, 11.05.2016 17:24:04
by NuClear235
How to make real ZX 128 keyboard?
I can make standard ZX Spectrum keyboard and connect it.
But how to make Plus or 128k keyboars with extended keys ?
Is possible to buy double switches keys ?

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Wed, 11.05.2016 23:02:58
by creator
There is an old Russian scheme:

"AFTERCAPS"™

© Киселев Д.А., г. Казань, 1994 г.

Предлагаю всем, кто устал исправлять память в MONSe и тексты программ после "работы" расширенными курсорными клавишами, схему и описание дополнения к расширенной клавиатуре "AFTERCAPS"™.

Устройство предназначено для обслуживания дополнительных клавиш в расширенной клавиатуре ZX-Spectrum и обеспечивает предварительное срабатывание CAPS или SYMBOL SHIFT и удержание их фиксированный промежуток времени, прежде, чем сработает выбранная клавиша. Обычный вариант расширенной клавиатуры на диодных матрицах или двойных клавишах не дает надежной повторяемости и иногда выдаёт цифру раньше SHIFT-клавиш, что при редактировании текстов и пр. создает большие неудобства (ZX-РЕВЮ № 2, 1994 г., стр. 52). Данная разработка позволит забыть об этом кошмаре. Несколько оригинальных решений позволили реализовать ее всего на 7 микросхемах (в минимальном варианте - 4 микросхемы). Длительность задержки высокостабильная.

Все дополнительные клавиши должны быть соединены одним концом между собой. В собранном и оттестированном мною варианте используется всего 7 микросхем на цепи как CAPS- так и SYMBOL-комбинаций. Так как для устранения одновременного срабатывания потребовалось использовать ключи, заодно был реализован перепрограммируемый имитатор КУРСОР-ДЖОЙСТИКА. Он состоит из печатной платы A1 с ламелями, коммутация которых определяет, какие клавиши будут подключаться к курсорным, а также к DELETE и GRAPHICS, в качестве FIRE и BOMB. Многие игры, например, МАТ2, ELITE и другие, используют CAPS SHIFT в других целях, поэтому его отключение также выведено на А1. Естественно, на разъем должны быть выведены и остальные адреса, не показанные на схеме.

Принцип работы схемы довольно прост. Включение CAPS- или SYMBOL-коммутатора происходит по фронту сигнала INT, идущего от процессора и являющегося временным эталоном. Этот же сигнал инвертируется и подается на схему совпадения на D2.1 (далее рассматривается только CAPS-часть схемы). Таким образом, включение дополнительной клавиши возможно только по приходу следующего импульса INT и одновременно устраняется дребезг CAPS. Если элемент D4.1 быстродействующий, то возможна ситуация, когда логическая единица появляется на всех входах D2.1 одновременно и на выходе возможна кратковременная "просечка" в ноль, достаточная для переключения D3.2 (одновременное включение CAPS- и дополнительной клавиши). Для предотвращения такой "просечки" сигнал на 13 выводе D2 опережает сигнал на 3 выводе D4 на время задержки D1.5. Если этого окажется недостаточно, то перед входом D1.5 необходимо поставить интегрирующую RC-цепочку. Если цепь Dl.l-D3.-1-отделить от D2.1. (использовать ЛАЗ вместо ЛА4), то при отпускании дополнительной клавиши во время перепада INT в единицу, с учетом задержек на D4.1 и D2.1, логический ноль может появиться на обоих входах триггера на D3.1, D3.2 и логическая единица будет удерживаться на обоих его выходах до прихода следующего импульса INT. В течение этого времени CAPS будет включен, даже если ни одна дополнительная клавиша не нажата. Введение трех входового элемента D2.1 сокращает это время до времени задержки ЛА4, что не нарушает работу триггера. Если D1.1 медленный, а D4.1 - быстрый, то при отпускании дополнительной клавиши один и тот же спад сигнала отключит и инвертор, и CAPS почти одновременно. Так как ключи имеют значительный разброс по времени срабатывания, а некоторые элементы микросхем остаются неиспользованными, была введена цепочка D1.2, D1.3, V19, R3, задерживающая состояние входного триггера на время переходных процессов и заменяющая сигнал на 2 выводе D1.1. Диод VI8 нужен для ускоренной передачи этого сигнала на информационный вход D4 .1 при нажатии дополнительной клавиши. При использовании других сигналов, задающих задержку CAPS, следует учесть, что эталонным является время нахождения INT в единице.

И в заключение, об используемых деталях. В качестве ключей, обозначенных на схеме "К-Э" используются транзисторы КТ315 с резистором 10 ком в цепи базы (вариант I). Данная схема рассчитана на вариант так называемой "инверсной" клавиатуры, когда адреса на входе и данные на выходе инвертируются. У такой клавиатуры данные К0-К4 соединены через резисторы 1 кОм на массу. Для "прямой" клавиатуры необходимо в качестве ключей вместо транзисторов КТ315 (вариант I) использовать КТ361 с любой буквой, или подобные (вариант II). Также необходимо использовать неинвертирующие микросхемы D5 D7 типа К155ЛП10, К580ВА86, К589АП16 или перевернуть диоды V1-V17 а также точку общего соединения дополнительных клавиш подключить к +5В, a Rl, R2 - на нулевой провод. Коммутаторы CAPS- и SYMBOL- нужно подключить к инверсным выходам триггеров.

Если в качестве ключей использовать К176КТ1, то схема будет работать с любым типом клавиатуры. Однако эти ключи отличаются большим сопротивлением в открытом состоянии (до 2 кОм) и большим его разбросом, так что их необходимо подбирать. Транзисторные ключи в данном случае лучше и надёжнее. Резисторы R1-R2 необходимы лишь в "шумящих" средах для "инверсной" клавиатуры, схема вполне работоспособна и без них.

Если у Вас есть возможность самим развести плату клавиатуры, то данную схему можно упростить. Для этого нужно точку общего соединения дополнительных клавиш разделить на SYMBOL- и CAPS- части, которые подключаются к прямым или инверсным выходам триггеров на D3 в зависимости от типа клавиатуры. Буферные элементы D5-D7 можно убрать, замкнув точки их входов и выходов. Например, для "инверсной" клавиатуры используем вариант ключей I, буфера D5-D7 убираем, диоды V1-V17 переворачиваем, R1-R2 ставим 470 Ом и заземляем, общие соединения CAPS- и SYMBOL- подключаем к D3 выводы 6 и 8 соответственно, катоды V1-V10,. V16 и V11-V17 подключаем к D2 выводы 1 и 10 соответственно, EXT KEY соединяем с +5В, желательно через резистор. Такой вариант схемы и являлся первоначальным, но его работоспособность сильно зависела от соотношения уровней входного нуля и выходной единицы гарантировало повторяемости.

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Thu, 12.05.2016 11:38:37
by LessNick
creator wrote:There is an old Russian scheme:


Ага, осталось ещё аналоги найти ;)

D1 - К155ЛН1 = SN7404 (6 логических элементов НЕ)
D2 - К155ЛА4 = SN7410 (3 логических элемента 3И-НЕ)
D3 - К155ЛА3 = SN7400 (4 логических элемента 2И-НЕ)
D4 - К155ТМ2 = SN7474 (2 D-триггера)
D5,D7 - К155ЛН6 = SN74366 (6 инверторов с тремя состояниями)
D6 - К589АП26 = 8226 (Шинный формирователь с инверсией)
V1-V21 - КД522 = 1N4148 (кремниевые импульсные диоды)

Источники:
http://www.qrz.ru/reference/kozak/adv/advh16.shtml
http://www.qrz.ru/reference/kozak/adv/advh1.shtml
http://www.sdelai-sam.su/kd522.html

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Thu, 12.05.2016 17:18:43
by creator
Аналогов КТ315/361 найти невозможно :D

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Thu, 12.05.2016 18:47:06
by TS-Labs
creator wrote:КТ315/361

Any bipolar NPN/PNP transistor as a replacement is OK. BC850 for instance.

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Fri, 13.05.2016 15:45:03
by DimkaM
По моему, проще переписать avr, чем городить навесное оборудование

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Fri, 13.05.2016 15:59:13
by TS-Labs
Димка, мы не ищем легких путей. Мы создаем трудности и героически их преодолеваем.

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Fri, 13.05.2016 19:07:22
by creator
DimkaM, при чём здесь AVR, если речь идёт только о сборке классической ZX-Spectrum+ клавиатуры?

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Fri, 13.05.2016 19:55:11
by DimkaM
Этот же человек, на недопц форуме, спрашивает именно про подключение к Еве.
Зачем тогда тонна ла3 ?

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Fri, 13.05.2016 21:42:13
by creator
DimkaM wrote:Этот же человек, на недопц форуме, спрашивает именно про подключение к Еве.

При чём здесь вопросы на недопц форуме? Здесь задан вполне конкретный вопрос и на него дан ответ.
DimkaM wrote:Зачем тогда тонна ла3 ?

Я разрешаю собрать это на современной элементной базе и даже запихнуть это всё в AVR. :)

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Sat, 14.05.2016 10:26:51
by DimkaM
creator wrote:При чём здесь вопросы на недопц форуме?

кагбы раздел намекает "Список форумов ‹ TS-Configuration ‹ Hardware"
Если посмотреть существующие аппаратные платформы под тсконфу, то единственный вариант к которому возможно подключить zx-клаву это Ева.

по теме.
надо смотреть схему http://nedopc.com/zxevo/zxevo_sch_revc.pdf , конкретно нас интересует разъём X12
пины zxcol0...zxcol4 и пины JOYn электрически идентичны.
исходя из этого возможно подключить клавиатуру с матрицей до 8*10
далее правим здесь либо здесь

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Sat, 14.05.2016 12:20:17
by creator
DimkaM, предлагаешь помахать ручкой Kempston Joystickу?

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Sat, 14.05.2016 15:16:22
by DimkaM
del

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Sat, 14.05.2016 16:21:09
by creator
И что? Вопрос был не об этом! :D

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Sat, 14.05.2016 16:44:57
by DimkaM
NuClear235 wrote:Is possible to buy double switches keys ?

если удастся сделать так, что бы сначала замыкался контакт CapsShift

creator wrote:И что? Вопрос был не об этом!
Спасибо. Убрал.

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Wed, 18.05.2016 07:10:58
by NuClear235
Thanks for answers.

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Wed, 15.06.2016 16:37:22
by DimkaM

Re: ZX Evo: How to make real ZX 128 keyboard (NO PS2)?

PostPosted: Wed, 15.06.2016 21:12:12
by creator
DimkaM, where a real ZX 128 keyboard?