Найти в Дзене
Дюк Юсупов

Удобная тестовая клавиатура для ZX Spectrum

Тому кто занимается ремонтом и наладкой Спектрумов зачастую требуется клавиатура для проверки получившегося результата. Но постоянно втыкать и вытыкать шлейф комплектной клавиатуры неудобно хотя бы потому, что шлейф, как правило, короткий и класть клавиатуры сверху платы неудобно (газетку подкладывать приходится, хе-хе), да и давить сверху на компоненты не комильфо. А если клавиатура ещё и на гибком шлейфе (как, например, на всех оригинальных ZX Spectrum, так и на большей части тиража отечественных клонов), то её контактные площадки имеют тенденцию к истиранию (а если это раритет 90-х, то вообще к стремительной деградации контакта).

Чтобы избавиться от второй проблемы, я через какое-то время перешел к штыревому разъему: оригинальная гребенка выпаивалась, на её место загонялись штырьки, а разъем переделывался для надевания его на эти самые штырьки:

Но это решало только часть проблем. Всё равно класть клавиатуру сверху, подсоединять её, засовывать подкладку, потом всё это проделывать в обратном направлении было неудобно. Хотелось решения, которое было бы решено всех проблем, а заодно было бы удобным (так-то можно и ряды с колонками замыкать напрямую, если выучить всего лишь сорок комбинаций + Shift и Symbol). Но вот мне в памяти это точно было бы лишней информацией 😆

Схема клавиатуры
Схема клавиатуры

Поэтому, когда мне окончательно надоело это "туда-сюда", я решил уже сделать нормальную тестовую клавиатуру. На самом деле, у меня была такая клавиатурка, которую я приделал к своему переносному "моноблоку" на базе платы Дельта-С:

-3

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

Зато в качестве тестовой она подходила идеально: маленькая, с дополнительными, но очень нужными клавишами курсора и удаления символов, которые неудобно нажимать на сокращенной клавиатуре через Shift. Поэтому я в итоге решил догнать и в поле лопатой прибить сразу двух зайцев - в моноблок вставить укороченную, но на полноценных механических свичах, клавиатуру, которой можно было бы нормально пользоваться и в играх тоже, а снятую с неё переделать в тестовую. Тем более что всю основную работу по ней я уже один раз проделал: напаял кнопочки, распечатал и вырезал бумажки с надписями и загнал их под прозрачные крышечки.

Плату брал на Авито у owl за 800 рублей (вместе с компонентами для сборки). Кнопочки с прозрачными колпачками (пришлось брать 5 комплектов по 10 штук) обошлись на Алиэкспрес в 850 рублей (сейчас уже дороже). То есть общая стоимость - 1650 рублей + доставка. Недешево, однако, но охота пуще неволи. Можно было бы, конечно, съэкономить на колпачках и жмякать по самим переключателям, но уж если делать - так сразу хорошо, а плохо - оно само получится 🤗 Пластиковые колпачки, кстати, выполняют сразу три функции: позволяют не печатать именно наклейки, а можно использовать обычную фотобумагу, не позволяют выгорать изображению кнопок на солнечном свете и просто увеличивают размер кнопки, поэтому они удобнее в практическом плане. Сами обозначения на кнопках я печатал с шаблонов для ZX Evolution:

Просто подключать эту клавиатурку к Спектруму можно было бы прямо так - с помощью 13 проводков, но уж если начали давить фасон, надо идти до конца. Поэтому пришлось подыскать ещё и коробочку под неё. Вот тут пришлось покопаться среди огромного количества неподходящих по размеру органайзеров: то ширина меньше 22 см, то высота больше 2-3 см... В итоге нашел единственный подходящий вариант на Озон: Коробка "Тривол" ТИП-1, 230 х 145 х 20 мм. Вот она прям тютелька в тютельку подошла - ни прибавить, ни убавить по любому измерению. В верхней крышке (благо она полностью снимается) снизу я закрепил саму плату клавиатуры, поэтому в ней пришлось проделать 46 отверстий для кнопочек. Я решил повторить тот же фокус, что и в предыдущий раз: сделать дырочки настолько маленькие, чтобы кнопка только-только одевалась на своё место и благодаря этому бы не ёрзала (можно и на клей посадить, но это не наш метод). В прошлый раз с этим возникли проблемы - некоторые отверстия оказались сдвинуты на доли миллиметра в сторону, из-за чего кнопки при нажимании зажимались и не возвращались в исходное положение. Но и в этот раз, как я ни старался точно наметить (прикрутив намертво плату) и просверлить исходные отверстия тонким сверлом - всё равно несколько кнопок оказались немного сдвинуты и для них пришлось бурить отверстие покрупнее. Короче, то ли руки у меня всё-таки кривые, то ли тут нужен станок с ЧПУ... Про поводу размера сверл: если делать точно и только-только под размер, то сверло потребуется 7 мм + 10 мм для снятия фаски, если же не париться - то 8 мм самое то, для свободного движения кнопки.

Вывести контакты за пределы корпуса я решил точно так же, как и до этого делал с ZX Evolution и Дельта-С: через разъем SCART. Как я уже писал ранее, этот формат удобен тем, что контактов в нём достаточно и можно использовать уже готовые кабели SCART-2-SCART, например, фирмы Buro по сравнительно небольшой цене (я вообще по 100 рублей находил). Кстати, лайфхак: за эти деньги вы получаете не только 2 штекера SCART (но вот оторвать провода от контактов нереально, придется припаивать к обрезкам проводов), но ещё и целый метр 21-жильного провода, т.е. 21 метр провода заботливо порезанного по метру 🤑 И сам разъем тоже дешев - можно найти за 150-200 рублей. С остальными вариантами не всё так радужно: VGA-провод вообще не подходит - там хоть и 15 проводов, но часть из них это один провод земли. С LPT (DB-25) чуть лучше - там хоть земли тоже хоть отбавляй, но натянуть на 8+5 контактов возможно, даже запас останется. Но цена и провода и разъема может быть чуть выше (от 300-400 рублей), но самое главное - длина провода обычно около 2 метров и он очень жесткий - а это не очень удобно, я уже пробовал. Ещё есть варианты с 2 разъемами: COM (DB-9) или Ethernet (RJ-45), но два провода - это два провода, а витая пара, как правило, ещё и жесткая очень. В итоге остановился на SCART, хотя по размеру он шире остальных, да и распиновка у него не то чтоб очень удобная:

-6

То есть пары 1-2, 3-6, 17-18, 19-20 - они перекрестные и, чтобы не запутаться, надо соединять одновременно оба контакта. Но всё равно - контактов достаточно и я вывел кроме стандартных (8 рядов + 5 колонок) ещё и контакты сброса (Reset), немаскируемого прерывания (NMI) и звук бипера: всё это выводится на левый коннектор клавиатуры (добавляются штырьки на плату, если нужно и возможно). Получается такое соответствие:

-7

Выглядит это примерно вот так:

-8

Закрываем крышку и получаем такую штуку:

Для подсоединения её к плате нужно добавить переходник со SCART на две гребенки. Тогда подсоединенная клавиатура будет выглядеть следующим образом:

-10

И её очень легко убрать в другое место или просто отсоединить и отодвинуть. Даже если её перевернуть, то кнопки случайно не нажимаются.

Также я думал подключать её к ZX Evolution, как уже делал с клавиатурой Дельта-С, но тут меня ожидал неприятный сюрприз. Несмотря на то, что всё должно было бы работать, при не нажатых клавишах я получил только такую картинку, которая означала, что где-то идёт замыкание:

-11

И, да, это скорее всего из-за реализации дополнительных кнопок курсора, Delete и Break. Но поскольку это всё работало на всех остальных Спектрумах, которые у меня были, то я предположил что это следствие странного опроса механической клавиатуры в ZX Evo: там опрашиваются не ряды (как это должно было быть), а колонки. Я даже пытался добавить диоды, но это никак не помогло.

Ну а с точки зрения тестовой клавиатуры это вполне себе удобное решение: небольшое, легко отсоединяется или перемещается, ничего не замыкает, есть кнопки курсора и Delete. Ну и выглядит прилично, все надписи разборчивы и легко считываются. Вот, например, так я отлаживал работу DivMMC от ShamaZX на Пентагоне:

-12

И поскольку я несколько десятков раз вынимал и вставлял плату, то если бы я ещё и прыгал с огромной клавиатурой над ней - мне бы это доставило бы гораздо больше проблем и отняло бы порядочно времени. А тут только разъем SCART подключил - и вперёд.