DEC PDP-11/04
Мини-компьютер фирмы DEC PDP-11/04 на выставке.
Состав:
- KD11-D (M7263) Процессор
- MS11 (M7847) * 2 шт. память на полупроводниках по 8 килослов каждая
- RX211 (M8256) контроллер гибкого диска
- BA11-L - Корпус “тонкий” и корзина UNIBUS DD11-D
- KY11-LA - “простая” “консоль оператора”, т.е. без отладчика.
- H777 - Блок питания “европейский”
Также имеется дисковод RX02.
Краткая история ремонта
Хотите разорить страну - подарите ей крейсер. PDP-11 с неисправностями для любителя - примерно то же самое.
После ревизии БП машинка запустилась и выдала приглашение ODT (точнее, оно там называется по-другому, но суть та же). Первый успех закончился обломом, т.к. после загрузки через последовательный порт и HX-эмулятор, машина стала вываливаться в TRAP TO 4. При снятии одного банка памяти RT-11 таки грузился. Дисковод удалось отреставрировать, он теперь включается и жужжит как настоящий, но с диска не грузится. Итого две неисправности - плата ОЗУ и что-то с диском.
Небольшое отступление в сторону. Чтобы ремонтировать машины с такой компоновкой, нужны обязательно удлинительные платы. Для советских ЭВМ Э-60 и ДВК они не являются редкостью и без проблем находятся или одалживаются. Для оригинальных корзин PDP что QBus что UNIBUS их тупо нет и негде взять. А без них до платы не добраться! И остается только аналитический метод - смотрим на плату и думаем что бы это могло быть.
Итак, встала задача такие платы раздобыть. С этим помогла вот эта ссылочка с герберами плат-удлинителей (в самом низу)
Платы заказали в Китае. Пытались заказать у нас, но я не понимаю этот сервис - нужно отправить по почте заполненную в экселе форму, подождать три недели и получить ответ, что платы не подходят по таким-то параметрам. Это те кто ответил - с десяток объявлений на авито морозились, и еще столько же фирм из инета требовали заполнять кучу персональных данных чтобы сказать “мы вам перезвоним”. В Китае заказалось за три клика - сразу посчиталась цена по герберу, доставка, пять дней продукция и две недели почта.
К плате нужны разъемы. Разъемы, точно соответствующие DEC с шагом 0.125“ (1/8”) - это невероятный дефицит. Например, они очень похожи, но НЕСОВМЕСТИМЫ с советскими разъемами РППМ МПИ. У наших - метрический шаг, у DEC - дюймовый. Что самое опасное - плата входит в неподходящий под нее разъем, естественно со смещением дорожек и последующим замыканием (я так не делал, просто предупреждаю). Подобные зарубежные дюймовые разъемы с шагом 1/8, конечно, встречаются, но у них все время что-то не так, то число выводов не то, то края плат DEC не доходят до края разъемов и т.д. все время что-то не так.
Однако же, ищущий обрящет - вот практически совместимые разъемы: Part number: EDAC 346-080-540-802 Цена у них не из дешевых, но выбора нет. И что характерно, эта фирма из Америки имела представительство в России и включала почту и таможню в стоимость. Спустя каких-то две недели курьер привез разъемы.
Есть еще один вариант - Douglas Electronics Inc. там же есть и разъемы отдельно и можно заказать плату с разъемами, но доставка там получается что-то в районе $200, что множит затею на ноль. Немного погодя нашелся намного более дешовый вариант : на Aliexpress: разъемы производства компании Wing Tat: 3.175mm EDGE SLOT MOUNTING EARS180° . В такой разъем на 80 пин вставляется плата DEC, но не совсем, немного ёрзает по краям и разъем мелковат в глубину.
Была даже предпринята попытка распилить разъем с развандаленной корзины UNIBUS на части с помощью алмазного диска для плитки. Оригинальный разъем является монолитом, в котором 3-4 разъема (в зависимости от высоты корзины) выполнены единым блоком. Ничего из этого не вышло, кроме тончайшей едкой пыли от бакелита - нужна нормальная оснастка. Попутно по городу были опрошены основные сервисы лазерной резки - ни один не взялся, сказали что у лазеров небольшая глубина резки и широкий конус, и что бакелит скорее всего закипит. Короче, “отцепись дядя”.
Еще были отправлены письма во все найденные refurbished DEC parts services в Европе и Америке. Те что ответили, за платы DEC W984A W987A (так называются 2- и 4-удлинители) - просили $400 за одну плату. Также были попытки купить плату на eBay (как оказалось у автора сайта retrocmp.com по имени Joerg). Плата была совмещена с простым логическим анализатором на диодиках, и аукцион ушел куда-то в космос, от покупки пришлось отказаться.
Пока все это мучительно обреталось, коллега занимающийся ремонтом продвинулся:
- RX02 подключенный к Э-60 через И-4 и выставленный в режим DX успешно прочел дискету и записал, а также загрузил ФОДОС с дискет от ГМД-7012. То есть мы почти исключили неисправность дисковода.
- С помощью утилиты PDP11GUI (похоже на HX-эмуль, но более продвинутый с кучей встроенных тестов) гонялись тесты памяти, которые в 99.(9)% выдавали что все ок, но один раз был сбой.
- XXDP загрузить не удавалось
Для тестирования дисковода RX02, в Германии параллельно был заказан контроллер RXV21 для QBus-машины (к такой имелся доступ). На eBay очень дорогая доставка для имевшихся плат. Я же случайным поиском нашел сервис запчастей для станков, и у них была эта единственная плата для DEC, с ценой дешевле ebay и сравнительно недорогой доставкой. С ее помощью выяснилось, что режим DY в дисководе тоже работает, и удалось прочесть несколько дискет из комплекта машины. Их оцифровкой пока не занимались, но на вид там ничего интересного - RT-11 v4.0 и серии данных с какого-то датчика.
Все-таки после некоторого шаманизма с заменой импортного драйвера на советский аналог удалось добиться четкой локализации сбоя чипов RAM - сбойными оказались два чипа.
Были заказаны чипы памяти Mostek MK4096 на Али. К сожалению, пришла подделка (лазерная гравировка). У этих чипов три питания. В подделке они звонились на землю. Чуть не сожгли плату, к счастью спасло ее промышленное исполнение и заложенный в неё запас прочности. А чипы получается проверять можно только на стенде, т.к. подавать только одно питание и звонить его на землю нельзя - чип так сгорит. Товарищ исхитрился и перепаял рабочие чипы с банка ECC (контроля четности), и теперь вроде бы проблема ушла и RT-11 какое-то время работает.
Были заменены конденсаторы в блоке питания, т.к. начала проявляться просадка +15В и пульсации.
Процессор оказался глючным, хотя и грузил ОС:
- команда NOP виснет (показало на программе теста процессора ВМ2 от Titus, а также на выполнении кода 240 в загрузчике)
- SH CONF показывает PDP-11/70 и наличие всех возможных устройств, включая графический терминал, менеджер памяти и все, чего реально в машине нет и быть не может
- по всей вероятности, с RX02 машина не работает также и поэтому (просто где-то NOP встретился)
Было предположено, что, вероятно, деградировали ПЗУшки с микрокодом. Возможно, были сломаны еще какие-нибудь команды, проверка заглохла. XXDP загрузить тогда так и не получилось. Были считаны почти все прошивки с микрокодом. Нашлись отличия в одной из прошивок в сравнении с фирменной документацией PDP-11/04. (Корректная версия - та, что считана.)
Но к счастью, прошел прогон тестов Maindec GKAA. GKAB показал сбой тестов прерываний. Тесты помогли найти обрыв дорожки, уютно замаскировавшийся под одной из деталей. Ура, всё заработало!
UniBone
Для машины была заказана и собрана плата UniBone, которая может работать “эмулятором всего” на UNIBUS (вплоть до процессора, памяти и COM-порта). “Сердцем” UniBone является плата BeagleBone Black под Linux, процессор которой (TI Sitara) успевает обрабатывать шину UNIBUS. В настоящее время UniBone работает в режиме только контроллера жестких дисков RL02/RL11 (драйвер DL:), что позволяет иметь довольно много места и доступ к большому количеству программного обеспечения одновременно. Все остальное в машине “родное” - процессор, память, последовательный порт, контроллер флопика.
Особенности процессора
Процессор KD11-D PDP11/04 поддерживает минимальный набор команд PDP-11. Он не поддерживает даже некоторые “стандартные” команды, которые есть, например, в “Электроника-60” (в частности, команды SOB, MTPS и т.д.) Поэтому многие программы вылетают по TRAP TO 10 (отсутствующая команда), например, знаменитый TETRIS Пажитнова.
К счастью, для RT-11 написан драйвер EM.SYS, который перехватывает вектор 10 и эмулирует недостающие команды (хотя и медленно) и программы работают.
Дополнительное чтение
Восстановление PDP 11/04 подобная машина
Prototyping board for DEC systems including the PDP-11, PDP-8, and more
Подобные PDP-11 разъемы для шин UNIBUS (и Q-Bus) с шагом 1/8 дюйма также используются для машины DEC PDP-8 и шины OMNIBUS, но там они ОДНОСТОРОННИЕ. Поэтому у любителей PDP-8 аналогичные проблемы с разъемами.