Прежде чем поделиться воспоминаниями про работу на «Электронике-60» и ДВК (диалоговом вычислительном комплексе), приведу технические характеристики, взятые из нета.
Производитель Электроника Дата выпуска 1978 Выпускался по 1991 Процессор М2 Оперативная память 4 К слов при поставке, максимально адресуемая — 32 К слов Чипсет К581, К1804 или К1811 ОС РАФОС и другие типа RT-11 Система команд совместима с семейством PDP-11 фирмы DEC.
«Электроника-60»
Базовое программное обеспечение «Электроники-60» представляло собой набор из 5 компонент, поставлявшихся на перфоленте. Набор включал в себя Загрузчик (Bootstrap), Редактор-наборщик (Editor), Ассемблер, Компоновщик (Linker) и Супервизор ввода-вывода (I/O Supervisor). Результатом работы каждой такой компоненты была перфолента, являвшаяся входной информацией для последующей компоненты, вплоть до Компоновщика. Результатом работы Компоновщика была исполняемая программа в машинных кодах. В качестве пользовательского терминала чаще всего использовалась электронно-механическая печатная машина «Консул». Устройствами ввода/вывода были ленточное считывающее устройство и перфоратор. Впоследствии печатающая машина была заменена алфавитно-цифровым дисплеем. Во второй половине 80-х годов XX века относительно большое распространение получили языки более высокого уровня, такие как Basic, Pascal и Ada. Серьёзным ограничением этих машин было отсутствие магнитных носителей данных, что значительно затрудняло разработку программного обеспечения.
Hа «Электронике-60» в июне 1984 года Алексей Пажитнов написал первый вариант игры «Тетрис».
Интерфейс В1 предназначен для подключения пишущей машинки «Consul-260» и устройства считывания перфоленты FS 1501.
Правда, играли мы в “Тетрис” на алфавитно-цифровом.
“Электроника-60” в 1983 году не обеспечивала подключение некоторых из имеющихся периферийных устройств, в связи с чем приходилось модифицировать. Например, это сделали я и Владимир Долгих. Благодаря энтузиазму Володи, мы оформили три статьи для журнала “Приборы и техника эксперимента” (ПТЭ). Две статьи, одну мою, одну его, отклонили, как не актуальные, но третью, совместную, опубликовали. Журнал публиковался в США, и нам прислали гонорар – по 10 чеков для “Березки”. Я купил сосуд для льда.
Писал свои программки на машинном коде, ассемблер считал, в то время, не для меня.
Как сейчас помню:
105737 177564 100375 проверка готовности, если 1 — дальше 012737 посылаем @ на экран 100 восьмеричная система 177566 Для зацикливания здесь должна быть команда на вычитание из счетчика команд 7, не помню ее. Наверное, 100371, ведь ответ от предыдущей команды — true. Не нашел в нете. Вспомнил, что все такие программки писались с адреса 1000 (восьмеричное), поэтому просто:
137
1000
Между прочим, когда символ @ наши программисты называли обезьяной, я, ненамеренно, говорил – собака. Пытался запомнить. Но мне кажется, что сегодня выбрали мой вариант. Хотя, в разных странах, как выяснилось, используются не только название обезьяна или собака.
В машинных кодах написал программу управления программатором ПЗУ для ТО-2, а также демонстрацию для газоразрядной панели ИМГ-1-02, занятно смотрелось, в динамике, применения не нашлось. Фото ИМГ из нета, у меня были какие-то всплески.
Не помню конкретно, какие команды использовал наш сектор программистов для модификации физических регистров, но точно, что среди них были “чтение-модификация-запись”, например, CLR и, кажется, куча других.
Система была уже в “железе”. Обнаружилась проблема cо случайными прерываниями во время ее работы, в основном, с модулем БП. Моя программка помогла мне установить, что дело, по сути, не в “железе”, а в недопонимании программистов. Команда MOV (чисто “запись”) работала много часов без непредусмотренных прерываний, а только команды, работающие в режиме “чтение-модификация-запись” обеспечивали эти непредусмотренные прерывания. Это проверялось мною в режиме непрерывных обращений.
Моя апелляция к начальству закончилась ничем. Как выяснилось, программисты написали сотню тысяч строк кода, в котором каждый обращался к внешним устройствам, как к внутренним регистрам, самыми подходящими, по математической логике командами, не учитывая физики. Да, общей подпрограммы не существовало. Или, как говорят сейчас, интерфейс не был отработан.
БП (блок прерываний) через РОШ (расширитель общей шины) был связан с другими устройствами. Их спроектировал товарищ, который к моменту заводской реализации уволился. Я же нарисовал схему блока на миллиметровке длиной метра три. Участвовал в настройке плат на заводе с настройщиками Поповым и Губерманом. Из-за этих непредусмотренных прерываний сдача проходила не всегда гладко. Я модифицировал РОШ, введя конденсаторные задержки в цепи тактирования, чтобы переключения регистров происходили не одновременно. Изготовили 10 опытных образцов. Передал их Попову, через некоторое время спросил его, как мои платы. Видимо, раздражение против разработчиков у него было очень большое, поэтому он сказал, что никакой разницы. А через год признался, что все десять опытных образцов ушли взамен стандартных в критических ситуациях при сдаче.
Получили несколько ДВК-2 с жестким диском на 5 MB, работаем по-новому. Как-то, сломался привод головки у дисковода, не помню, как я определил. А там была очень ценная информация. Наталья Л…а написала программу для перезаписи информации секторов диска только по порядку и при совпадении контрольной суммы. Я двигал рукой привод до подтверждения на экране дисплея, и так до конца. Все получилось. Вот что значит мегабайт против терабайта.
ДВК-2
Появился и у меня дома ДВК-2 (без корпуса). По ходу я заменил жесткий диск на 20 MB. Написал программу англо-русского словаря на PASCAL. Вбил около 5000 слов. Хотел сделать звуковой выбор. Тогда казалось, что это возможно и нужно.
Языком высокого уровня для “Электроники-60” изначально был BASIC. Но, он не работал с внешними устройствами. Руководитель нашего сектора Шинаков В.Г. заполучил перфоленту QUASIC (qualified user’s allpurpose symbolic instruction code).
Шинаков отправил меня в командировку в Пущино за новой версией КВЭЙСИКа к автору, Подольскому Леониду Игоревичу (параллельная командировка в связке со снабжением, хозрасчет). В Москве сел в автобус до Пущино. По дороге проплывали виды прекрасной среднерусской природы, а во время остановок я спрашивал у попутчиков, не Пущино ли это. Наконец, мне сказали, что сам поймешь. И правда. Прямо академгородок, каким он, наверное, и являлся. Напротив остановки – гостиница, очень внушительных размеров. Слишком большая для такого городка, но, если учесть приезжающих отдохнуть, набраться творческой силы профессоров из Москвы – вполне соразмерная. В большом красивом холле, на ресепшене, я был один, кроме администраторши, вежливость которой даже поразила (я встретился с ней через день, поэтому думаю, что она и по жизни такая). Заполнил бланк, командировочное удостоверение подтвердило мою принадлежность к “элите”. Посмотрел в нете сегодняшнее расписание автобусов Москва – Пущино — не то. Помнится, приехали к вечеру. Да какая разница. А разница в том, как укладываются в этот временной интервал те маленькие события, о которых я хочу рассказать.
Пошел вечером в ресторан при гостинице поужинать и отметить. Шикарный, “пальм” больше, чем в Африке. 150 – само-собой, а поесть, выбрал котлету “по-киевски”, сам не зная, что это. Подходит официантка, принимает заказ, но говорит, что эти котлеты закончились, хотя может предложить также куриную котлету “аппетитную”. Какого, я не хотел куриную, но делаю довольную мину и соглашаюсь. В середине котлеты – трубочка из грибов. Восторг.
Городок был разделен, не исследовал я его больше моих интересов, бульваром на две стороны. Две дороги разделяет лесополоса, метров 60 шириной. Со стороны гостиницы жилой район, с магазинами и прочее. С другой – около четырех каких-то институтов. В один из них мне надо попасть для встречи с автором КВЭЙСИКа, Подольским Леонидом Игоревичем.
Подробности встречи почти совсем не помню, но Леонид Игоревич дал мне перфоленту с последней редакцией. Тут и говорить ни о чем не надо. Кто не понял, я благодарен ему очень.
Два в одном. Я обещал рассказать про Пущино, теперь не надо делать новую запись. Продолжу про командировку. Закончив с КВЭЙСИКом, решил расслабиться, но убитый этим академическим духом (по коридорам гостиницы ходят мужики, похожие на Курчатова) не решился купить портвешка в магазине. Теперь я думаю, что это странно, но факт. Кстати, несколько раз переходя через разделительную лесополосу, посаженную квадратно-гнездовым способом, до пятницы я не замечал никаких людей. А в пятницу мне довелось увидеть трех крепко отдыхающих плашмя. Пятница – развратница.
Дело сделано, пора уезжать. На ресепшене та-же женщина, что меня поселяла. Советовала остаться на денек, покупаться в Оке. На Оку я уже смотрел, когда не смог купить портвейн, поэтому adios. Сказала, что утром позвонит за час до прихода автобуса. Всем бы нам так всегда жить.
Предложил мне один знакомый подработку: запустить на МТС (междугородной телефонной станции) два ИРЗАР-2 (в ИРЗАР-1 отсутствовал НЖМД). Наш радиозавод (Иркутский Завод Радиоприемников) выпускал стойки на основе “Электроники-60” под названием ИРЗАР. В стойке размещались “Электроники-60”, два НГМД, контроллер для НЖМД СМ-5400 и сам СМ-5400. Однако, что-то всплывает в памяти еще про накопитель на магнитной ленте, а про НГМД засомневался. В комплект также входили перфоратор, фотосчитка и печатающее устройство “Роботрон” (под 15 килограмм весом на железных ногах).
Про СМ-5400 взято из https://nevlabs.ru/about/museum/magnetic-disks/ Накопитель на 14-дюймовых дисках — СМ-5400 Имел 1 встроенный диск и 1 сменный. Емкость каждого — 2.5 Мб. Скорость вращения — 4500 об/мин.
Контроллер НМЖД изготавливался на нашем заводе и представлял собой блок где-то с 10 платами. Позже стали изготавливать контроллер на одной плате в формате “Электроники-60”. Ведущий программист из нашего отдела ТО-3 ИКБРС написал программу для обслуживания какого-то цеха МТС, возможно, телетайпного. При запуске мы находились в контакте с ВРИО начальника лаборатории, бывшего директора МТС. Не помню, как его звали, но человек был очень доброжелательный. Он сам делал коммутации по МТС для связи с оборудованием.
Рассчитались с нами за монтаж и ВРИО предложил мне остаться работать по совместительству для обслуживания на полставки, где-то рублей за 60 в месяц. Естественно, я согласился, синекура. Приходил по вечерам раза два-три в неделю, уж не помню, что приходилось делать, но в день получки отпрашивался днем. Пришел новый молодой начальник. Мой статус не изменился. Как-то сломался “Роботрон”, заменил микросхему, но для этого ее еще надо было вычислить. И тут посыпался один НЖМД. Пробовал юстировать без специального оборудования, кроме осциллографа. Приходил каждый вечер и в выходные. Казалось, что вот-вот. Начальник сжалился и предложил уволиться. Потом я узнал, что пригласили ребят с завода, которые с помощью специального болгарского прибора и юстировочного диска махом все привели в порядок.