Промт: Старый компьютер, рабочий, Ленин, ретро стиль
Промт: Старый компьютер, рабочий, Ленин, ретро стиль

Всем привет! Расскажу вам о том, как я собирал (и тут же ремонтировал) ретро-компьютер на базе Радио86-РК. Данной разработке через некоторое время исполняется четвёртый десяток! А процессору Intel 8080, на базе которого она сделана - все 50 лет. По ходу дам пояснения, как можно собрать аналогичное изделие, сколько оно стоит (по состоянию на 2023 год), с какими проблемами я столкнулся.

Приступим!

1. Печатная плата

В оригинале компьютер часто собирался на макетной плате. Для экономии времени была куплена готовая печатная плата. Её чертежи, схему, полезные файлы выложил как-то SergeyLLL: https://zx-pk.ru/threads/27583-radio-86rk-novaya-plata-umenshennaya.html
Можно заказать такую плату у китайцев, однако, в этом нет необходимости - по данным Gerber-файлам её заказали уже все, кому не лень. Поэтому я связался с человеком, который заказывал партию из 5 штук, и он отправил мне одну. С доставкой она обошлась мне в 1000 рублей. Узнать данную плату можно по характерной надписи "RADIO-86RK(RU5_32KB)". Что означает, что выполнена она по оригинальной схеме, но с небольшим изменением - чипы РУ3 заменены на РУ5, чтобы уменьшить вероятность выхода их из строя при пропадании напряжений питания.

Печатная плата от SergeyLLL, массово продающаяся на различных площадках
Печатная плата от SergeyLLL, массово продающаяся на различных площадках

2. Радиодетали

Часть компонентов мне досталась от знакомого компьютерщика, часть - пришлось докупить. Учитывая имеющиеся у меня детали, весь комплект недостающих микросхем обошёлся мне в 1200 рублей. Если же набирать с нуля - данные детали обойдутся примерно в 2500 рублей. На текущий момент (2023 год) эти детали не являются дефицитными, однако, найти все компоненты в одном месте может быть трудновато - например, я случайно заказал регистр "К561ИР12А" вместо "К589ИР12". Несмотря на, казалось бы, похожую маркировку, данные микросхемы абсолютно разные как по устройству, так и по назначению. Я уже, было, подумал что мне придется делать ещё один заказ - однако, случайно в закромах откопал какой-то польский его вариант. К тому же, как я позже убедился, его можно будет заменить на аналоги (ИР22 и т.п.), так как часть его логики не задействована.

Давайте установим детали. Для удешевления процесса, пришлось нарезать широкие панельки из имеющихся у меня узких. Впрочем, на работоспособность это не повлияло. Я устанавливал панельки для тех микросхем, в которых у меня были сомнения, и которые я не мог проверить отдельно. К слову, для проверки мелкой логики, я написал небольшой скетч: https://github.com/ritsudo/LogicICTest . Он помогает проверить простую логику (ЛЛ,ЛН) с помощью обычного Arduino - микросхема устанавливается на макетную плату, подключаются питание и 3 проводка, и нажимается "Reset". На терминале выводится таблица истинности, и пишется, исправна ли данная микросхема. Устройство очень простое, но с его помощью можно быстро проверить мелкую логику, после чего без опаски запаять её на плату, сэкономив панельку и улучшив тем самым качество соединений в схеме. А вот DIP-40 запаивать сразу в плату не рекомендуется.

Подгонка панелек, запайка той логики, которая была проверена
Подгонка панелек, запайка той логики, которая была проверена

После чего соберём схему полностью:

Собрано 80% схемы
Собрано 80% схемы

Также, надо не забыть поставить перемычки "RU5D" и "SV1". Первая предназначена для 14 разряда ОЗУ (устанавливается на D1), вторая - для банкования ПЗУ знакогенератора (разряд A10 - устанавливается в 0, либо можно записать два шрифта или кодировки, и менять их данной перемычкой).

3. Прошивка ПЗУ, подключение кабелей

Данные для ПЗУ (MON и FONT) прилагаются в архиве к схеме. Их можно прошить либо промышленным программатором, либо с помощью Arduino Uno/Mega, что я и сделал.

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

По поводу питания - основная часть схемы питается от 5 Вольт. Но напряжение -5В и +12В нужно только для процессора (так как ОЗУ у нас РУ5), а напряжение +12В - ещё для логики микросхемы ГФ24 (тактовый генератор). Поэтому для тестов я просто соединил несколько блоков питания (зарядок), и включал по очереди - сначала -5В, затем 5В, затем 12В, а выключал в обратном порядке. В дальнейшем данное нагромождение можно заменить на любой подходящий блок.

Итак, заполненная плата:

Собранная плата с прошитыми микросхемами
Собранная плата с прошитыми микросхемами

4. Первое включение

К видеовыходу я подключил маленький черно-белый телевизор с AV-входом, который валяется у меня с незапамятных времён. Подключил видео, все питания, нажал "RESET", и..

На экране различный символьный мусор
На экране различный символьный мусор

На экране мелькающий мусор, надписи "Радио-86 РК" нет. Через несколько минут даже эти пиксели пропали. Остался просто мигающий курсор на сером фоне:

Эмпирически было выяснено следующее:

  • Если вытащить ОЗУ (хотя бы одну микросхему), курсор пропадал.

  • Если вытащить D20 (ВВ55), курсор начинал сдвигаться вправо после запуска.

  • Если вытащить D7 (ИР12), ничего в работе схемы не менялось.

Следовательно, какие-то процессы там происходили. Однако, предстояло выяснить, в чём же именно заключается неисправность.

5. Подготовка к ремонту. Пишем тестовое ПЗУ

Для дальнейшей наладки понадобилось изготовить несколько приспособлений и доработок. Начал я с того, что надо было изготовить ПЗУ с тестовой программой. Данная программа приводится на стр. 30 журнала "Радио" №7-1988г. Она должна инициализировать периферию, после чего заполнить экранную область символами. Это нужно для проверки работоспособности процессора, ОЗУ, контроллера ПДП и видеоадаптера.

Привожу исходный код данной программы:

;Программа для наладки РАДИО-86РК
VG75 	EQU 	0C000H
VT57 	EQU 	0E000H
VV55 	EQU 	8000H

ORG	    0F800H
JMP 	BEGIN
 	;Инициализация 	КР580ВГ75
BEGIN:  LXI 	H,VG75+1
	    MVI 	M,0
	    DCX 	H
	    MVI 	M,4DH
	    MVI 	M,1DH
	    MVI	    M,99H
	    MVI 	M,93H
 	; Инициализация 	КР580BT57
	    MVI 	A,80H
	    STA 	VT57+8
	    LXI 	H,VT57+4
	    MVI 	M,0D0H
    	MVI 	M,36H
	    INX 	H
	    MVI 	M,23H
	    MVI 	M,49H
 	; Старт ПДП
	    MVI 	A,0A4H
	    STA 	VT57+8
 	; Заполнение экранной области ОЗУ 
	    LXI 	H,3600H
LABEL1: MOV 	A,L
	    ANI 	7FH
	    MOV 	M,A
	    INX 	H
	    MOV 	A,H
	    CPI 	40H
	    JNZ 	LABEL1
 	; Старт отображений
	    MVI 	A,27H
	    STA 	VG75+1
END

Данная программа записывает область от 3600 до 4000, что актуально для 16КБ версии "Радио", но и на 32КБ тоже заработает. Привожу, также, собранный Hex-файл данной программы, который можно прошить в ПЗУ начиная с нулевого адреса. Запрограммировать надо, в общем-то, 81 байт:

C3 03 F8 3E 8A 32 03 80 21 01 C0 36 00 2B 36 4D 
36 1D 36 99 36 93 3E 80 32 08 E0 21 04 E0 36 D0 
36 36 23 36 23 36 49 3E A4 32 08 E0 21 00 36 7D 
E6 7F 77 23 7C FE 40 C2 2F F8 3E 27 32 01 C0 21 
00 80 36 7F 7E 07 77 3A 01 80 3C C2 47 F8 C3 44 
F8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Если у кого-то возникнет желание собрать программу самостоятельно, можно воспользоваться онлайн-ассемблером:
https://www.asm80.com/

На нём же можно получить дамп. А собранную программу проверить на онлайн-эмуляторе:
https://rk86.ru/

Вышеприведённая программа должна выдать нам вот такой результат на экран:

Но, как мы видим, после установки ПЗУ с данным кодом на нашу плату ничего подобного нет. Экран абсолютно пуст.

6. Подготовка к ремонту. Делаем доработки

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

"Просмотрщик шины данных" на КР580ВА86
"Просмотрщик шины данных" на КР580ВА86

Вторая доработка - необходимо сделать надстройку для генератора D1 (ГФ24), которая позволит запускать процессор в статическом режиме. Данная схема авторами названа "Шагатель", и есть в журнале "Радио" 07-1986.

"Шагатель" на К155ТМ2
"Шагатель" на К155ТМ2

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

Значение "C3" на шине D0-D7
Значение "C3" на шине D0-D7

Их можно сравнить с приведённой в журнале таблицей (стр. 31, №7-1988). Рекомендую пошагово отмечать правильность выполнения инструкций.

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

7. Ремонт компьютера. Суть проблемы.

Данное место объяснено не очень подробно - недостающую информацию пришлось извлекать из документов на микросхемы ВТ57 и ВГ75.

Наша тестовая программа работает следующим образом:

  1. Программируются контроллеры.

  2. Экранная область ОЗУ заполняется символами.

  3. В самом конце дается команда на старт ПДП "старт отображений".

В данном месте статьи предлагается сымитировать включение ПДП, подсоединив + питания на 17 ножку ВТ57, запустив тем самым ПДП и сымитировав поступивший запрос от видеоконтроллера.

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

Вкратце работу проблемного узла можно описать следующим образом:

  1. Видеоконтроллер ВГ75 делает запрос на контроллер ПДП.

  2. Контроллер ПДП приостанавливает процессор.

  3. Контроллер ПДП извлекает данные из ОЗУ и устанавливает их на шину.

  4. Видеоконтроллер принимает данные, когда ему подаётся сигнал WR (10 вывод).

Проблема возникает между 3 и 4 этапом. Сигнал WRB устанавливается двумя устройствами:

  • Процессором, при записи положения и вида курсора.

  • Контроллером ПДП при готовности экранного байта к записи в видеоконтроллер.

Для прохождения обоих сигналов установлен элемент "D4-1". Как мы могли видеть при запуске, курсор успешно устанавливается и сдвигается, следовательно, линия WR на ВГ75 исправна. ПДП работает, но нет сигнала на его выводе 1. Запись в видеоконтроллер не осуществляется - поэтому символ извлекается, но мы не видим его.

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

8. Результат трудов

Конечно, было интересно, правильно ли я определил неисправность. После 10 дней томительного ожидания, микросхема прибыла, и.. включаем

Изображение совпадает с предполагаемым (с вывода эмулятора)
Изображение совпадает с предполагаемым (с вывода эмулятора)

Отлично! Проблема устранена. Теперь можно попробовать убрать все надстройки, и запустить штатную программу "монитор".

РАДИО-86РК
РАДИО-86РК

Конечно, картинка немного выходит за рамку экрана, но это косит старый телевизор. Для того, чтобы ввести данные в компьютер, понадобилось ещё напаять резисторы 2К на выходные порты D20 (B и C). После чего стало можно ввести данные. Интересный факт - если вытащить данную микросхему, производится автоматический ввод символа "Яблочко", и сдвиг курсора вправо, чем я и воспользовался при первоначальной диагностике.

9. Вывод

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

Писал Kekovsky специально для habr.com, 04.2023 г.

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


  1. Jury_78
    13.04.2023 07:13
    +2

    В дальнейшем данное нагромождение можно заменить на любой подходящий блок.

    Вроде у меня где то валяется оригинальный БП.


    1. Soorin
      13.04.2023 07:13

      Проще использовать КР580ВМ1


      1. checkpoint
        13.04.2023 07:13
        +2

        А где достать такой ?

        Известен отечественный микропроцессор КР580ВМ1[6][7] — несколько улучшенная и более быстрая версия КР580ВМ80А. Зарубежных аналогов нет. Одно питание +5 В. Частота тактирования до 5 МГц. Выпускался на киевском заводе «Квазар». Серийный выпуск процессора начался незадолго до и был прекращён сразу после распада СССР. Было выпущено всего несколько тысяч процессоров, что сделало его в наше время ценной добычей коллекционеров: известно о продажах КР580ВМ1 коллекционерам за 15 тыс. рублей.


        1. unreal_undead2
          13.04.2023 07:13

          Проблему с БП и ИМ1821ВМ85А решает, они вроде доступнее.


          1. checkpoint
            13.04.2023 07:13

            Это совсем другая вычислительная машина.


            1. unreal_undead2
              13.04.2023 07:13

              В чём отличие от 8080/КР580ВМ80А кроме питания?


              1. checkpoint
                13.04.2023 07:13
                +4

                https://ru.wikipedia.org/wiki/Intel_8085

                1. Нет полной совместимости по командам.

                2. Не поддерживает ряд недокументированных команд i8080 использование которых плотно вошло в обиход.

                3. Нет совместимости по времени исполнения команд.

                4. Нет совместимости по шине.

                Фактически это другая ЭВМ, хоть и с достаточно высокой совместимостью с i8080. Но просто так взять и заменить один корпус на другой не выйдет. Даже если переработать шину, то все равно добрая половина ПО для Р-86РК работать не будет (если вообще что-то заработает), так как в то время писали с сильной привязкой к времени исполнения. ПО было не переносимым даже между клонами Р-86РК.

                Я сейчас пытаюсь с детьми собрать 8-битник, по этому изучил вопрос достаточно глубоко. Первоначально была идея конечно же делать на КР580ВМ80А, но чем глубже я погружался в тему, тем больше я склонялся в сторону MOS 6502 (точнее его современному варианту - WDC 65C02).


                1. unreal_undead2
                  13.04.2023 07:13

                  Спасибо, считал что 8085 - просто более удобный (за счёт одного сигнала питания) вариант 8080.


                1. PuerteMuerte
                  13.04.2023 07:13

                  Но просто так взять и заменить один корпус на другой не выйдет.

                  Корпус на корпус заменить не выйдет, но чуток подправить обвязку под 8085 — почему бы и нет?


                  так как в то время писали с сильной привязкой к времени исполнения.

                  Да ну. Это может быть справедливо для некоторых навороченных по тем временам игрушек, где из железа всё по-максимуму выжималось. В обычном софте такого не было. Собственно, как пример, возьмите старый добрый "Вектор", почти все его модификации были на ВМ80, но последняя его модель уже была на ВМ85, и с более высокой тактовой частотой. И векторовский софт на ней нормально работал без каких-либо переделок.


        1. Soorin
          13.04.2023 07:13
          -2

          Первая же ссылка по запросу "КР580ВМ1 цена" - 236руб.


          1. checkpoint
            13.04.2023 07:13
            +4

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


  1. unreal_undead2
    13.04.2023 07:13
    +11

    Да, как же его умудрялись собрать по журналу "Радио" без интернета... У друга такой был в 80х (правда, отец работал системотехником, так что знания и доступ к программатору и прочему были).


    1. checkpoint
      13.04.2023 07:13
      +4

      Я в детстве с другом и его отцом собирал у них в гараже ПЭВМ Специалист по схемам и печаткам из журнала Моделист-Конструктор. Если бы его батя, который работал КИПовцем на заводе, не притащил домой осциллограф у нас не было бы никаких шансов.


      1. unreal_undead2
        13.04.2023 07:13

        Мы познакомились, когда железяку уже собрали. Помню, в мониторе вместе набивали какие то игрушки из того же "Радио" (один диктует, другой печатает), тоже развлечение.


  1. DmitryZlobec
    13.04.2023 07:13

    Какое же оно реально красивое! А ссылочкой на программатор на Arduino не поделитесь?


    1. Kekovsky Автор
      13.04.2023 07:13
      +4

      Вариант на сдвиговых регистрах 595 (их можно найти на старых платах - в панелях индикации)
      https://github.com/beneater/eeprom-programmer

      Но я лично использовал Arduino Mega (так как можно все линии навесить на порты, и работать напрямую). Правда, мой код для меги немного недоработан, поэтому выложить его пока не могу - я его заточил под пзу SST (с программной защитой от записи), так что это может сбить с толку. Надо будет переписать его под обычное, тогда смогу выложить.


    1. Wesha
      13.04.2023 07:13
      +1

      Какое же оно реально красивое!

      — Вы старых компьютОров продаёте?
      — Нет, просто показываю!


  1. SeyranGV
    13.04.2023 07:13
    +20

    Я учился в 10 классе, когда умер мой ZX Spectrum 48, и я принял решение собрать себе Радио 86-РК, ибо без компьютера я себе уже не представлял жизнь тогда. У меня не было знакомых схемотехников и доступа к программаторам, но было сильное желание, журналы Радио и рынок Сенной в 40 километрах в городе, где тусовался тогда оклокомпьютерный бомонд и электронщики с разных предприятий. Плату я перерисовал спирографом с журнала радио, а компонентную базу собирал где попало. Если короче, то сборка и наладка заняла у меня 4 месяца, и несметное количество поездок на рынок Сенной, но задача была выполнена, плата заработала!!! Пользовался я ей не долго, около двух недель, после чего мне родственник, на тот момент работающий на военном предприятии подарил списанный 386й с монитором (цветным!!!! если не изменяет память то Samsung 3NE), клавиатурой и мышью...

    Эх ностальгия ....


    1. mambet
      13.04.2023 07:13

      Хороший монитор для 386-го; он до 1024 на 768 поддерживал. Был такой тоже.


      1. SeyranGV
        13.04.2023 07:13

        Да, а самым главным плюсом стало то что я перестал зависеть от телевизора, доступ к которому блокировали бабушки с мамой из-за Санта-Барборы, как я тогда ненавидел этот сериал )))


    1. PuerteMuerte
      13.04.2023 07:13
      +1

      Я учился в 10 классе, когда умер мой ZX Spectrum 48, и я принял решение собрать себе Радио 86-РК,

      А почему не наоборот, оживить Спектрум? Ведь после Спектрума 48 этот Радио 86РК ничего, кроме боли и уныния, уже не вызывал бы.


      1. SeyranGV
        13.04.2023 07:13

        У ZX Spectrum была 4х слойная плата. Причиной смерти моего, как раз стала трещина платы, что я обнаружил уже несколько лет спустя, так что шансов его восстановить у меня не было совсем.


        1. SeyranGV
          13.04.2023 07:13

          Уточню, у меня был Sinclair ZX Spectrum 48K


  1. iig
    13.04.2023 07:13
    +5

    На такой плате собирать РК86 неспортивно ;) Г****ное качество комплектующих несколько восстанавливает картину ;)


    1. DGN
      13.04.2023 07:13
      +3

      И то верно. Я купил плату своего 86рк на путях железной дороги, у странных людей в длинных плащах. Примерно как кум Тыква, чипы собирал по кирпичику. Паял лудильником ватт на 60 наверное, выдергивая каждый раз из розетки чтоб не пожечь чипы наводками. Совершенно не удивительно, что он не заработал. Собственно, он ни у кого не работал сразу, хоть и ходили слухи, что такие люди есть. Отдал в наладку, там поменяли пару чипов и вернули. И так примерно раза 3-4, плата стала похожа на ЕС ЭВМ, все затянуто паутиной. В итоге приговор был такой, что плата брак. Дорожки имеют обрывы, все переходы с метализацией нестабильны. Сидел лудил дорожки, пропаивал проводки сквозь отверстия, пропаивал просто припоем под чипами. Забив уже на статику и наводки и он завелся. Далее авария блока питания и все погорело. Это наверное самый большой мой факап, вход в мир ПК. Сравнимо лишь с входом в радиолюбительство, там мне подарили катушку провода многожильного литцендрата, мотать контура. Ни один самосборный трансивер не заработал в итоге. Через много лет выяснил, что это была не медь, нечто очень высокоомное, почти нихром.


      1. SeyranGV
        13.04.2023 07:13

        С паяльником мне повезло чуть больше. Мне на день рождения отец привез из командировки импульсный паяльник ЭПСИ-65/220, причем мне досталась модификация с регулировкой температуры и отводом для заземления. Единственным его минусом было что он был тяжеловат для детской руки.


        1. DGN
          13.04.2023 07:13

          Я таким пользовался, не оценил.


  1. dlinyj
    13.04.2023 07:13
    +1

    Спасибо за статью. Прям ностальгия взяла, хотя я не так уж и давно ковырялся с «Микрошей» и писал для него демку.


  1. erley
    13.04.2023 07:13
    +1

    Собирал в детстве Орион-128, такая конфетка! Спасибо за статью, классный опыт :)


    1. dmitrykalashnikoff
      13.04.2023 07:13

      Плюсую. Но собирал мой брат. А я писал программы в кодах к нему. "Было время".


  1. EskakDolar
    13.04.2023 07:13

    В конце 80-х брат собрал такой. Вечерами сидели набирали 16-ричный код программ из журнала. Один диктовал второй вводил. Занятие было очень нудное, но было немного весело когда в тексте попадались "EB"


  1. swan03
    13.04.2023 07:13

    Спасибо, поностальгировал. Собирал в 92-м ZX-Spectrum 48, потом 128 с дисководом на 1818ВГ93. Ох и капризная и дорогая микросхема была в отсутствии даташитов.


  1. avbase
    13.04.2023 07:13

    Радио 86-РК мой первый комп, на него даже бейсик можно было загрузить )))


    1. Jury_78
      13.04.2023 07:13

      Я Форт загружал... :)


  1. ktarasov
    13.04.2023 07:13

    Помню в начале 90-х продавались готовые наборы для сборки Радио 86-РК и ZXSpectrum. Были времена...


  1. oldprinters
    13.04.2023 07:13
    +1

    Спасибо за статью. Даже запах той, моей, комнаты (из 80-х) вспомнил. Много часов было отдано этому компу.


  1. Mizandari
    13.04.2023 07:13

    Интересно, почему он назывался радио-86, но при этом был на процессоре 8080. Вот у меня в 1992 году был компьютер Турбо-86м, так он был на 8086 процессоре.


    1. Kekovsky Автор
      13.04.2023 07:13
      +3

      Представлен был в журнале "Радио" в 1986 году.


      1. Wesha
        13.04.2023 07:13
        +1

        А конкретнее, в №4 и последующих. Не благодарите.


  1. trikot
    13.04.2023 07:13
    +1

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


  1. Worky
    13.04.2023 07:13

    А теперь сделайте апгрейд до z80 и cp/m накатите. Получите больше эндорфина!