Удобная тестовая клавиатура для ZX Spectrum
Тому кто занимается ремонтом и наладкой Спектрумов зачастую требуется клавиатура для проверки получившегося результата. Но постоянно втыкать и вытыкать шлейф комплектной клавиатуры неудобно хотя бы потому, что шлейф, как правило, короткий и класть клавиатуры сверху платы неудобно (газетку подкладывать приходится, хе-хе), да и давить сверху на компоненты не комильфо. А если клавиатура ещё и на гибком шлейфе (как, например, на всех оригинальных ZX Spectrum, так и на большей части тиража отечественных клонов), то её контактные площадки имеют тенденцию к истиранию (а если это раритет 90-х, то вообще к стремительной деградации контакта).
Чтобы избавиться от второй проблемы, я через какое-то время перешел к штыревому разъему: оригинальная гребенка выпаивалась, на её место загонялись штырьки, а разъем переделывался для надевания его на эти самые штырьки:
Но это решало только часть проблем. Всё равно класть клавиатуру сверху, подсоединять её, засовывать подкладку, потом всё это проделывать в обратном направлении было неудобно. Хотелось решения, которое было бы решено всех проблем, а заодно было бы удобным (так-то можно и ряды с колонками замыкать напрямую, если выучить всего лишь сорок комбинаций + Shift и Symbol). Но вот мне в памяти это точно было бы лишней информацией 😆
Поэтому, когда мне окончательно надоело это "туда-сюда", я решил уже сделать нормальную тестовую клавиатуру. На самом деле, у меня была такая клавиатурка, которую я приделал к своему переносному "моноблоку" на базе платы Дельта-С:
Но вот она в качестве постоянного решения не годилась - кнопочки, конечно, можно было нажимать более-менее резво и даже играть, но стук стоял такой, как будто молотили по печатной машинке. Поэтому она нужна была в основном для выбора другого управления в играх 😉
Зато в качестве тестовой она подходила идеально: маленькая, с дополнительными, но очень нужными клавишами курсора и удаления символов, которые неудобно нажимать на сокращенной клавиатуре через 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, хотя по размеру он шире остальных, да и распиновка у него не то чтоб очень удобная:
То есть пары 1-2, 3-6, 17-18, 19-20 - они перекрестные и, чтобы не запутаться, надо соединять одновременно оба контакта. Но всё равно - контактов достаточно и я вывел кроме стандартных (8 рядов + 5 колонок) ещё и контакты сброса (Reset), немаскируемого прерывания (NMI) и звук бипера: всё это выводится на левый коннектор клавиатуры (добавляются штырьки на плату, если нужно и возможно). Получается такое соответствие:
SCART | ZX Spectrum | Клавиши | Линии адреса и данных |
1, 2 | Reset | ||
3, 6 | NMI | ||
4 | ZXROW0 | 1, 2, 3, 4, 5 | A12 |
5 | ZXROW1 | Q, W, E, R, T | A13 |
7 | ZXROW2 | A, S, D, F, G | A14 |
8 | ZXROW3 | 6, 7, 8, 9, 0 | A11 |
9 | ZXROW4 | Y, U, I, O, P | A10 |
10 | ZXROW5 | CS, Z, X, C, V | A15 |
11 | ZXROW6 | H, J, K, L, Enter | A9 |
12 | ZXROW7 | B, N, M, SS, Space | A8 |
13 | ZXCOL0 | Space, Enter, P, 0, 1, Q, A, CS | D1 |
14 | ZXCOL1 | SS, L, O, 9, 2, W, S, Z | D2 |
15 | ZXCOL2 | M, K, I, 8, 3, E, D, X | D3 |
16 | ZXCOL3 | N, J, U, 7, 4, R, F, C | D4 |
17, 18 | ZXCOL4 | B, H, Y, 6, 5, T, G, V | D5 |
19, 20 | Beeper | ||
21 | GND |
Выглядит это примерно вот так:
Закрываем крышку и получаем такую штуку:
![]() |
![]() |
Для подсоединения её к плате нужно добавить переходник со SCART на две гребенки. Тогда подсоединенная клавиатура будет выглядеть следующим образом:
И её очень легко убрать в другое место или просто отсоединить и отодвинуть. Даже если её перевернуть, то кнопки случайно не нажимаются.
Также я думал подключать её к ZX Evolution, как уже делал с клавиатурой Дельта-С, но тут меня ожидал неприятный сюрприз. Несмотря на то, что всё должно было бы работать, при не нажатых клавишах я получил только такую картинку, которая означала, что где-то идёт замыкание:
И, да, это скорее всего из-за реализации дополнительных кнопок курсора, Delete и Break. Но поскольку это всё работало на всех остальных Спектрумах, которые у меня были, то я предположил что это следствие странного опроса механической клавиатуры в ZX Evo: там опрашиваются не ряды (как это должно было быть), а колонки. Я даже пытался добавить диоды, но это никак не помогло.
Ну а с точки зрения тестовой клавиатуры это вполне себе удобное решение: небольшое, легко отсоединяется или перемещается, ничего не замыкает, есть кнопки курсора и Delete. Ну и выглядит прилично, все надписи разборчивы и легко считываются. Вот, например, так я отлаживал работу DivMMC от ShamaZX на Пентагоне:
И поскольку я несколько десятков раз вынимал и вставлял плату, то если бы я ещё и прыгал с огромной клавиатурой над ней - мне бы это доставило бы гораздо больше проблем и отняло бы порядочно времени. А тут только разъем SCART подключил - и вперёд.
- dukeyusupov
- 0
- 370