Запомним на века: Повесть о работе с ПЗУ



Помню, ещё в детстве, когда у меня появился первый компьютер, там на материнской плате была магическая микросхема с окошком, сквозь которое было видно кристалл. “Мудрые” взрослые меня пугали, что если посветить солнечным светом на неё, то она быстро сотрётся.

С тех пор у меня было большое желание разобраться, что же это за мистические микросхемы ПЗУ (постоянное запоминающее устройство), как же они работают, как их программировать и стирать. И всё как-то не было повода, да и возможностей аппаратных. А тут, благодаря "Волшебному чемодану" появилась реальная задача, когда необходимо было прочитать прошивку, написать свою и прошить ПЗУ, а также научится стирать микросхемы. И тут я познал как глубока кроличья нора, что есть куча типов ПЗУ с УФ стиранием, что у них разные напряжения работы, разные режимы стирания микросхемы и многое-многое другое. Вопрос, какой программатор выбрать, как стереть микросхему, как её записать, какие сложности при этом.

Несмотря на то, что микросхемы давным-давно в ходу, информация ровным слоем размазана по интернету и головам, приходилось собирать всё в кучу, проходя хоть местами очевидный, но тернистый путь.

▍ Постановка задачи


Как вы помните из предыдущего поста, я столкнулся с необходимостью достать оригинальную прошивку своего устройства. А также, мне хотелось иметь возможность запускать свои программы, которые набирать и компилировать на обычном компьютере, потому что вручную каждый раз набирать программу в хекс-кодах достаточно быстро надоедает.

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

В этой статье не хочу много внимания уделять УМК-80, она о другом, но всё же поясню, что же происходит. Для того чтобы добраться до ПЗУ, пришлось его полностью разобрать и снять процессорную плату.

Разбор УМК и платы крупным планом.

Разобранный УМК-80.

Можно даже крупным планом рассмотреть платы этого аппарата, которые ставятся на общую шину.

Прошу не судить строго за качество фото, они сделаны скорее для справки.

Плата порта ввода-вывода, с микросхемой КР580ВВ55А, служит для вывода изображения на дисплей и работы с клавиатурой.


Плата ввода-вывода.

Процессорная плата. Справа видны микросхемы ПЗУ К573РФ1 — 1024х8 бит. Которая с буквой “М” — это основная ПЗУ, содержащая программу монитор. Слева большая микросхема — это ОЗУ, та самая которая расположена с адреса 0x0800 и занимает 1 кБ. Посередине можно увидеть большую микросхему микропроцессора КР580ИК80А.


Процессорная плата.

Если вам интересно посмотреть более качественные фотографии аналогичного чемодана, я настоятельно рекомендую посмотреть ЖЖ пользователя xlat8086. У неё потрясающие фотографии:


Хочу сразу отметить, что её устройство схемотехнически и программно отличается от моего, но в общем случае многие решения аналогичные.

В любом случае, если вы интересуетесь историей айти и старой техникой, настоятельно рекомендую её ЖЖ.

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


Обновлённый конденсатор.

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


Установленная процессорная плата, в гнездо дочерней, и всё работает.

Ну что же, теперь предстоит квест по чтению ПЗУ, содержащую программу “Монитор” от УМК-80, и как оказалось, это не такая простая задача, как может показаться на первый взгляд.

▍ Не все ПЗУ одинаково полезны


В данной статье говорю о микросхемах EPROM (Erasable Programmable Read Only Memory) или проще говоря ПЗУ с ультрафиолетовым стиранием. Этакие мистические микросхемы с окошком для стирания ультрафиолетом, которые наверняка многие из вас видели их на старых материнских платах, либо в картриджах от игровых приставок, так как игры записывались именно на подобные ПЗУ. На хабре даже были статьи, как делать свои картриджи, и простейший картридж представляет из себя просто прошитую ПЗУ с программой игры.

Как правило, окошко у ПЗУ заклеено каким-то непрозрачным материалом, чтобы от солнечных лучей данные не были стёрты, хотя, как показала личная практика, стереть их не так-то просто.


Мистические микросхемы с окошком.

Для того чтобы стереть микросхему, необходим жёсткий ультрафиолет. И, на самом деле, солнечной радиации будет недостаточно чтобы стереть ПЗУ. Она будет стёрта, но далеко не за один день. Об этом я подробнее остановлюсь ниже.

Для того, чтобы прошить микросхему нужен специальный программатор, который выдаёт высокое напряжение для прошивки. А для старых микросхем, к которому относится К573РФ1 (аналог 2708), ещё и необходимо подать напряжения питания отрицательное напряжение минус 5В, +5 и +12 В (три напряжения питания). И это без учёта подачи напряжения программирования.

Приведу одну замечательную картинку, которая позволяет оценить чем отличаются одна от другой версии ПЗУ микросхем, и по ней можно легко сопоставить схему взаимозамены.


Сопоставление различных типов микросхем ПЗУ.

Так как на отечественные микросхемы не так просто найти документацию, в отличие от западных оригиналов, то я далее буду приводить отсылки к импортной документации. Микросхема К573РФ1 — это полный аналог 2708, а микросхемы КР573РФ2 и КР573РФ5 — полный аналог 2716. Другие нас пока не интересуют, в рамках этой статьи. В принципе, в своём чемодане использовал и 2716, так что это всё одно и то же.

Для того чтобы прошить микросхему, на неё кроме питания требуется ещё подать высокое напряжение на вывод VPP. Для микросхемы 2708 и 2716 — это 26 В!

Поскольку микросхема К573РФ1 aka 2708 для своей работы требует отрицательного и положительного напряжения, то ей требуется специальный программатор, чтобы её прочитать. Пытался найти готовый программатор за вменяемые деньги, который мог бы решить данную проблему, но, увы, не смог. Подобные программаторы стоят больше 50 тысяч рублей, что явно выходит за бюджеты хобби выходного дня. Поэтому придётся думать о переходнике.

Итак, резюмируя, для дальнейшей работы с ПЗУ нам необходимо:

  1. Ультрафиолетовый стиратель, для стирания ранее записанной информации.
  2. Программатор для чтения и записи микросхем.
  3. Переходник для 2708, чтобы её можно было прочитать в обычном программаторе.

▍ Программатор №1


Вообще, предел мечтаний в качестве программатора иметь "Beeprog+", но если вы увидите сколько он стоит, вы, гм..., будете очень неприятно удивлены. Хотя этот программатор без проблем бы смог прочитать и записать любые ПЗУ, без лишних телодвижений. Поэтому пришлось выбирать из более доступных, с достаточными возможностями для моих задач.

На рынке давно есть великолепный китайский программатор "TL866II Plus Universal" который умеет читать и писать множество микросхем. И в комплекте с ним идёт огромное количество различных переходников, с учётом его стоимости — это практически даром. Заказал со всеми возможными панельками и экстрактором, на будущее, вдруг пригодится.


Программатор TL866II Plus Universal.


Набор переходных панелек.

Он прекрасно подойдёт для всяких эпизодических случаев программирования микросхем, в том числе восстановление микроконтроллеров после неудачного программирования FUSE-битов. Штука конечно тоже с характером, но если шить от случая к случаю, то отличная.


Успешное чтение микросхемы 2764.

Программатор умеет работать с ПЗУ, начиная с 2716 (где требуется одно напряжение питания), а вот работать с 2708 aka К573РФ1, где хранится программа монитор, он работать не умеет. Потому что для работы с этой памятью требуется три различных напряжения, одно из которых отрицательной полярности.

Но поскольку голова нам дана не только чтобы шляпу носить, то можно разработать и сделать переходник, который будет питать микросхему К573РФ1 всеми нужными напряжениями, а читать её как микросхему 2716, просто оба килобайта будут заполнены одними и теми же данными. Осталось только сообразить схему, как это будет выглядеть.

▍ Переходник для чтения ПЗУ К573РФ1 aka 2708


Схема переходника достаточно простая: необходимо сделать так, чтобы микросхема 2708 вставала в панельку микросхемы 2716, при этом были поданы на неё питание +12 и минус 5 В, при этом надо следить, чтобы эти напряжения не пошли в программатор. Самая большая загвоздка в том, что напряжения должны подаваться на микросхему при запросе от программатора, поэтому нужна какая-никакая схема коммутации.

Подумал, что всё хорошее придумано за нас, немного поискал и нашёл вполне достойное готовое решение на реле.


Схема переходника для чтения ПЗУ 2708.

Обращаю внимание, что адаптер предназначен именно для чтения микросхем, для того чтобы прошить микросхему, нужно будет его доработать. Но лично я смысла воевать с микросхемами 2708 не вижу, сильно проще использовать вместо них ПЗУ 2716.

На том же сайте приводится схема блока питания, но поскольку операция чтения будет однократной, то и делать блок питания не буду. Вместо него подойдёт обычный компьютерный блок питания, там как раз есть напряжение +12 и минус 5 В.


Распиновка разъёма ATX блока питания. Обратите внимание, что ATX2 уже не подходит для данной задачи.

  • Белый провод — это минус 5 В;
  • жёлтый +12 В;
  • чёрный — общий;
  • зелёный PS_ON, замкнуть на землю.

Будьте внимательны: в новых блоках питания ATX2 минус пяти вольт уже нет. AT блок питания тоже подходит для данной задачи.


Распиновка АТ-блока питания.

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




Готовый переходник.

Вставляю его в программатор, подключаю компьютерный блок питанию, каюсь, до конца не был уверен в успехе. Жму прочитать, щелчки реле, и о чудо, мне удалось прочитать это ПЗУ!



Счастью моему не было предела! Да, оно сработало. И наконец-то я имею нормальный дамп, который можно использовать для своих целей! Кому интересно, вот дамп прошивки чемодана. Из забавного, что вся эта прошивка влезает в экран монитора, там всего 1024 символа.


Прошивка своими глазами.

Следующий этап — это залить данную прошивку на другую ПЗУ и стартануть чемодан с неё.

▍ Переходник для прошивки 2716


Что? Ещё один переходник? На самом деле это особенность программатора TL866 II Plus, он не может выдавать напряжение больше 18 вольт. А для прошивки микросхем 2716 необходимо напряжение 26 В! Поэтому необходимо городить внешний блок питания и схему её коммутации.

Есть отличный проект доработки программатора TL866 II Plus, для прошивки микросхем. У автора этого проекта я также закупаюсь микросхемами ПЗУ, за что ему большое спасибо!

Решил немного облагородить схему, потому что у меня схема на сайте вызывала некоторые вопросы.


Схема переходника программатора.

В качестве источника высокого напряжения использовал USB Buck-Boost, он уже на своём борту имеет вольтметр и удобные способы подключения, как через USB, так и microUSB. Разъём microUSB рекомендую дополнительно пропаять, потому что я быстро оторвал его от платы. Питать блок питания 25 В нужно от отдельного блока питания, например от зарядного устройства для телефона, иначе фокус не удастся.

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


Расположение компонентов (вид снизу), каждое пересечение клеток — это отверстие в макетке.

Делаем несколько волшебных пассов паяльником; путаем расположение коллектора-базы-эмитера у транзисторов; делаем новые пассы паяльником. Десять раз всё проверяем-перепроверяем и получаем замечательный результат.


Готовая плата, вид сверху.


Вид снизу.

После всех проверок, убеждаемся что напряжение включается и подаётся туда куда нужно, радостно пытаемся прошить микросхему.


Включённый переходник.

И получаем всё равно облом, а всё почему? А потому, что микросхему перед прошивкой надо стереть. И стереть её можно только ультрафиолетом.

▍ Стиратель ультрафиолетовых ПЗУ


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

Второе и самое очевидное — использовать УФ лампу для ногтей. Их просто море отдаётся бесплатно на всевозможных площадках, лично я купил там за 50 рублей (пятьдесят рублей). Вообще, миф использования лампы для ногтей ходит давно, и однозначного ответа можно ли её использовать я не получил, хотя сделал опрос в нескольких телеграмовских чатах. Поэтому всё приходится испытывать самому и делиться с вами уникальной информацией.

В качестве испытуемой микросхемы взял ПЗУ 2764, которая содержала в себе какие-то данные. По-честному обернул ноги фольгой и положил прямо под лампу. Включил лампу на два часа.


Микросхема прямо под лампой, окошком к лампе.

Аппарат честно вонял озоном, делая вид, что он ультрафиолетом безжалостно жжёт микросхему. Два часа она страдала, но каково же было моё удивление, когда спустя два часа я смог без проблем прочитать всю информацию, которая была в ней. Миф разрушен:
Лампы, используемые для отверждения лака на ногтях, применять для стирания ПЗУ нельзя!
Поэтому не занимайтесь ерундой и закажите себе "UV EPROM Eraser". Стоит он не таких уж безумных денег, но сэкономит вам кучу времени и сил. Слышал много советов использовать расколотую лампу ДРЛ, но я не рекомендую так делать. В своё время сам делал мощную УФ лампу из лампы ДРЛ, но это не компактное решение, всё равно придётся делать какой-то ящик для защиты себя от ультрафиолетового излучения, плюс всё это потребует кучу вашего времени. Да и учитывая стоимость ламп ДРЛ, а также баластного трансформатора, экономия сомнительная. А риски работать со ртутными лампами дома достаточно большие.


EPROM стиратель.

Ручной таймер задаёт время стирания в десятках минут. Лично моя практика показала, что 20 минут более чем достаточно, чтобы полностью стереть микросхему. Меньшие цифры я не пробовал.

Обращаю внимание, что этот ультрафиолетовый стиратель весьма опасная штука. Жёсткий ультрафиолет оставляет ожоги на глазах и может привести к слепоте. Также внутри стоит ртутная лампа, с ней надо быть осторожнее, чтобы не разбить, дабы в будущем не дышать парами ртути.

Для того чтобы стереть микросхему нужно ножки микросхемы объединить между собой. Делается это для того, чтобы убрать потенциал при воздействии УФ излучения, поскольку в момент стирания микросхема работает как солнечная батарея, и напряжение, вырабатываемое на ней, может привести к пробою кристалла и выходу устройства из строя.


Всё готово к большой стирке.

Включаем и сквозь отверстие видим выходящее голубое свечение, которое говорит что работа пошла. Долго на это свечение смотреть не стоит, во избежание поражения глаз.


Голубое свечение.

По прошествии 20 минут, можно с успехом попробовать прошить микросхему.

▍ Прошивка микросхемы 2716 и тестирование её в чемодане


Итак, момент истины, не напрасны ли все мои усилия. Ставлю микросхему КМ573РФ2 в программатор через переходник, загружаю считанные ранее данные и прошиваю. Программатор говорит: полный успех.


Успешная прошивка микросхемы.

Теперь попробуем установить КМ573РФ2 вместо микросхемы К573РФ1, для этого сделаем ещё один переходник. Больше переходников богу переходников!

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


Переходник для установки КМ573РФ2 вместо К573РФ1.

Но факир был пьян и фокус не удался, советские панели имеют очень большие отверстия, пришлось дополнительно делать проставку из текстолита и иголок.


Доработка переходника.

Внимательные заметили, что тут стоит импортная микросхема, но это всё взаимозаменяемо, и как я уже сказал, одно и то же.

Ставим эту порнографию вместо родной микросхемы и пробуем запуститься. И о чудо, полный успех и всё работает.



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

И захотелось мне иметь другой программатор, который будет работать с 2716 без дополнительных танцев с бубном и переходников. И тут начинается второй квест — подключи программатор на LPT-порт в 2022 году.

▍ Программатор №2 на LPT


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

В принципе есть суперуниверсальный, чуть ли не Open Source программатор Willem. Его можно найти за сущие копейки, но я боялся что буду иметь множество проблем с установкой ПО для работы с ним, а приобретать дополнительный компьютер мне не хотелось.

Поэтому остановился на более универсальном программаторе "ChipProg-2 Phyton".


Программатор ChipProg-2.

Мне удалось его купить достаточно быстро и с доставкой. Но главная особенность этих программаторов, что они давным-давно сняты с производства и подключение их превращается в незамысловатый квест. Плюс, если учесть, что, я, как и все нормальные люди (сарказм), использую linux, то предстоит настоящий windows way.

Первоначально мне пришлось подобрать операционную систему, которая без проблем встанет на виртуальную машину Virtualbox, не будет падать с синим экраном, и на которой будет работать без проблем ПО программатора. Эмпирическим путём было установлено, что данный программатор может работать только на 32-х разрядных версиях Windows. В результате остановился на 32-битной версии Windows 7.

Следующий этап — железо. В моём компьютере нет LPT-порта, поэтому пришлось докупать дополнительную плату. Какую плату брать, совершенно не имеет значения. Прикупил, что меня устроило по цене, плюс решил, пускай будет два дополнительных СОМ-порта.


Платка LPT-порта.

Одна из неприятных задач будет пробросить аппаратный порт в виртуальную машину с Windows.

После того как установили плату в компьютер, надо посмотреть какие же ресурсы она использует. Нас интересуют порты ввода-вывода и прерывание. Вводим команду:

lspci -v

И получаем вот такой вывод:



Как я понял, что 0xd100 относится к LPT порту, а не COM-портам? Никак, только опытным путём.
Далее нужно будет пробросить эти порты в виртуальную машину. Для этого ещё нужно будет выгрузить драйвер linux, который автоматом подтянулся для работы с LPT-портом, иначе машина не запустится. Выгружаем драйвер:

sudo rmmod lp

И далее пробрасываем ресурсы LPT-порта в виртуальную машину:

VBoxManage modifyvm win7 --lptmode1 "/dev/parport0"
VBoxManage modifyvm win7 --lpt1 0xd100 16

Где win7 — имя вашей виртуальной машины.

Если вы всё сделали правильно, то после запуска виртуальной машины в диспетчере устройств появится LPT-порт. Если виртуальная машина не запускается, то вероятнее всего, вы забыли выгрузить драйвер, и происходит конфликт.

После всех манипуляций устанавливаем на виртуальную машину самое последнее ПО для программатора ChipProg LPT (от 2015 года). Если версия Windows будет правильная, то ошибок запуска быть не должно. На 64-х битной будут проблемы с драйверами и программа работать не будет. После запуска выбираем диапазон портов нашей платы, который мы узнали из lspci.



И пробую записать микросхему ПЗУ. Полный успех говорит нам, что мы всё сделали правильно.


Работа программатора ChipProg-2.

Благодаря этому программатору было установлено, что парочку микросхем я таки угробил своими варварскими экспериментами. На них он давал ошибку по току, тогда как китайский программатор «tl866» ничего внятного не говорил, просто что нет контакта по ногам.

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

▍ Выводы




Микросхемы ПЗУ с ультрафиолетовым стиранием не так просты, как кажутся на первый взгляд, и работа с ними требует определённого оборудования и понимания, что же там происходит. С другой, это уже история, хотя ещё много оборудования используют подобные решения.

Скажу сразу, что программатор «TL866 II Plus» просто однозначно стоит иметь, если вы работаете с микроконтроллерами ПЗУ, FLASH и т.д. Тем более, что его переходники подходят и для других программаторов. Микросхему 2764 этот программатор прошивал без особых проблем. Если работаете с чем-то более серьёзным, то стоит смотреть в сторону программаторов «Beeprog+», «ChipProg-48» или аналогичных в зависимости от вашего бюджета. В любом случае они должны быть на USB.

Стоит ли развлечение с LPT портом потраченных сил? Ну так, для собственного удовольствия вполне. Для меня это было вполне достойное и бюджетное решение. Всё равно программатор «TL866 II Plus» у меня точно так же работает на виртуальной машине.

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

▍ В качестве постскриптума


Так удачно совпало, что покуда я разбирался, как достать прошивку из ПЗУ чемодана, xlat8086 выложила скан документации от своего УМК-80, за что, от всех владельцев УМК, ей большое спасибо.

Чтение документации и сравнение hex моей прошивки с прошивкой, приведённой в документации, установили отличия моего устройства от её, хоть и не очень значительные. Но некоторые функции лежат на своих местах, одна из самых ценных — функция задержки, которая делает задержку ровно 10мС.



Таким образом, если мы 100 раз вызовем эту функцию, мы получим задержку в 1 секунду. Да, написано 10 микросекунд, но на деле это 10 миллисекунд. Видимо опечатка. Функция обитает по адресу 0x35B, и в моём чемодане она тоже обитает по тому же адресу.
Набросаю небольшую функцию, которая будет зажигать и гасить символ с задержкой.

Набросок кода на ассемблере
	
ORG 0400h
start:
	mvi A, 01h
	out 0F8h
m1:
	mvi a, 0ffh;Зажигаем символ
	out 0F9h
	call delay_1s
	mvi a, 0h;Гасим символ
	out 0F9h
	call delay_1s    
	jmp m1
delay_1s:
	lxi b, 100; Вызываем 100 раз.
delay_1s_c:
	call 035bh; вызов функции из ПЗУ
	DCX B
	mov a, b
	ora c
	jnz delay_1s_c;выполняем цикл 100 раз
	ret

Компилируем и прошиваем полученный rom в микросхему 2716, и ставим её в панельку ПЗУ пользователя.


2716 установлено в панель пользовательского ПЗУ.

Даже записал небольшое кинцо, как же это всё работает в живом чемодане.

Таким образом, наконец-то можно переносить свои программы в чемодан, минуя перенабор программ вручную. Чего и требовалось достичь.

▍ Полезные ссылки


  1. Беглый справочник по микросхемам ПЗУ.
  2. Переходник для чтения ПЗУ 2708.
  3. Доработка программатора TL866IIPlus для прошивки к573рф2,5,4,6.
  4. Содержимое ПЗУ моего УМК.
  5. Официальная документация на УМК-80.

Комментарии (77)


  1. Javian
    31.01.2022 12:27
    +3

    В конце статьи просится бухгалтерское "итого" ибо в этой статье очередной поворот сюжета сопровождался открыванием кубышки :)


  1. nipper
    31.01.2022 12:45
    +2

    TL866 отлично работает пол линуксом через вайн и дополнительную длл-ку.

    https://systemembedded.eu/viewtopic.php?t=44

    Рекомендую!


    1. dlinyj Автор
      31.01.2022 12:46

      Спасибо, полезно!


      1. Azya
        31.01.2022 13:55
        +4

        Есть еще https://gitlab.com/DavidGriffith/minipro/ во многом более удобная штука, чем родное по.


  1. Azya
    31.01.2022 14:18
    +3

    КР573РФ2 отлично шьётся младшим братом TL866A, хоть там и максимум 21В. А вот КР573РФ5 уже нет.

    2708 наверно было бы удобнее заменить на AT28C16 - не пришлось бы возиться с УФ-стиранием.


    1. dlinyj Автор
      31.01.2022 14:21
      +4

      2708 наверно было бы удобнее заменить на AT28C16

      Спасибо за рекомендацию, записал. А на счёт УФ стирания, это был принципиальный момент. Можно было флешку поставить, или какое-то другое современное решение. Я хотел понять «как это было». Ощутить, так сказать, всю боль :).


      1. Azya
        31.01.2022 14:38
        +2

        Понимаю, сам однажды игрался с УФ-стиранием примерно для этого же :) (о этот запах озона, совсем, кстати, не полезный) Начинал со стирателя как у вас, потом купил некий старинный японский ZAX Quick-EII который стирает 27xx за считанные секунды.


        1. dlinyj Автор
          31.01.2022 15:31

          купил некий старинный японский ZAX Quick-EII который стирает 27xx за считанные секунды.


          Поискал, выводит только на ваши статьи, но фото самого аппарата не увидел.


          1. Azya
            31.01.2022 18:15
            +6

            Да, редкая штука, я про нее узнал из этого видео. Купил на японском аукционе, через buyee.jp - добавил уведомление по названию и года через пол поймал, причем рублей за 300.


        1. Nahrenako
          01.02.2022 10:45

          В своё время советский бытовой (для домашнего загара) уф излучатель прекрасно стирал РФ1 за пару часов.

          Важно было только разместить микросхемы поближе к излучателю.


          1. Javian
            01.02.2022 10:54
            +1

            По-моему как-то в комментариях на хабре упоминали про стирание микросхем косметическим прибором «Фотон».


            1. Jury_78
              01.02.2022 11:40
              +1

              Стирал таким. Просто накрывал им микросхему.


            1. zuek
              01.02.2022 15:22
              +1

              Просто разместив ПЗУшку под фотоном, не знаю, сколько времени пришлось бы ждать, но в эпидемию Win95.CIH с использованием этой лампы и PicProg было "нахалтурено" довольно немало копеечек. ПЗУ ставилась в программатор, программатор переводился в режим стирания, сверху ставилась лампа - и минут через 10 ПЗУшку можно было прошивать заново. Без УФ-облучения подавляющее большинство микрух не стиралось, без подачи команд стирания, в разумные сроки ни одна микруха под лампой не обнулилась. К сожалению, микроэлектроника - не совсем моя тема, поэтому подробностей не расскажу - все режимы устанавливал наш штатный "электроник", а я занимался поиском подходящих образов прошивок.


              1. VT100
                01.02.2022 18:08
                +1

                Во времена "Чиха" — уже Flash-память во весь рост была, ЕМНИП. Ей УФ без надобности.


                1. zuek
                  02.02.2022 15:45
                  +2

                  Что-то теперь уже моя собственная память чудит - точно помню, что стирали ПЗУшки под "Фотоном", точно помню, что в эпидемию "чиха", но как, чёрт возьми, "чих" мог бы повредить УФ-стираемую микросхему ПЗУ?!

                  Видимо, что-то в воспоминаниях спуталось. Микрухи ПЗУ шили действительно ежедневно, "Фотоном" тоже пользовались - вот только за давностью не могу вспомнить, для чего? Не АОНам же прошивки обновляли?.. хотя да, ими тоже промышляли - возможно, наложились периоды. В те "голодные" студенческие времена много всякой халтуры брали - кто что умел, тот тем и занимался.


              1. sergej_pipets
                02.02.2022 12:33

                Просто все умалчивают, как само собой разумеющееся, что надо ноги микросхему перемкнуть. Обычно просто втыкали в фольгу.


            1. SlimShaggy
              01.02.2022 21:14
              +2

              Мне в детстве таким нос "грели" при простуде, запах озона почувствовал от одного взгляда на фото)


      1. sergej_pipets
        31.01.2022 22:43
        +1

        На Синцлерах ты это не застал? Я на рынке программировал ПЗУхи, сначала с РК86, потом ребята сделали компактный програматор к Синклеру, и уже с него... Стирал только дома, УФ стерилизатором воздуха.


        1. dlinyj Автор
          01.02.2022 00:17

          Не, весь этот движ прошёл мимо меня.


  1. amarao
    31.01.2022 15:31

    Можно было не париться, а прокинуть целиком устройство (PCI) в гостя.


    1. dlinyj Автор
      31.01.2022 15:45

      Делал так, дрова криво вставали. Поэтому сделал таким вот образом, это проще.

      Проще говоря, если пробрасывать плату, то нужно на целевой машине потом ставить драйвера для PCI, а в этом случае не нужно.


  1. jar_ohty
    31.01.2022 16:14
    +6

    Стирание РПЗУ на солнце — бородатый миф. Там принципиально именно жесткое излучение, 254 и 193 нм, способное ионизировать подзатворный диэлектрик. Его и ногтевая лампа не дает (потому что баллон из обычного стекла, не кварцевого), поэтому и не стирает. А вот сбои чтения от попадания яркого света вполне возможны, поэтому и заклеивали.


    1. Azya
      31.01.2022 18:33
      +2

      Вроде не миф, много где читал, что под прямыми лучами стирается, но очень долго. К тому же, стирают даже светодиодом на 365нм, т.е. такой жесткий УФ не нужен, по крайней мере для некоторых ПЗУ.


      1. alexzeed
        31.01.2022 20:45
        +4

        Видимо, очень долго - это действительно очень долго :) Я когда-то давно оставлял РФ5 на крыше частного дома летом на весь день под южным солнцем, ни один бит не стерся.


        1. Azya
          31.01.2022 21:55
          +2

          Да, точно не дни. Еще, думаю, с солнцем большая проблема, что просто лежащая микросхема (тем более с таким маленьким окошком как у РФ5) будет освещена прямыми лучами довольно короткое время. Нужна автоматическая система слежения! :)


      1. Azya
        01.02.2022 11:57

        Провел небольшой эксперимент, накрыл РФ5 покровным стеклом (борсиликатное, спектр пропускания обрывается где-то на 300нм, т.е. близко к солнечному), время экспозиции увеличилось примерно в 4 раза, но стирает.


    1. sim31r
      31.01.2022 21:07

      Его и ногтевая лампа не дает

      Возможно у этих люминесцентных ламп большая площадь поверхности, окошко на микросхеме маленькое и малая часть излученного света попадает в окошко.

      Лампы высокого давления имеют маленькую горелку и процент попадания света в окошко будет выше на порядок (если колбу убрать внешнюю). Главное не перегреть микросхему.


      1. jar_ohty
        31.01.2022 22:15
        +1

        В тех стиралках, что я видел, стояли обычные лампы типа ДБ, низкого давления, подобные обычным люминесцентным, но с кварцевой колбой без люминофора. У этих ламп наибольшую интенсивность имеют две линии — 254 и 193 нм. Если лампа «безозоновая», вторая линия не проходит через кварц со специальной добавкой или покрытием.
        У ногтевой лампы люминофор высвечивается в области 350-370 нм, а колба обычная стеклянная. Жесткого УФ в ее спектре нет совсем, поскольку стекло там непрозрачно.


        1. egigd
          03.02.2022 00:07

          Безозоновые не с кварцем, а из увиолетового стекла.


          1. jar_ohty
            03.02.2022 01:41

            Увиолевое стекло, хорошо пропускающее 254 нм — довольно дорогая и капризная штука. Так что чаще там кварц. Во всяком случае, я последний раз распотрошил бактерицидную лампу, чтобы сделать из нее кювету — таки кварц был. Лампа безозоновая.


  1. juray
    31.01.2022 16:38
    +1

    Информация по 573РФ1, 2 и 5 есть в справочнике «Полупроводниковые БИС запоминающих устройств» под ред. А.Ю.Гордонова, Ю.Н.Дьякова.- М., Радио и связь, 1987 г.

    Вот только про режимы стирания там ничего не сказано.

    В справочнике «Большие интегральные схемы запоминающих устройств» тех же редакторов (-М., Радио и связь, 1990 г.) есть довольно подробное описание методик стирания и программирования но только для РФ4 и РФ8.


  1. zatim
    31.01.2022 16:40
    +1

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

    Буквально несколько минут и ПЗУ стирается. Но, изредка попадались такие микросхемы, которые стирались, но не до конца. Вероятно, это такая неисправность самих микросхем, поскольку обычно все стирается без проблем.


    1. drWhy
      31.01.2022 17:14
      +1

      «Стирал ПЗУ от кварцевой лампы для обеззараживания помещения. Такие вешают в помещениях столовых и больниц. Форм-фактор у нее как у обычной люминисцентной лампы, только нет люминофорного покрытия.»

      ЕМНИП она специально длиннее обычной, чтобы не путали.


      1. egigd
        03.02.2022 00:07
        +1

        Они бывают разной длины. Как, впрочем, и обычные.


  1. AlexandreFrolov
    31.01.2022 18:04
    +3

    Приятно было почитать и посмотреть фотки! Помнится студентом использовал 573РФ1 и 573РФ2 для компьютеров на базе Intel 8080 и КР580ВМ80.

    Записывал туда собственный монитор, программу для работы с кассетным магнитофоном, пошаговый отладчик команд, который загружал программу по одной команде в область памяти, передавал туда управление, а потом смотрел что получилось)


  1. zhabr
    31.01.2022 19:32

    интересно, лет так через 50 документацию на нынешние Байкалы и Эльбрусы можно будет найти?


    1. dlinyj Автор
      31.01.2022 19:37

      Интернет всё помнит :)


      1. p0isk
        01.02.2022 02:55
        +4

        Был такой сайт handheld.org, на котором была куча информации и программ по не только распространённым карманным пк на базе arm'а, но и mips, и других архитектурах. Во второй половине 2000-х на нём появилась плашка Under reconstruction, которая пару раз менялась, мол, не переживайте, скоро всё будет. Но в итоге всё пропало...

        archive.org непанацея. То, что работало на скриптах плохо сохраняется.


  1. VT100
    31.01.2022 20:36
    +1

    Подумал, что всё хорошее придумано за нас, немного поискал и нашёл вполне достойное готовое решение на реле.

    Плохая схема:


    • дребезг контактов, подающих питание;
    • неправильно изображён блокирующий диод на катушке реле.

    По поводу программатора — можно было закорешиться с техобслуживанием торговой техники (весы и т.п.).


    1. dlinyj Автор
      01.02.2022 00:20

      Плохая схема:


      Она сработала.

      неправильно изображён блокирующий диод на катушке реле.

      Разве?

      Если не правильно, она бы у меня не работала.

      По поводу программатора — можно было закорешиться с техобслуживанием торговой техники (весы и т.п.).


      И каждые пять минут бегать к ним, спасибо, развлекайтесь сами таким :)


      1. Youri2021
        02.02.2022 11:43

        Диод подключается параллельно катушке реле. На вашей схеме он не имеет смысла.


        1. dlinyj Автор
          02.02.2022 11:44

          Ниже я уже сказал, что, да, катушка не разряжается.

          На вашей схеме он не имеет смысла.

          Схема не моя.


    1. dlinyj Автор
      01.02.2022 00:53
      +2

      Я что-то резковато написал, сорян, уставший.

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


      1. VT100
        01.02.2022 18:16
        +1

        Одноразовое чтение могло стать и последним. Было-бы обидно.


        Бегать — разминка! ;-)


  1. mpa4b
    31.01.2022 21:36
    +2

    Купил как-то на алишке вот такую вот УФ лампочку. Стирает ПЗУшки (если вплотную к окошку) очень быстро. Сильно воняет озоном. Требует специального источника питания со стабилизацией тока (я питаю постоянкой от лабораторного БП в режиме стабилизации тока).


    1. dlinyj Автор
      01.02.2022 00:21

      Я за заводские решения, всё это колхоз.


  1. p07a1330
    31.01.2022 22:06

    В статье сильно акцентировалось внимание на использование отрицательного напряжения

    Было ли возможным использовать разный уровень "земли" для решения данной проблемы?
    Т. е. земля программатора смещена относительно земли платы (которая подается с другого источника)?


    1. dlinyj Автор
      01.02.2022 00:22

      Ну из ТОЭ это возможно. Ведь по сути я это и сделал.


  1. sergej_pipets
    31.01.2022 22:46
    +2

    1. dlinyj Автор
      01.02.2022 00:23
      +1

      Вставлю видео.



      Даже думал добавить видео в статью.


  1. ewavr
    01.02.2022 00:20
    +4

    Давным-давно баловались с недозашитыми ПЗУшками (то ли импульс записи был слишком коротким, то ли напряжение программирования меньше). Так вот, данные читались по-разному при попадании света в окно. Возможно, из этого можно было сделать светочувствительную матрицу, но руки не дошли.

    P.S. ЕМНИП, кто-то делал сеточувствительную матрицу из микросхемы ОЗУ, удалив крышку.


    1. p0isk
      01.02.2022 02:58
      +2

      Был один малораспространённый клон спектрума, в котором пзу программировалось специальном образом, чтобы данные читались по-разному или на выходе было не 0/1, а промежуточные значения. Эдакая защита от копирования.


    1. dragonnur
      01.02.2022 11:06

      Из микросхемы ОЗУ 565РУ6 делали даже типа-видеокамеру. Но сейчас я это вряд ли найду в Сети, не помню даже, "откуда танцевать".


      1. p0isk
        01.02.2022 18:23
        +1

        Тоже помню эту статью, лет двадцать назад читал)

        http://www.kurzschluss.com/kuckuck/kuckuck.html


        1. dlinyj Автор
          02.02.2022 15:39

          Попытался найти более современные варианты опытов и не нашёл.


          1. p0isk
            02.02.2022 17:14

            Надо у@BarsMonsterузнать, как можно убрать пластмассту над кристаллом, не повредив его. И использовать какую-нибудь stm32 discovery. Тут уже была статья, как из неё web-камеру сделать


      1. p0isk
        01.02.2022 18:40

        Ещё был отечественный сайт на народе ещё, o-v-s или как-то так назывался. Там тоже экспериментировали в камерами: из оптической мыши делали, к разъёму VESA видеокарты Cirrus Logic подключали камеру от Сименса.

        Вот его уже не нашёл


        1. dlinyj Автор
          01.02.2022 20:03

          Утёр скупые слёзы ностальгии.


  1. andrey53
    01.02.2022 03:03
    +4

    Мне тоже пришлось немного поработать с программаторами.
    Вначале это был Turbo V6,

    Turbo V6
    Turbo V6

    потом Phyton ChipProg+ славной фирмы Phuton.
    Оба с LPT интерфейсом. USB тогда только появлялся.
    Turbo V6 работал под DOS - запускался с дискеты, на которой было всё и DOS и программа и прошивка.
    К нему прилагались 6 переходников.
    Phyton ChipProg+ работал под Windows 32 разрядной, а другие тогда были экзотикой, и доработал до тех пор, пока на ноутбуках не перестали ставить LPT порт или порт PCMCIA/CardBus.
    Он читал и прошивал безумное количество микросхем всевозможных производителей и для микросхем в корпусах не DIP можно было приобрести переходники.
    Когда на ноутбуках стали ставить только ExpressCard а затем только USB пришлось вместе с программатором возить антикварный ноутбук с WindowsXP и LPT.
    Найти что нибудь USB-LPT, чтобы работал программатор мне не удалось.
    Оба эти программатора не умели читать/прошивать микросхему 2708, а 2716 умели, правда у меня и нужды такой не было. Мои микросхемы начинались с 27C256.

    А про очистку микросхем с УФ стиранием могу поделиться опытом.
    Самым полезным был бытовой косметический прибор Фотон.

    Фотон
    Фотон


    Вот он и даже электро схема приведена https://irecommend.ru/content/chto-zhelaete-segodnya-pozagorat-ili-prodezinfitsirovat
    Как он в косметике сказать не могу, а по 3 микросхемы зараз, уложенные прямо на сеточку стирает за 5-10 минут.
    Чтобы не смотреть на ультрафиолет прибор вместе с микросхемами накрывался картонкой.
    Ещё одним полезным для стирания микросхем прибором - был медицинский прибор ОКУФ - облучатель коротковолновый ультрафиолетовый.
    Например такой.

    ОКУФ
    ОКУФ

    Снимаешь "нос" поворачиваешь лампу горизонтально и вперёд.

    https://medpribori.ru/cat/products/fizioterapija/svetolechenie-uho-gorlo-nos/obluchatel-ultrafioletovyj-korotkovolnovyj-perenosnoj-bop-269
    Им микросхемы стирались за 5-10 минут, и микросхема, уложенная рядом с лампой сильно не нагревалась.
    А вот обычным кварцем лампа которого (кстати та же самая) питалась от 50 Гц стереть микросхему было проблематично.
    На большом расстоянии, чтобы не нагревалась микросхема, стирание проходило ооочень долго, почти как на солнце.
    А поместив микросхему в пластиковом корпусе близко была вероятность, что корпус расплавиться.
    Доступен он был в любом физиотерапевтическом кабинете любой поликлиники.
    Ну конечно EPROM ERASER - это лучший вариант, но для хобби по моему вполне достаточно бытового косметического прибора Фотон.
    Даже сейчас он появляется на Avito.


    1. dlinyj Автор
      01.02.2022 03:06
      +1

      Спасибо за развернутый комментарий. Для тех кто побежит покупать фотон на Авито, скажу, что ерейсер в удобном корпусе и таймером, новый, стоит дешевле.


    1. sim2q
      01.02.2022 10:36
      +2

      Спасибо за фото, что не пришлось искать самому рассово-верного Фотона - друга всех прошивальщиков с радиорынка:) А в стационаре мы и ДРЛ без колбы юзали нормально. Но это не для жилой комнаты.


  1. sim2q
    01.02.2022 10:53
    +1

    Спасибо, приятная статья.

    А на счёт УФ стирания, это был принципиальный момент. Можно было флешку поставить, или какое-то другое современное решение. Я хотел понять «как это было». Ощутить, так сказать, всю боль :).

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


    1. Azya
      01.02.2022 12:06
      +1

      Точно не все - я лично занимался отладкой на железе прогоняя буквально сотни циклов стирания-записи, ни одной ПЗУ не убил.


      1. sim2q
        01.02.2022 13:10
        +1

        Было очень давно, плохо помню подробности. Но одно точно - всё было с рынка, а откуда там и сколько шито - неизвестно.


  1. TrexREXX
    01.02.2022 12:07
    +2

    Я начинал с самопального 'Крот-РФ'

    Потом появился 'STERH ST011'

    Стерх поновее еще кое-где продается.


    1. dlinyj Автор
      01.02.2022 12:09

      Какие весёлые аппараты. Крот судя по всему вообще на процессоре сделан.


      1. TrexREXX
        01.02.2022 12:26
        +1

        И Крот(а их была серия, под разные ПЗУ), и Стерх на микроконтроллерах. Крот был страшно тормозной! Зашить даже 64, та еше песня, а стерх шьет очень быстро. И у стерха, в свое время была хорошая поддержка. Написал, скинул даташит, и через недельку-две получал поддержку микросхемы.


      1. sergej_pipets
        01.02.2022 12:31
        +2

        Одна из последних любительских моделей программаторов - BiDiPro

        http://www.telemaster.ru/cnclab/bidi.htm

        http://schematic.narod.ru/BiDiPro/index.htm


  1. drWhy
    01.02.2022 12:50
    +3

    Пробовал стирать РФ'ки детектором валют, впрочем безрезультатно. Именно РФ использовались в ранних версиях фискальных регистраторов, их заменяли с периодом в несколько лет.
    Считывал РФ, РЕ, РТ с помощью lpt-порта, без программатора.

    Позже частенько приходилось перешивать микросхемы EEPROM с BIOS прямо в материнских платах — стартовать с исправной, выдёргивать её и вставлять пустую. Можно было шить произвольное содержимое, главное подобрать ПО, не проверяющее совместимость.
    Несколько раз, не найдя совместимую плату, программировал в видеокарте с помощью Uniflash.
    С появлением Intel Firmware Hub пришлось внимательнее подбирать совместимые микросхемы.


  1. engine9
    01.02.2022 15:29
    +2

    Подкину брату-технофетишисту радости. Подарил мне несколько микросхем, добрый человек с авито.

    Снял их на макро объектив.

    https://commons.wikimedia.org/wiki/File:Fuji_mbm2764-30_chip.jpg
    https://commons.wikimedia.org/wiki/File:M27c322-100f1_EPROM_chip.jpg
    https://commons.wikimedia.org/wiki/File:573РФ2_кристалл.jpg


  1. VaalKIA
    02.02.2022 10:39
    +2

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

    Из четырёх диапазонов УФ стекло пропускает только часть А диапазана. На подоконнике, это уже не солнечный свет.
    image
    Например, для загара нужно 290-313нм.


  1. alecv
    02.02.2022 12:22

    нормально стараются вот такими
    нормально стараются вот такими

    Хорошо стараются вот таким прибором : "Облучатель ультрафиолетовый "Солнышко" (гуглится, продается в магазинах "Медтехника"). Они бывают разные, обычно там внутри лампа ДРТ-125 (нормально) но бывает ДРТ-250 (это перебор). Стирается за 20..30 минут. Он на ножках, микросхемы можно положить прямо снизу, лучше на фольгу.


    1. dlinyj Автор
      02.02.2022 12:34

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


      1. alecv
        02.02.2022 13:32

        Хех, Мы вроде знакомы, может помнишь, что я из Питера. Тут без такого прибора не выжить, точнее можно, но хуже. Так что он все равно имеется и им иногда можно стирать ПЗУ. А еразером довольно сложно облучать помещение. :)


        1. dlinyj Автор
          02.02.2022 13:35

          Это было обращение ко всем :).

          А по поводу этого прибора, им тоже сложно облучать помещение, у меня точно такой же был. Потом сделал из ДРЛ облучалку.

          Просто каждому прибору своё применение.

          З.Ы. Ну и жил я в Питере без УФ излучателей ;)


  1. egigd
    03.02.2022 00:16

    Сколько помню картриджей Денди со сломанным корпусом - ни разу не попалось платы с такой ПЗУ. Да и вообще с какими-либо микросхемами в корпусах - одни только кляксы чёрного компаунда.


    1. dlinyj Автор
      03.02.2022 12:08

      Кляксы по сути и были ПЗУ. Но мне попадались, в Sega так точно. Проблема в том, что Dendy был китайский клон Nes, и поэтому делалось максимально дёшего. В оригинале такие картриджи были.


      Отсюда