0,0
рейтинг
23 декабря 2012 в 19:12

Орион-128: радиолюбительский компьютер

Исторически, первым массовым радиолюбительским компьютером был Радио-86РК, требовавший для построения всего 29 микросхем. Его существенным ограничением был то, что он поддерживал только текстовый режим и требовал трудно-доставаемых микросхем. Орион-128 — был логическим продолжением — также ориентирован на сборку радиолюбителями, имел больше памяти (128кб против 16/32кб) и поддерживал графический режим: 384 × 256 (в режиме 2 цвета, 4 цвета, и 2 цвета из палитры 16 цветов на каждые 8 пикселей). Ориентировочный размер популяции Орион-ов в период его пика популярности — около 30-40 тыс. компьютеров.

Орион появился у меня в 94-м году, и именно на Орионе я запускал свои первые программы (до него их приходилось писать «в стол»). К моменту приобретения первой PC-шки в 97-м — Орион начал глючить все забористее (не грузился с первого раза, приходилось много раз перезагружать...) и под конец перестал работать совсем. Отремонтировать я его тогда не мог, и все эти годы он пролежал без движения, но не забытым.

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

Архитектура

Сердце компьютера — процессор КР580ВМ80А, советский аналог Intel 8080. Для упрощения конструкции — слово состояния процессора не захватывалось (там процессор «говорит» когда пишет в стек, читает или пишет в порты ввода/вывода). Также отсутствует контроллер прерываний.

В самых верхних адресах находится ППЗУ Монитор-а (BIOS). Он сделан интересно — все его функции вызываются через таблицу в самых верхних адресах памяти, которые просто выполняют безусловный переход на место фактической реализации функции, таким образом при изменении реализаций функций адреса вызова остаются прежними, и остается возможность их добавления (таблица растет «вниз»).

Порты ввода вывода — были отображены на память, т.е. если при декодировании адреса мы видели что адрес=адресу порта, то происходила запись в регистр порта. Адреса портов находились в области Монитора, куда все равно записывать нельзя. Порты были сделающие:
0F400H — порт клавиатуры
0F500H — порт пользователя № 1
0F600H — порт пользователя № 2
0F700H — порт платы расширения
0F800H — управление графическим режимом (только для записи)
0F900H — переключение страниц памяти (только для записи)
0FA00H — переключение адреса экранной области памяти (только для записи)
0FB00H — системный порт № 4 (только для записи, не используется)

Процессор КР580ВМ80А — имеет 16-и битную шину адреса, и соответственно может адресовать только 64кб памяти, порт переключения страниц позволяет процессору выбирать текущую страницу памяти. Но если мы переключаем страницу — и программа будет выполнятся из другой страницы по тому же адресу! Т.к. в таких условиях работать сложно, обычно всю работу с дополнительными страницами делает монитор (т.к. он «виден в памяти» на всех страницах), но это конечно не слишком быстро.



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

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

Тут и находится основной недостаток Ориона — скорость вывода текста очень низкая (около секунды на страницу текста в цветном режиме), особенно по сравнению с Радио-86РК. Процессор делает 300-500 тыс. операций в секунду (при тактовой частоте 2.5Мгц), а запись на дополнительную страницу памяти — это по меньшей мере десяток операций.

Разбираемся, что же не работает

У меня была заводская версия Ориона:


Т.к. компьютер был заводской, печатная плата отличалась от журнального варианта, и были некоторые отличия в схеме, что не облегчало задачу. Также на проводах (в левой части платы) висел счетчик К155ИЕ5 — конечно я понятия не имел, зачем он там висит, еще одна загадка.

По советам — заменил советские керамические конденсаторы на новые. Блок питания был больным местом Ориона (и у меня выдавал неправильные напряжения) — его я полностью заменил на новые импульсные. Орион требовал напряжения +5, +12 и -5В (вернее, эти напряжения требовал процессор КР580ВМ80А, всему остальному достаточно было +5).


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

Первой моей мыслью было то, что за 20 лет испортилось содержимое Монитора (защитное окошко не было заклеено изолентой) — заказал программатор TL866, слил прошивку — и к моему сожалению она совпала до байта с журналом. Печаль. Идей не было никаких.

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

Сигналы RAS и CAS — похожи на правду (т.к. это наиболее высокочастотные сигналы — с ними также бывают проблемы).

Заметил, что один из битов шины данных — всегда 1. Оказалось, я случайно закоротил его на +5В когда перепаивал конденсаторы. Только сейчас я начал понимать, зачем на печатных платах паяльная маска :-)

Тест памяти заработал, но очень странно, после тестирования первой страницы памяти — снова тестировал первую, а не вторую. Подозрения пало на регистр текущей страницы памяти (порт 0F900H) — или не проходит запись, или потом это значение не переключает страницу.

Для того, чтобы легче было дебажить — написал программу вместо Монитора, которая постоянно переключает страницу памяти. Достал из Ориона старую EEPROM КС573РФ2, и начал стирать… Через пол часа под кварцевой лампой — прошивка все еще совпадала байт в байт (более современные EEPROM 27512 — стирались за 35-45 секунд)… Только через час прожарки микросхема была чистой. Но при попытке её записать — меня постигла былинная неудача, как оказалось, программатор может выдавать напряжение программирования не выше 21В, а КС573РФ2 требует 26.

Можно было конечно хакать программатор, но я решил припаять более современную флешку с электрическим стиранием — расположение выводов конечно не совпадало, и припаивать пришлось на проводах («многоэтажная» печатная плата не влезала по высоте). Переключатели — позволяют выбирать один из нескольких залитых Мониторов, и припаяны к первым неиспользуемым битам адреса с подтяжкой к 0 (КС573РФ2 — 2кб, 11 бит, значит переключатели на 12-13-14 битах):


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

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

Идей далее не было. Заметил, что на выходах двух микросхем памяти нет данных, заменил их. Старый текстолит проявлял себя с худшей стороны — чернел при пайке феном (про чернеющий от фена текстолит мне рассказывала страшные сказки мама — но я не верил), дорожки отваливались… Депрессивное зрелище. В отпаивании без фена — помогал паяльник с оловоотсосом (чудесное изобретение, расплавляешь припой, жмешь кнопку — и он все всасывает, главное потом плату не заляпать), и медная оплетка (solder wick), коей изведена была целая куча:


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

После пристального изучения платы с лупой — удалось найти еще 2 КЗ, которые сделал я, но тест памяти работать не начинал. Тогда я тотальной прозвонкой обнаружил, что на шине данных еще один КЗ — но просмотрев всю шину данных его я не нашел. Пришлось конкретный бит шины данных разрезать на кусочки, чтобы сузить круг поисков. Наконец КЗ нашлось — оно оказалось настолько микроскопическим, что его едва было видно в лупу. Причина по которой у меня так легко получались КЗ оказалось простой — я по ошибке вместо обычного припоя ПОС60 взял легкоплавкий с Висмутом (температура плавления 144 градуса). При контакте с паяльником с температурой 250 градусов — флюс мгновенно вскипал, и мельчайшие капли припоя разбрасывал вокруг. А я еще ломал голову, почему после пайки поверхность получается матовая…

Тест памяти заработал, и похоже найденные в процессе осмотра КЗ решили проблему с переключением страницы, теперь шина данных в 0 не сбрасывалась в самый ответственный момент, и переключение страницы работает стабильно:

Однако загрузка ORDOS с внешнего ROM-диска все еще не работала. Прочитав 3 байта с ром-диска руками через порты (команды для этого есть в Мониторе-1), увидел что 2 бита данных приходят неправильные (сравнивал с образом ROM-диска слитым на программаторе). После пропайки ромдиска — ORDOS загрузился! Радости не было предела:


Однако проблемы еще оставались: тест памяти показывал ошибку памяти на второй странице после прогрева, иногда пропадало изображение на телевизоре, особенно часто при тесте второй страницы памяти, и нужно было что-то делать с висящей на проводах мистической К155ИЕ5:


Микросхему памяти заменить было легко, а вот с пропаданием изображения пришлось помучатся. Подозрение упало на сигнал разрешения записи данных из видеопамяти в регистры формирования видеосигнала (запись туда запрещается когда процессор обращается к памяти). Дорожка была длинная (~50см), и поскольку никакого согласования импеданса нет — сигнал отражался от концов дорожки, превышая допустимый уровень 0 в TTL логике (0.4В) — это могло вызвать проблемы. Поэтому я реализовал последовательное терминирование — резистор 220 Ом рядом с источником сигнала — звон пропал, но проблема осталась:
Суть последовательного терминирования
Допустим волновое сопротивление дорожки — 220 Ом. Без терминирования — 5В импульс дойдет до конца дорожки, отразится, и мгновенное напряжение там будет 10В. Большая часть конечно срежеться на защитных диодах внутри микросхемы, но всплеск до 10В будет. Если же мы поставим резистор 220Ом рядом с источником сигнала — то по дорожке пойдет 2.5В (т.к. у нас получается делитель напряжения), когда 2.5В дойдет до конца дорожки и отразится обратно — как раз получится 5В, ровно столько, сколько нужно.

Волновое сопротивление дорожки зависит от её ширины и близости к земле, для тонких дорожек без земляного полигона под ней — оно высокое, сотни Ом.



Мистики добавляло то, что при подключении земли осциллографа — пропадания изображения прекращались. Оказалось, проблема была в плохом сетевом блоке питания 12В, у которого видимо сэкономили на фильтрации — на земле было много мусора (т.е. между землей и 12В шиной — всегда 12В, но относительно земли телевизора или осцилографа — огромный шум). Заменив блок питания на более качественный (от FPGA демоборды) — проблему удалось полностью разрешить.

После отслеживания К155ИЕ5 на проводах — оказалось, что она частично заменяет К1533ИЕ5, впаянную в плату. Зачем нужно было оставлять её висящую на проводах — мне не ясно. К1533ИЕ5 выкусил, К155ИЕ5 впаял — и все работает! 1533 серия — это буржуйская ALS, 155 — обычная ТТЛ. У ALS — пониженная нагрузочная способность и скорость, видимо в этом и была изначальная причина замены.
Более полная таблица соответствия отечественной и зарубежной ТТЛ логики
K155 - 74
K133 - 54
K530 - 54S
K531 - 74S
K533 - 74LS
K555 - 74LS
K1531 - 74F
K1533 - 74ALS
К1564 - 74HC


Общий вид в законченном виде:

Небольшая платка в левой части —
схема сдвига экрана вниз (иначе первая строчка на ЖК-телевизорах обрезается)
Проект платы для Eagle — 3.14.by/files/orion_sync.zip
Диоды любые, резистор 1к, навесным монтажом развязывающий конденсатор.
Микросхема — 74AC1G14 / 74AC1G04 / 74HC1G14 / 74HC1G04 (1 гейт инвертора с/без триггера Шмитта).

3 входа подключаются к ногам 8,9,11 DD4, выход — к ноге 13 DD7.4 (соответственно, дорожку ведущую к н.13 DD7 нужно обрезать рядом с DD7).

В оригинальной схеме, которую сейчас не смог найти (где-то на радиокоте) — ИЛИ было на микросхемах, а инвертор на транзисторе, я сделал ИЛИ на диодах а инвертор на микросхеме.

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

Востановление (facepalm) Впрочем, по грамотности я недалеко ушел с тех пор.

Стоило ли это того?

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

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

Информация по Ориону-128

Emuverse — Wiki со ссылками и публикациями журнала Радио.
orion128.nikom.biz — Собрание всего софта для Ориона
zx.pk.ru/forumdisplay.php?f=56 — Форум по Ориону на zx.pk.ru, там же собирают новые Орионы (и конечно много других тем по винтажным компьютерам)
www.nedopc.org/forum/viewforum.php?f=39 — Форум по советским компьютерам на nedopc.org
emu80.org — универсальный эмулятор 8-и битных компьютеров, под Windows («Радио-86РК», «Партнер», «Апогей», «Микроша», «Специалист», «Орион», «Микро-80», «ЮТ-88»)
Михаил Сваричевский @BarsMonster
карма
920,5
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

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

  • +5
    Превосходно! Люблю старые железки
  • +2
    Спасибо за такой интересный материал по теме старого железа. Я, в силу своего возраста, с ним не сталкивался, но благодаря вам многое о нем узнал.
  • +1
    Спасибо за статью! Покажу отцу (у него такой был, а возможно в закромах гаража лежит еще где-то) — пусть понастольгирует / вспомнит былые времена.
    • +12
      * Топик где BarsMonster чувствует себя старым
      • 0
        Не ты один :)))

        Правда я школьником был, когда мы в радиокружке паяли РК, но тем не менее…
  • +3
    Спасибо Вам, что починили его.
    Радостно, что он будет жить.
  • +1
    Почитал взахлеб. Этим летом (весной) планирую восстановить свой ПЭВМ «Поиск 1». Проблема у меня немного другая — с виду битая память примерно посередине (4000h:0000h). Дос запускается, да и некоторые программы тоже, но не всегда. Тест памяти не проходит. Вот думаю откуда начинать копать. У меня пока несколько предположений:
    1) Собственно битая память (512Кб набрано КР556РУ7), как определить какая — я хз, все 20+ микрух отпаивать — я скорее всю плату раскурочу. Может быть попробую «навесом» ставить заведомо исправную. Хотя в таком методе я не уверен.
    2) Электролитики / непропай. Хотя электролитов там раз два и обчелся, в основном керамика КМ-ки, но керамика по идее не дохнет… Непропай возможен, надо будет с лупой поизучать.
    3) Питалово. БП родной, древний. Думаю чем бы заменить из современного, там нужно +5 и +12. Не хочется обычный ATX, хочется без кулера и маленький. Ищу варианты.
    4) Какой-то формирователь адреса или как он там, который отвечает за выбор адресных линий.

    PS: После завтра тоже за оловоотсосом поеду, классный девайс )
    • +1
      Я думаю нужно разбираться в адресации памяти, и писать/находить тест который покажет по какому адресу ошибка — тогда сразу будет понятно где ошибка.

      565РУ7 — это 256к x 1, т.е. на каждый байт по 8 микросхем. Нужно чтобы тест показывал и номер сбойного бита.
    • +1
      1) РУ7-ые — они ещё при СССР шли полубраком вечно (РУ7 в некоторых кругах выражение матерное), можно попробовать заменить на импортные аналоги (хотя тут действительно прийдется распаять всю плату)
      2) Если устройство сделано в СССР и имеет в себе хоть один электролит — заменить без проверок. КМ-ки максимум пропаять, они вечные
      3) БП — посмотрите на meanwell и прочих, БП выдающие +5 и +12 одновременно у них полно, а вот если надо будет -5/-12 — то тут уже сложнее.
      4) Формирователь адреса — ну опять по зарубежным аналогам, и то, если он мертвый (дохнут они редко очень)

      П.С. Оловоотсос — штука как повезет, у меня их валяется с десяток дохлых — дешевый кЕтай мрет как муха в спирте, да и не всегда нормальный прогрев его «жала» бывает. Посмотрите в сторону медных оплеток — попробовав раз пристрастился к ним навсегда.
      • 0
        С РУ в свое время, от отчаяния, люди делали модули памяти с кодом Хэмминга, чтобы на этих полудохлых (а еще поди найди или выбей в институте) можно было работать.
  • 0
    Офигеть, прямо целый детектив! Спасибо большое, это было круто!
  • +4
    Главной проблемой Радио 86РК был не текстовый режим (на микрокалькуляторах и его не было, что не мешало им быть жутко популярными в соответствующих кругах :D), а то, что его простая конструкция достигалась редкими, дорогими и специализированными девайсами, в первую очередь — ВГ75, хотя и контроллер прямого доступа к памяти тоже лимитировал. Я их только на первом курсе достать смог.

    Орион-128 в противоположность этому разрабатывался на как можно более простой логике. Правда, когда он вышел на рынок, то дефицит компонентов Радио-86 уже канул в небытие :) Зато отладка Ориона-128 после 86РК была адом :)

    Но, конечно, это всё компенсировалось OR-DOS, поддержкой дисковода, CP/M… Со временем машинка вышла на совершенно новый уровень.

    Памяти, кстати, на РК86 ставили обычно 32к. 16 — это был минимум, на нём мало сидели.
    • 0
      Бррр, не говорите, у наших «спектрум»-подобных была куча МСХ, мрущих от пропажи отрицательного напряжения (даже наклейки были на самих корпусах МСХ «без -12 в. не включать».
      • +1
        А где там -12В было? Ну, кроме -5В у процессора и РУ2, с которыми я даже пересечься не успел? Обычно сразу РУ6 ставили, которые только +5В потребляли.

        Правда, в РК86 ещё и на усилителе магнитофонном было -5В.

        А вот на Орионе-128, -5В только на процессоре было. Там даже усилитель на КМОП-инверторе был. Как процессор на Z80 меняли, так отрицательные вообще не нужны становились.



        Кстати, шик мой вспомнился. У меня в детстве было особенно фигово с трансформаторами. А импульсные БП в домашних условиях тогда ещё не осиливали. Так вот, у меня мощным был только транс от нитей накаливания радиоламп, выдававший 2А ~6.3В. Я с одной его обмотки получил для РК86 и +12, и -5В :) +12 получил удвоением, -5 — гальванической конденсаторной развязкой (ток совсем слабый нужен был). Когда в студенческие годы, уже в общаге, попробовал повторить, то получил два взорвавшихся конденсатора (при чём с запасом по напряжению) и решил перейти на набиравшие популярность импульсные БП.

        А уж импульсных БП от МС-0511 я штуки четыре сжёг безвозвратно. Вытащишь из копуса, и на столе нечаянно то на гайку поставишь, то на отвёртку… :D
        • 0
          На спектруме от отсутствия 12В дох контроллер дисковода, КР1818ВГ93. Но всё же +12B. -12 там нигде нет, такое напряжение в вычислительной технике вообще только для организации токовой петли (типа RS-232) нужно. И то даже в современных блоках питания ATX вместо -12 выдается что попало, а COM-порт всё равно работает.
      • 0
        ЭмСиЭкс — что за аббривеатура?

        В спектрумах не было -12 — ни к чему они там были. Впрочем,… видел вариант с 51-м портом (последовательным), разведёным под какой-то экзотический интерфейс (для организации сети, типа), которому требовались +12/-12. Но это сильная экзотика, где бы это использовалось на практике не видел (их просто не впаивали), да и от отсутствия -12 они бы не подохли.

        И даже на РК не было. +5/-5/+12. А про ВМ80 вообще пишут, что он умел работать только от +5 (при подаче +5В вместо +12В и «земли» вместо −5В).
        • 0
          Yamaha MSX скорее всего :)
          • 0
            МикроСХема, вообще-то :) По крайней мере я так прочитал.
            • 0
              тьфу :) я то подумал о корпусах ЭВМ с надписями MSX :)
    • 0
      Ваши комментарии о Радио 86РК добавил, спасибо.
    • +2
      И у меня, и у моих товарищей РК86 были с 16k памяти, занимались тем, что брали игры под 32k и переписывали адресацию, обычно этого хватало, что бы игра завелась. То есть по факту места хватало и в 16k, просто кто-то писал под 32k не думая о нас.
    • 0
      Был ещё очень неплохой компьютер «Специалист» в те годы. Я помню, дисплейный модуль от него прикрутил к Микро/80. :) Смог запустить игрушку из «Моделиста-конструктора» на подобие Lode Runner.
  • +1
    Классно!
    А мой спектрум 48к жив ещё. Работает, вот осенью включал. Правда с периферией проблема — ни кассет, ни магнитофона уже не найти. Ну, можно найти, но под рукой нет.
    • +2
      Есть плагин для winamp, позволяет воспроизводить TZX файлы на обычном компьютере, так что можно обойтись без кассет.
      • +1
        Или конвертнуть tzx в wav — тогда вообще любым плеером :-)
  • +2
    вспоминаю свой очередной компьютер Спектрум, Краснодарский вараиант (до этого паял Радио-86РК и Специалист).
    Там было 2 памяти, одна 16к (8* 565РУ6) для видео, вторая 32к собственно для игр.
    Использовались 8* 565РУ5 (64к).
    Зачастую собирали на отбраковках, когда проверяли микросхемы и делили их на рабочую первую или вторую половину (32к)
    Затем надо было 8 одинаковых половинок и подать сигнал какую из 32к использовать

    Мне же достались целые РУ5 и грех было не использовать все 64к.
    Так как загрузка с магнитофона занимало время решено было сделать переключатель половинок микросхем — таким образом был компьютер, где можно было быстро переключится между двумя играми, предварительно загрузив их в половинки микросхем.
    • 0
      Вот вы специалисты!!! У меня тоже был «Краснодар», но мне не пришло в голову переключать половинки РУ5. )))
      Ну вообще там была нижняя часть памяти 16к — 4000h-7FFFh, и верхняя 32к — 8000р-0FFFFh. Видимо речь идёт о верхней? А как реально переключать-то, зажимая RESET? Потому что в старшей части памяти обычно живёт стек, если на ходу переключить, будет повисалово… И запускать игру как, из Бейсика? Он же по RESET в Бейсик выходит… Или вы свою ПЗУшку написали?
  • +2
    >Мне же достались целые РУ5 и грех было не использовать все 64к.

    Чаще же всего на Спекки (в Москве с жиру бесились и полны 8 РУ5 было на всех Спекки 48 :) ) копировали ПЗУ в «пропадающее» ОЗУ и включали его вместо ПЗУ. Получалась возможность вживую перехватывать вызовы, вносить свои модификации и т.п. Ну, или просто альтернативные прошивки иметь отличные от родного ПЗУ, уже загружая их с ленты или диска.
    • +9
      У нас, на периферии, был жуткий дефицит.
      Собирая Радио-86РК, я долго не мог найти контролер ВГ75 и пришлось делать его из нескольких микросхем, по журналу «Радио», который и предложил замену дефицитного контролера.

      А за клавиши (40 штук в комплекте) загремели в милицию прямо на радиорынке.
      Очень долго я объяснял, что 40 клавиш это набор, а они говорили что я купил для спекуляции и что 40 клавиш это много для одного человека.
      • +1
        Жесть какая :) Мне-то повезло купить сразу корпус с клавишами и печатную плату одним комплектом. Ну и да, как писал выше, это уже в Москве было, куда я уехал учиться из своей деревни.

        Правда, про радиорынки тогда не знал и покупал радиодетали в официальных магазинах. ВГ75 за 22+ рубля, процессор за 17 или 18 рублей, порты параллельные по 13 рублей. И РУ6 по 50 рублей за линейку :) В итоге РК86 мне в 145 рублей обошёлся. Я, как раз, на первом семестре со стипендии 145 рублей на сберкнижку отложил, в конце семестра сборкой занялся, так всё отложенное и потратил :D
    • 0
      Интересно… У меня не было такого. Это уже Shadow ROM получается, по сути.
      • 0
        Вообще, такая фишка не «из коробки» была. Фактически, при полных 64кБ оперативки, обычно запись вся шла в ОЗУ, а вот для чтения в младших 16кБ логика селектора адреса переключалась на ПЗУ. Т.е. требовалась простая доработка по отключению этого селектора. Тогда сперва тупо копировались младшие 16кБ по своим же адресам (каждый байт читаем и пишем по тому же адресу) — в результате в ОЗУ оказывается копия ПЗУ. А потом отключаем селектор и выборка данных идёт уже не из ПЗУ, а из ОЗУ.

        Ну, или можно было не копировать ПЗУ, а сперва загрузить с ленты и скопировать в область ПЗУ (запишется в ОЗУ).
  • +1
    Статью можно было сократить: «Берём и выпаиваем все детали. Затем впаиваем новые. Готово!»
    (Шутка)
  • 0
    У меня был такой же только самодельный. Даже умудрился к нему контроллер дисковода подцепить и дискетки от PC читать и писать.
  • 0
    Интересно, спасибо!)
    А что такое КЗ?
  • +1
    > в корпусе УКНЦ

    Это ни разу не «корпус УКНЦ»…

    А так вообще интересная статья.
    • 0
      Кстати, да. Я сразу и не заметил. У меня-то Орион-128 вот в таком корпусе был:
      image
      • 0
        Вот это точно корпус от УКНЦ (справа верху слоты расширения, в них вставлялись картриджи с программами, например бейсиком, а также Контроллер ГМД)
    • 0
      да, вы правы, меня похоже дезинформировали :-)
    • +1
      В таких корпусах «Орион-128» делали в г. Ливны Орловской обл.
      У меня, как таких корпусов штук 5 было. Монтировал в них Орионы и синклеры.

      • 0
        У меня тоже был один такой же, а второй полностью самодельный в самодельном корпусе, правда плату покупал частично с запаянными микросхемами.
  • –3
    Потрясающая некромантия.
  • +1
    Прочитал статью, аж сердце защемило..., были времена. Где мои Синклеры и Орионы…
  • +1
    Спасибо! Очень вдохновляющая статья.
    Про «глобальную проблему детства и отрочества» — это хорошо сказано. Сам недавно починил свой «Кворум» (ZX-совместимый компьютер), который поломался когда мне было лет 14. Полжизни мечтал его починить, даже вуз, куда поступать, выбирал (ну, в том числе :) ) исходя из главного вопроса — «научат ли меня там чинить спектрумы?» :) И вот, дохлая КП11 найдена, и жизнь засияла новыми красками :)
  • 0
    Автор молодец. Только хардкор.
  • 0
    Надо будет достать свой первый Радио86РК, собранный отцом, починить… И доделать Спектрум Пентагон, тоже когда-то начатый отцом…
    За статью спасибо — сам не раз испытывал такое чувство, когда ищешь неисправность, находишь КЗ или неотмытый флюс, но оно все равно не работает… Опускаешь руки, но потом все равно берешься, и продолжаешь искать. И оказывается, например, что дело было в непропаянной ножке…
    • +1
      > сам не раз испытывал такое чувство, когда ищешь неисправность, находишь КЗ или неотмытый флюс, но оно все равно не работает…

      Я как-то с пол-года работал на отладке неработающих АОН'ов на Z80. Ребята в артели паяли, и если после окончания не работал, тащили ко мне. То есть, я тоже сперва паял, но потом оказалось, что моя ценность в роли дебагера много выше, а то нередко выкидывали вообще, не поняв, что не работает. Так вот, чего я только не насмотрелся в итоге. Вплоть до припаянных вверх ногами ПЗУ-шек :) А какой шик, когда у КМОП-логики питание криво пропаяно. Она работает, пока на входах хоть одна единица есть. Как все нули — всё, глюк :D В итоге, ни одного АОНа больше не выкинули, все удавалось оживить.

      А вот Орион-128 свой первый я так оживить и не смог. Тактовый генератор там, совмещённый с видеосистемой, это просто ад был какой-то. Несколько месяцев провозился и сдался. Пришлось новый паять :D
  • 0
    Небольшая не точность — в область монитора писать можно. (этим он отличался от рк86 и спектрумов) Можно было подменить стандартную функцию на свою. На этом свойстве я делал драйвер принтера. (подменял функцию инициализации при горячем старте на свою, при нажатии клавиши «сброс» запускалась подпрограмма печатавшая изображение из первой странице экранной области (чб данные) на матричный принтер)
  • +1
    Автор, спасибо огромное за эту статью! Испытал чувство ностальгии! Как печально, что прошли те времена, когда можно было сидеть в канифольном дурмане, копаясь в ворохе МГТФа с паяльником и осциллографом!

    Хочу добавить пару вещей. По опыту К580ВМ80 использует отрицательное напряжение просто для питания подложки, ток там вообще не требуется, причём опыт показал, что туда достаточно подать -1в и он у нас работал. Поэтому делали простейший преобразователь на одном транзисторе, чтобы не лепить ради этого источник питания.

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

    Забавно, что я буквально пару дней назад перед сном вспоминал этот комп, думал, что можно было бы прицепить к нему flash в качестве виртуального диска. У меня в детстве был такой комп, но мы его с папой не довели до ума, уже плату я всю спаял и детали смогли достать (в СССР это было большой проблемой!), но отладить сил не хватило. Чуть позже у меня появился Синклер и Орион-128 я забросил. До этого у меня был Микро/80 — полностью спаянный мной и отлаженный при помощи папиного друга.

    Вообще, Орион-128 даже на тот момент уже немного отставал по развитию. Они сделали многостраничную память и попытку разработать ОС, применив всё тот же старый медленный процессор. Если использовать Z80, отпадает сразу ряд проблем: он работает на частоте 4 MHZ, умеет сам регенерировать ОЗУ, питается от 5В. По командам он 100% совместим с Intel 8080 (т.е. К580ВМ80, сорри), при этом у него больше регистров и присутствуют очень вкусные для программера функции перемещения массива памяти.

    Эх, воспоминания… Я вот что думаю, в чём беда с воспоминаниями. Мы можем всё вспомнить, можем даже достать старые наши железки и с ними что-то поделать, но мы не можем вернуть ощущения тех лет. Потому что время сегодня уже не то, и годы те ушли безвозвратно…
    • 0
      Z80 на Орион-128 ставили. Была официальная доработка от журнала «Радио». Правда, с некоторыми играми проблемы были. И некоторые тайминги отличались, и некоторые команды, пустые на 8080 имели смысл на Z80.
  • +1
    Сорри за некропост, но чем шил флешку? Я пытался шить её самим компьютером («Специалист»), но не вышло — то ли программную защиту от записи не смог снять, то ли в циклограмму не попал (подключал её прямо к шинам процессора).

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.