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

ZX Spider 128 — современный клон ZX Spectrum

Оглавление

Как я уже писал ранее, я приобрёл оригинальный ZX Spectrum +2, чтобы поиграть с настоящих дискет. Затея, в принципе, удалась: подключив к нему современный контроллер дисковода Beta Disk 128X, а к тому — дисководы 5,25″ и 3,5″ я смог загружать игры и программы с имеющихся дискет.

Однако, ZX Spectrum +2, который я приобрёл, обладал одним стабильным и непонятным глюком, который я никак не мог победить, поскольку выявить его причину оказалось очень непросто. Глюк оказался весьма специфичным: в играх при нажатии клавиш пробела, N и M (ну и всего этого ряда кнопок) происходило либо зависание, либо порча каких-то данных (иногда это проявлялось на экране). В итоге, вместо того чтобы играть на Спектруме, я большую часть времени пытался его починить. К лету меня это утомило, надо было что-то делать, чтобы всё-таки иногда играть, а не только паять.

Сначала я подумывал прикупить ещё один ZX Spectrum +2 (пусть и нерабочий), чтобы из 2-х сделать хотя бы один, но идею эту успешно подавил в зародыше. А то у меня могло бы получиться два нерабочих ZX Spectrum, что в планы не входило никак. Мне нужен был гарантированно работающий Спектрум, без всяких приколов вроде зависаний. А значит надо было брать либо проверенный оригинальный (но это дорого!), либо современный клон, но со спектрумовской шиной, чтобы можно было использовать имеющийся контроллер. При этом его цена должна была быть минимальной: платить больше 5 тысяч рублей не хотелось вообще (а за полторы-две тысячи вообще ничего нет, даже не ищите…).

Покупка клона

Существует огромное множество различных клонов Спектрума, но сам я паять и прошивать не стал бы точно, просто из-за отсутствия нормальных инструментов для этого (и руки тоже прямые нужны). Поэтому начались поиски уже собранных плат на барахолках. Самым дешевым оказался клон под кодовым именем «Карабас-128 ревизия В1» — он предлагался дешевле 4 тысяч (пример за 3,5 тысячи). Еще есть недорогие «Harlequin-128 rev.2D» (пример за 4,5 тысячи) и «ZX Spider 128» (пример за 4 тысячи). А вот «Sizif-512 ревизия D1» хоть и более продвинутый (и вообще он мне понравился, да и развивался активно), но оказался дороже моей психологической отметки (пример за 6 тысяч). Карабаса на момент покупки не оказалось в продаже (да и не очень мне он понравился чисто внешне), Арлекин хоть и хорош тем, что практически копия оригинального Спектрума (кроме ULA), но зато у Спайдера оказалась встроенная (и что важно — отключаемая!) поддержка DivMMC. Если бы контроллер дисковода не заработал, я бы остался хотя бы с полезной платой, к которой не было бы необходимости докупать ещё и DivMMC. Ну и Kempston-джойстик там уже распаян в виде разъема и не надо было бы мудрить с его выводом. В итоге выбирал из двух вариантов оказавшихся в продаже и, немного поколебавшись, Спайдера я и взял.

Автор ZX Spider 128 поляк, все актуальные прошивки похоже где-то заныканы, после ссоры с продажами плат на основе выложенных герберов (не для коммерческого использования). Ситуация, конечно, не очень красивая, но тут ещё наложился «бизнес» на «любовь» поляков к русским. Так что я сейчас не знаю, что именно прошивают в чипы Altera и Xilinx российские сборщики этой платы. Ну и самостоятельно туда что-то прошить и обновить тоже не представляется возможным за неимением прошивок. Хорошо хоть этого делать не надо, ибо то что есть работает более-менее нормально. И схемы последней тоже нет, всё что есть — картинка PCB, фото собранной платы и спецификации компонент для сборки платы.

Купленная плата оказалась очень качественно собрана, даёт впечатление не кустарного производства, а промышленного. Ну и всё работает «из коробки», насколько это можно сказать об одной плате без корпуса и клавиатуры. С клавиатурой, кстати, на первое время обошелся платой расширения, которую уже использовал для ZX Spectrum +2:

-2

А вот замыкать контакты сброса и NMI отверткой, конечно, тоже можно, но лучше сделать нормальные кнопки (оказалось, кстати, не так-то просто найти в продаже кнопки без фиксации). Помыкавшись несколько дней без корпуса решил заказать себе какой-нибудь подходящий.

Корпус

Внимательный читатель может тут заявить, что у меня уже есть корпус от ZX Spectrum +2, но он, к сожалению, вообще по типоразмерам не годится: не совпадают ни вырезы в корпусе, ни места крепления.

Резать оригинальный корпус? Да ни за что!
Резать оригинальный корпус? Да ни за что!

А ведь все эти клоны заточены исключительно под один формат: пресловутая «резинка» от оригинальных ZX Spectrum 48. Можно разместить и в корпусе ZX Spectrum 48 plus, но его в приличном виде практически не достать. Вот как выглядит, например, Арлекин в этом корпусе:

ZX Harlequin и корпус ZX Spectrum 48+
ZX Harlequin и корпус ZX Spectrum 48+

Да и оригинальный корпус ZX Spectrum 48 с резиновой клавиатурой достать тоже непросто, поскольку из Великобритании к нам на Русь выдачи нет, но сейчас налажен просто массовый выпуск современных копий этих корпусов и клавиатур. Во многих ретро-магазинах можно найти корпус ZX Spectrum 48, резиновые клавиши и мембрану от клавиатуры. Мне выгоднее всего показался комплект от RetroRadionics: дешевле, всё сразу и можно сконфигурировать по своему желанию. В наборе идёт всё необходимое, включая резиновые ножки и шурупы. Я заказывал с лазерной резкой под Just Speccy 128, чтобы была дырка под SD-карту. Самостоятельно такую пластмассу очень трудно качественно вырезать. С доставкой обошлось в 50 баксов, судя по треку — неделю лежало в Китае, потом за 10 дней добежало.

Качество — очень хорошее, но, как всегда, есть одно но: в центре корпус тонковат и слегка прогибается внутрь и опираться ему там не на что. В итоге, клавиши посередине выглядят чуть-чуть вдавленными, ну и при нажатиях корпус продавливается.

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

Клавиши на ощупь очень приятные, нажатия мягкие, и сначала я даже не понял, почему многие негативно относятся к подобным клавиатурам. Но потом дошло — не то что слепая печать, даже вдумчивая печать не всегда приводит к ожидаемому результату. Кнопки вроде легко продавливаются, но не всегда дают контакт, в отличии от других клавиатур. Скорее всего, дело в том, что они не могут нажиматься ровно по центру (пластиковые-то обычно по направляющим ходят), а когда давишь чуть сбоку — уверенного контакта нет.

Через некоторое время эта клавиатура уже реально подбешивала — мало того, что при наборе надо внимательно смотреть на экран — что там выходит, так и в играх зачастую кнопки не прожимались — а в активных играх от этого зависит всё. Жмешь, например, вверх и вбок для прыжка, а персонаж смело шагает в пропасть… Ну и все родимые болячки этой сильно урезанной клавы тоже на лицо: курсорные кнопки и DELETE только с Caps Shift, «мелкий» Enter, пробел и Symbol Shift справа. В общем, годится только для тех, кто в детстве играл именно на такой клавиатуре. У меня же была хоть и российская спектрумовская (качество было так себе), но всё-таки нормальная пластиковая пружинная клавиатура, и в итоге на ZX Spider 128 играл я уже больше на внешней или на геймпаде:

Масштаб впечатляет. В современной клавиатуре можно два Спектрума уместить
Масштаб впечатляет. В современной клавиатуре можно два Спектрума уместить

Геймпады, кстати, подходят любые сеговские, в том числе и те, на которых написано 8 bit и те, на которых 16 bit. А вот беспроводной геймпад M30 от 8BitDo не заработал: беспроводной модуль мигал огоньками, но сам геймпад не находил.

Подключение к телевизору и монитору

Провод для подключения RGB через SCART я решил спаять сам, благо где-то валялся запасной SCART-SCART. И спаял себе из него два провода (короткий и длинный), но пока паял — проклял эту идею дважды. Коннекторы miniDIN настолько маленькие и с кучей контактов в одном месте, а проводки оказались не настолько уж миниатюрные, что паяние превращается в увлекательный квест. Особенно напрягает то, что от паяльника контакт быстро нагревается и начинает плавать в пластиковом ложе. А потом припаянные ещё и отваливаются, пока подпаиваешь рядышком другой. А потом пока вставляешь и вынимаешь тоже отваливаются от усилий… Короче, проще заказать готовый. Я б даже сказал, что и дешевле выйдет, потому что стоимость в рознице разъема miniDIN 8 и SCART отнюдь не 20 рублей, а все 200. А из Китая можно заказать только мелким оптом плюс доставка. Кстати, после того как спаял, обнаружил, что сигналы RGB также требуется немного приглушить , как и в обычном Спектруме, потому что без резисторов в кабеле на тестовой картинке отсутствовали полутона. Поэтому пришлось ещё рыскать в закромах в поисках сопротивлений на 150 Ом, потому что имеющиеся на руках внезапно подошли к концу.

К монитору подключить можно точно также как и ZX Spectrum +2, с помощью дополнительных спецустройств, перегоняющих аналоговый сигнал в цифру. Для меня правда осталось загадкой, почему сигнал RGB нельзя как-то в формат YpBpR переделать без серьёзной схемы, но и такой вариант тоже есть, если вдруг ваш телевизор оказался лишённым полноценного SCART (в современных моделях уже с трудом можно обнаружить), а через HDMI не хочется или не можется.

Контроллер дисковода

Что же касается контроллера дисковода Beta Disk 128X — то он заработал, но не без проблем. Понятное дело, что подключать его надо с выключенным джампером DivMMC, но ещё и включенная красная кнопка автоматического входа в TR-DOS на контроллере приводила к зависанию — видимо конфликтовала со встроенной в ZX Spider 128 кнопкой NMI. Пришлось её выключить и заходить в TR-DOS с помощью команды RANDOMIZE USR 15616 (через некоторое время это начало сильно бесить, плюс ещё и клавиатура не всегда пропечатывала всё что надо). И тут столкнулся с ситуацией, когда из 4 прошитых в контроллер прошивок TR-DOS заработала только одна 5.05. Ни 5.03, ни 5.04T и 5.041 не заработали — либо дисковод крутился без чтения, либо начинал дико шуршать головкой. При этом на ZX Spectrum +2 всё было нормально. То есть где-то вылезла какая-то несовместимость. Из-за этого, кстати, потом возникли проблемы с подбором нужных версий игр: многие варианты оказались несовместимыми с TR-DOS 5.05 и приходилось их перебирать методом тыка. А для "48 утюгов", например, так и не нашлось рабочей версии — все висли на загрузке любого уровня. Но, в целом, всё-таки контролер дисковода заработал, а то я уже переживать начал.

Поскольку вводить после каждого сброса RANDOMIZE USR 15616 в бейсике меня очень быстро достало, пришлось ещё озаботиться поиском микросхемы с ROM, имеющим в меню строку с TR-DOS. У меня у самого прошивальщика нет, заказывать с AliExpress долго и дорого, пришлось опять прибегнуть к барахолкам. Специалиста нашёл быстро, больше времени заняли попытки понять — что именно можно использовать для этой платы, поскольку хотя в PCB этой платы отображены только варианты ПЗУ 27C256 и 28С256, но рядом с микросхемой есть пара джамперов, которые что-то явно переключают. У меня возникло подозрение, что переключают они банки памяти и надо было проверить — так это или нет. В итоге, за 120 рублей заказал одну 27С256 c одним ROM со строчкой TR-DOS и ещё за 120 — 27С512 с двумя ROM (один с Tape Tester, второй с TR-DOS).

Опытным путём было установлено, что при вставленном ROM типа 27C512 с двумя залитыми прошивками они переключаются нижней парой контактов на плате обозначенной как J13. В конце-концов я туда приделал внутреннюю кнопку для переключения, чисто для приколу, потому что вариант с TR-DOS меня и так категорически устраивал.

Самодельный корпус — раз, два!

Недолго промыкавшись с резиновыми клавишами, решил что надо как-то приспосабливать замечательную клавиатуру от ZX Spectrum +2, который в этот момент у меня простаивал, в ожидании деталей. Снять-то клавиатуру просто — а вот что с ней потом делать, в какой корпус её установить? Сначала думал подобрать какую-нибудь PC-шную клавиатуру и в неё уже запихать вместе с платой ZX Spider 128, но это оказалось очень непростым. Все высокие клавиатуры — полноформатные, а мне такой типоразмер избыточен и неудобен (в 5 рядов клавиш клавиатура от Спектрума не влезает, а верхний ряд убрать — наоборот слишком широко), а все урезанные клавиатуры как назло низкие, да ещё и все разной ширины и длины клавиатурного блока, о размерах которого можно только гадать. Выбрасывать деньги на ветер не хотелось.

Пришлось искать недорогие альтернативы. Из оргалита выпиливать не хотелось — ибо он недешев и инструментов и навыков нормальных требует, иначе просто поломать можно (не так-то просто в нём дырку сделать, однако). Значит нужна готовая коробочка. А что такое коробочка, да ещё и дешевая? Это же органайзеры всевозможных видов. Осталось только нужный подобрать по размерам. И остановился я на самом дешевом варианте (128 рублей), который нашел в Леруа Мерлен. Коробка размерами 160x320x50 изготовленная из мягкого пластика подходила на отлично. Вырезал в прозрачной крышке отверстие под клавиатуру, закрепил на болтах, обклеил красной плёнкой:

-7

Далее внутренности удалил (вот это было самое неудобное — пришлось выламывать пластик плоскогубцами), высверлил дырки под крепление платы, сделал отверстия под входы/выходы. Получилась вот такая конструкция:

Верхняя крышка с клавиатурой снимается и заменяется обычной крышкой по желанию. Помучаться пришлось к подключением клавиатуры. Разъемы на плате сделаны под 48-й Спектрум, а клавиатура от ZX Spectrum +2 имеет особенность — шлейфы у неё выходят не сверху, а слева. И если один я таки дотянул до разъёма, то со вторым такой фокус уже не проделать. Найти в продаже тонкие шлейфы с 2,5 мм контактами не удалось вообще. Попытка использовать шлейф с более тонкими контактными площадками — провалилась: всё время что-то отваливалось и не работало. Плату портить снизу, подпаиваясь к ней, не хотелось. Пришлось колхозить с медными проводками, которые припаивались к колодке и уже потом загонялись с ней в разъем. Худо-бедно, но это работало и не отваливалось. Как говориться, делали из говна и палок, палок не было, поэтому вот. Выглядит это всё в сборе так:

И всё это работало и меня устраивало, до одного момента, когда я вдруг измерил размеры корпуса, размеры платы и 3,5″ дисковода. Ага, сказал я себе — да они просто созданы друг для друга! Вот это пустое пространство в корпусе оказывается можно и дисководом занять! Пусть торчит шлейф к контроллеру, зато хоть дисковод не надо отдельно таскать.

Хорошо, что коробочки продаются по сотне рублей — курочить не жалко, начал опять выламывать внутренности, вырезать дырки, клеить красную плёнку. Спереди сделал кнопку включения Спектрума, слева — включения DivMMC, NMI и RESET. Получилась снаружи такая красота:

А внутри — не такая, но тоже красота:

Питание для дисковода взял прямо с платки преобразователя питания, понадеявшись что он не сгорит от этого. На всякий случай наружу вывел кнопку для отключения питания дисковода, чтобы он не включался, если не нужен (например, включен DivMMC). Шлейф подключается прямо к дисководу, внешний разъем для него оказалось делать негде (хотел сразу с перекруткой под диск A сделать), но получилось всё равно удобно. Шлейф можно воткнуть как с перекруткой 10 и 12 контактов (для диска A), так и прямой (для диска B), в последнем случае можно ещё и внешний дисковод 5.25″ присоединить к шлейфу.

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

Вот итоговое фото:

-13

Вот теперь можно и поиграть!

P.S. Если понравилось - ставьте палец вверх, ну а не понравилось - ставьте палец вниз и пишите в комментарии, что именно. Если возникнут вопросы - тоже пишите в комментарии, обязательно постараюсь ответить. Ну и подписывайтесь, если эта тема вам интересна.