ZX Spectrum +2: ремонт
Если кто-то читал уже мою серию статей про оригинальный ZX Spectrum +2 (приобретение, подключение к ТВ, подключение к монитору, джойстику, клавиатуре, мыши, работа с магнитофоном и дискетами), то может вспомнить, что я жаловался на один досадный глюк в доставшемся мне раритете. Вот всё остальное было здорово — целый корпус (хоть и без двух ножек), классная работающая клавиатура, работающие входы и выходы и даже полностью работающий магнитофон! Но зависание при нажатии в играх на пробел бесило. Да, можно было играть с помощью джойстика или внешней клавиатуры, но это просто неудобно, да и рано или поздно всё равно что-то висло.
С этим надо было что-то делать! Надо было найти проблему и устранить. Но что именно искать, в какую сторону копать было совершенно непонятно. Вот такие же симптомы по той же версии платы удалось найти на форуме у человека из Италии, так что проблема носит, видимо, общий характер. Пришлось вскрывать пациента и тупо пялиться на внутренности:
Сразу оговорюсь, что я не специалист по электронике и схемотехнике и представление об этом имею лишь приблизительное. То есть я знаю закон Ома, разбираюсь на схеме в обозначениях и даже знаю как на плате выглядят резисторы, конденсаторы, диоды, транзисторы и всё такое. Но чтобы понять, что именно на схеме вызывает определённые симптомы — этого явно не достаточно. Например, даже просто понять — на каком выводе какой вольтаж должен быть — это уже для меня оказалось сложным. Пришлось гуглить тонну информации и читать даташиты на все эти микросхемы и на форумах узнавать — на каких перемычках какие напряжения должны быть. Не говоря уже о том, что такая крайне полезная штука в подобных случаях как осциллограф у меня отсутствовала, да и я всё равно не понимал бы — какие частоты и амплитуды должны были бы быть. Понятно, что тут нужен опыт ремонта именно Спектрума и даже, скорее всего, именно этой модели платы. Да-да, именно модели, потому что схему той же Z70500 Issue 3 ещё можно нагуглить, а вот для моей Z70700 Issue 1 я найти уже не смог (вот тут можно прочитать про различия разных официальных моделей ZX Spectrum).
Лучший вариант в подобных случаях (если вы не джедай микроэлектроники) — это обратиться к специалисту. Вопрос только в том, где его взять. И сколько он ещё запросит за ремонт. Местных специалистов я не знаю, а вариант обратиться за помощью к истинному профессионалу в этом вопросе стоит весьма ощутимых денег и времени (плюс пересылка платы в Голландию и обратно). Поэтому пришлось действовать последовательно методом тыка с риском угробить железяку окончательно. Но себя я утешал тем, что корпус-то и клавиатура-то останется в любом случае, а это уже кое что. Как я показывал в статье про ZX Spider 128 и про ZX Evolution — хорошая клавиатура это крайне полезная вещь.
Тык первый: электролитические конденсаторы
Первое с чем всегда можно столкнуться при ремонте старой техники — это замена электролитических конденсаторов. Именно они из-за своего высыхания или вытекания могут служить источником всевозможных багов и глюков, потому что служат в основном как раз для стабилизации тока на плате. Проблема в том, что распознать нерабочий конденсатор на плате практически невозможно (если на нём чисто визуально нет никаких потеков или вспучиваний), его надо выпаивать по любому и потом уже тестировать. Зато очень хорошо, что это-то как раз и не проблема: во-первых, у конденсаторов всего по две ноги и выпаиваются они на раз-два, а во-вторых, уж если мы выпаяли этот самый конденсатор — то проще сразу и заменить его на новый, тем более что конденсаторы применяемые в подобных платах не отличаются высокими требованиями и поэтому очень дешевы. Я прочитал маркировки на имеющихся (на фото платы они желтенькие и один справа голубенький) и заказывал аналоги в ЧИП и ДИП, потому что в нашем городе это единственная фирма, доставляющая всякое электронное барахло. Можно, конечно, заказать и на AliExpress (и я кой чего заказывал и там), но ждать дольше и, как правило, по одной штуке там не закажешь, а на кой мне 100 одинаковых конденсаторов?
Далее старые элементарно выпаиваются и новые впаиваются. Главное тут не перепутать полярность, но на плате всё подписано и на конденсаторах очень заметная маркировка куда течет ток (а ток течет от + к -), поэтому перепутать можно только случайно.
Кстати, для модели ZX Spectrum +2 обязательна замена конденсаторов ещё и на плате магнитофона. Ибо у меня, например, через некоторое время после включения начинались сильные наводки на аудиовыход и только поменяв конденсаторы я смог от этого избавиться.
Но проблему с зависанием это всё не решило. Пришлось двигаться дальше.
Тык второй: транзисторы
А дальше пришлось уже курить схему (правильную найти не удалось, поэтому была взята схема предыдущей ревизии), читать даташиты на микросхемы и листать много тем на форумах, в поисках информации — где же какое напряжение должно быть, чтобы убедиться, что с питанием платы всё в порядке. Выяснил, что на микросхемы памяти, на ULA и на процессор приходит то что нужно, а вот на перемычки LK2 и LK3 приходит 8 вольт, а не те 12, которые должны быть. Такая же ситуация с микросхемой TEA2000. Как всё работает — не понятно, но как-то всё-таки видео сигнал выдается. Но стало понятно, что некоторые транзисторы тоже надо менять, чтобы убедиться что проблема не в них.
С транзисторами уже сложнее, чем с конденсаторами. Во-первых, выпаивать приходится 3 ноги и без оловоотсоса это сделать без отрывания ног непросто. Я оторвал ногу только на одном из шести, но после этого всё-таки оловоотсос приобрел, потому что понял, что это нужный в хозяйстве инструмент и с ним гораздо проще выполнять любые операции на плате. Во-вторых, таких же транзисторов уже не выпускают и надо подбирать современные аналоги. Тут мне как неспециалисту в данном вопросе помогла статья, в которой уже были подобраны аналоги. Но я так и не смог найти в продаже пару штук из имеющихся на плате, а остальное заказал в том же магазине:
Запаяв всё это добро на свои места (тут надо сверяться с описаниями выводов, поскольку контакты триады «база-эмиттер-коллектор» могут отличаться у разных транзисторов), я получил нужные 12 вольт там где они должны быть. Но вот «мой» глюк не пропал, по-прежнему были вылеты из-за клавиатуры. Зато после замены конденсаторов и транзисторов произвольные зависания вроде уменьшились в количестве, теперь система гарантировано вылетала только по клавиатуре. Значит едем дальше: судя по подобным статьям — за эти проблемы может быть ответственным микросхема ULA, может быть сдохшие диоды, битая память и т.п.
Тык третий: память
Чтобы проверить память я прикупил в слот расширения карту с 4 прошитыми тестами:
Нужно именно внешнее ПЗУ, чтобы исключить влияние встроенного, а просто так тестовое ПЗУ в ZX Spectrum +2 не запихнешь, поэтому поможет именно карта для слота расширения.
Прогнав все тесты я с удивлением выяснил, что абсолютно всё работает нормально. Не только память идеально работоспособна (63 теста подряд прогнал для проверки), но и всё остальное. Покажу снимки только по одному тесту:
Память поэтому я решил оставить в покое и перейти к тяжелой артиллерии — замене чипа ULA!
Тык четвертый: диоды и керамические конденсаторы
Но пока я ждал микросхему на замену ULA я решил с пользой провести время и заменить на всякий случай диоды, которые используются в линиях идущих от клавиатуры (тем более на одном из них был скол) и все керамические конденсаторы. Проверить диоды, конечно, можно, но вот гарантировать их полную работоспособность невозможно, а стоят они считанные рубли, поэтому вопрос не сколько в деньгах, сколько во времени их выпаивания/запаивания.
Керамические конденсаторы, в принципе, вряд ли могут выйти просто так из строя, коли только не сжечь их более высоким напряжением, хотя если подать на плату больше 50 вольт — там скорее всего выйдет из строя и всё остальное. Но чисто на всякий случай я и их все перепаял. Маркировка на большинстве из них была 104 (это значит 0,1 мФ), и на парочке 103 (т.е. 10 нФ). Но брать смело можно все по 0,1 мФ — ибо конденсатор с большей ёмкостью спокойно заменяет с меньшей, а вот с меньшей ставить уже нельзя. Поэтому я и заказал сотню на Aliexpress (это было гораздо дешевле, чем брать в ЧИП и ДИП). Повозиться пришлось от души: выпаять и запаять 30 штук, это вам не баран начихал, пара-тройка увлекательных часов с платой в обнимку вам гарантирована. Тут я прямо жалел, что у меня нет крепления, чтоб вертикально зафиксировать её для удобства — когда обе руки заняты, то третья просто необходима.
Кстати, заменив все керамические конденсаторы и диоды я отметил возросшую стабильность платы. Если ранее при нажатии в игре пробела — игра гарантировано зависала, то теперь сначала появлялись артефакты на экране, и только потом шло глухое зависание. Тут я себя окончательно уговорил на то, что виновником может быть именно чип ULA и стал его ждать с ещё большим нетерпением.
Тык пятый: чип ULA
Чип Amstrad 40056 использованный по сути в качестве сопроцессора отвечающего за графику в ZX Spectrum +2 является специфической разработкой и долгое время его невозможно было заменить ничем другим, кроме как таким же чипом, взятым с другой платы. Поэтому его замена мне казалась операцией весьма сложной, дорогой и, главное, с непонятным результатом. Даже если я куплю нерабочий Спектрум с этим чипом — не факт, что именно этот чип и не работает. А покупать рабочий Спектрум было бы очень странно, тогда и смысл ремонта имеющегося пропадал. Я, конечно, поглядывал периодически на барахолки типа зарубежного Ebay, Sellmyretro или нашего Авито, но оригинального чипа или дешевого нерабочего ZX Spectrum +2 не попадалось.
Зато я обнаружил, что есть аж несколько современных реализаций этого самого ULA в виде плат на FPGA в форме, подходящей для их использования в качестве замены оригинального чипа. Это проекты NebULA, SLAM128, vLA82, vLA128. Последний как раз представляет аналог Amstrad 40056 и рекомендуется для замены этого чипа в ZX Spectrum +2. Вот он продается на Sellmyretro, но я его там тогда не дождался и купил в другом месте (доставка за треть цены самого чипа!). Вещь прикольная, сделана хорошо, встаёт в родную «кроватку» на ура и работает тоже отлично (я лично не заметил какой-то разницы, возможно надо тестировать на специфическом ПО).
Есть и минус — контактные ножки использованы круглые, а не плоские, поэтому после нового старый чип в родную «кроватку» садится уже с люфтом, из-за чего могут возникать проблемы работоспособности. Пришлось выпаивать родное крепление и впаивать с круглыми отверстиями. В нём нормально себя чувствуют оба чипа — и старый, и новый.
В общем, с заменой оказалось всё хорошо, а вот проблема-то осталась. Столько денег и нулевой результат! Обидно, не то слово. Вот второе из последствий метода «тыка» — потеря денег. Первое — потеря времени, а его я уже потратил к этому моменту, около года. Но надо было двигаться дальше!
Тык шестой: процессор
«Остапа несло». Под подозрение попал уже процессор. И попал не просто так. Во-первых, я всё-таки спросил совета у Ben Versteeg (владельца Byte Delight) и он даже мне ответил и написал очень много дельных советов (по большей части которых я уже до этого отработал), и дал наводку всё-таки проверить диоды и собственно процессор, потому что туда приходят линии от клавиатуры и от ULA с сигналами адресной шины и шины данных. Ну и на форуме Meshok.net один товарищ предположил, что это из-за малой нагрузочной способности процессора и предложил поставить дополнительный буфер на адресную шину. С буфером я решил пока повременить, а вот процессор надо было заменять. Тем более что в компьютере стоял не просто какой-то Z80, а японский аналог — NEC D780C-1, а это не самый лучший вариант Z80, несмотря на производство его в Японии. Максимальная частота всего 4 Мгц и грелся, почему-то, он на этой плате прилично…
Заказал я Zilog Z0840004PSC я на Aliexpress (хотя народ жаловался, что там продают чипы, работающие максимум на 10 Мгц, а 27 Мгц уже не вытягивают). Но мне его 3,5 Мгц хватало за глаза, поэтому и заказал. Чип доставили рабочий, так что надежды оправдались.
Самое сложное было аккуратно выпаять и снять оригинальный процессор с платы. На плате он между чипом БИОС Amstrad 40054 и неизвестной мне микросхемой PCF1306P (аналог Amstrad 40058, какой-то свой вариант мультиплексора). Аналог замены последней тоже, кстати, есть — вот он на Ebay продается.
Но, ё-моё, 40 ножек микросхемы, каждую из которых надо отпаять и освободить от припоя и контакта с платой. Даже с оловоотсосом и металлической оплёткой для удаления припоя пришлось и повозиться и понервничать. Не хотелось портить оригинальный процессор, и в итоге всё получилось, хотя немного повредил лаковое покрытие платы. Потом было уже делом техники напаять панельку и воткнуть в неё новый процессор.
И вот, чтобы вы думали? А всё стало отлично работать! Никаких зависаний и прочих проблем. Стабильность работы потрясающая — ни одного глюка за всё время тестирования.
Итого
Всего шесть «тыков» и целый год понадобился на ремонт ZX Spectrum +2. Это заявка на победу в категории «инженер-электроник года» :) Могло бы показаться, что это просто потеря времени и денег, но зато я здорово прокачал навык паяния и вообще неплохо разобрался в оригинальной плате Спектрума и её компонентах. Можно прям вешать объявление «паяем, лудим Спектрумы оригинальные». Шутка. Но удовольствие от всего этого процесса я получил, что и требовалось. Ну и результат получился отличный, каждый тык всё-таки повышал надежность работы платы, а глюк был выявлен и ликвидирован.
Хотел ещё тут рассказать про модификации этой платы для улучшения видео и аудио, а также про решение проблем с джойстиком. Но и так получилось много, поэтому обо всё об этом — в следующей статье.
- dukeyusupov
- 0
- 1 655