====== DEC PDP-11/04 ====== Мини-компьютер фирмы DEC [[https://gunkies.org/wiki/PDP-11/04|PDP-11/04]] на выставке. Состав: * KD11-D ([[https://gunkies.org/wiki/KD11-D_CPU|M7263]]) Процессор * MS11 ([[https://gunkies.org/wiki/MS11_32KB_MOS_memory|M7847]]) * 2 шт. память на полупроводниках по 8 килослов каждая * [[https://gunkies.org/wiki/M9302_UNIBUS_terminator|M9302]] ([[http://www.bitsavers.org/pdf/dec/unibus/M9302_RevD_Engineering_Drawings_Jul77.pdf|схема]]) терминатор UNIBUS "нижний" и SACK Turnaround, только у нашего плата половинной длины * [[http://www.bitsavers.org/pdf/dec/unibus/M9312_TechRef.pdf|M9312]] ([[http://www.bitsavers.org/pdf/dec/unibus/MP00617_M9312.pdf|схема]]) загрузочная плата + терминатор UNIBUS "верхний" * [[http://www.bitsavers.org/pdf/dec/unibus/EK-DL11W-OP-001_May77.pdf|DL11-W]] ([[http://gunkies.org/wiki/DL11-W_serial_line_unit/real-time_clock_option|M7856]]) ([[http://www.bitsavers.org/pdf/dec/unibus/MP00106_DL11-W_Aug77.pdf|схема]]) последовательный интерфейс * [[https://www.pdp-11.nl/peripherals/disk/rx-info.html|RX211]] (M8256) контроллер гибкого диска * [[https://gunkies.org/wiki/BA11-L_mounting_box|BA11-L]] - Корпус "тонкий" и корзина UNIBUS DD11-D * [[https://gunkies.org/wiki/KY11-LA_Operator%27s_Console|KY11-LA]] - "простая" "консоль оператора", т.е. без отладчика. * [[https://gunkies.org/wiki/H777_Power_Supply|H777]] - Блок питания "европейский" Также имеется дисковод RX02. {{:pdp11-04_front.jpg?direct&200|}} {{:pdp11-04_open.jpg?direct&200|}} . === Краткая история ремонта === Хотите разорить страну - подарите ей крейсер. :-) PDP-11 с неисправностями для любителя - примерно то же самое. После ревизии БП машинка запустилась и выдала приглашение ODT (точнее, оно там называется по-другому, но суть та же). Первый успех закончился обломом, т.к. после загрузки через последовательный порт и [[https://zx-pk.ru/threads/20683-protokol-hx-imitatsiya-blochnogo-ustrojstva-s-posledovatelnym-interfejsom.html|HX-эмулятор]], машина стала вываливаться в TRAP TO 4. При снятии одного банка памяти RT-11 таки грузился. Дисковод удалось отреставрировать, он теперь включается и жужжит как настоящий, но с диска не грузится. Итого две неисправности - плата ОЗУ и что-то с диском. Небольшое отступление в сторону. Чтобы ремонтировать машины с такой компоновкой, нужны обязательно удлинительные платы. Для советских ЭВМ Э-60 и ДВК они не являются редкостью и без проблем находятся или одалживаются. Для оригинальных корзин PDP что QBus что UNIBUS их тупо нет и негде взять. А без них до платы не добраться! И остается только аналитический метод - смотрим на плату и думаем что бы это могло быть. Итак, встала задача такие платы раздобыть. С этим помогла вот эта [[http://retrocmp.com/tools/dec-flip-chip-extenders|ссылочка]] с герберами плат-удлинителей (в самом низу) Платы заказали в Китае. Пытались заказать у нас, но я не понимаю этот сервис - нужно отправить по почте заполненную в экселе форму, подождать три недели и получить ответ, что платы не подходят по таким-то параметрам. Это те кто ответил - с десяток объявлений на авито морозились, и еще столько же фирм из инета требовали заполнять кучу персональных данных чтобы сказать "мы вам перезвоним". В Китае заказалось за три клика - сразу посчиталась цена по герберу, доставка, пять дней продукция и две недели почта. К плате нужны разъемы. Разъемы, точно соответствующие DEC с шагом 0.125" (1/8") - это невероятный дефицит. Например, они очень похожи, но НЕСОВМЕСТИМЫ с советскими разъемами РППМ [[https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81|МПИ]]. У наших - метрический шаг, у DEC - дюймовый. Что самое опасное - плата входит в неподходящий под нее разъем, естественно со смещением дорожек и последующим замыканием (я так не делал, просто предупреждаю). Подобные зарубежные дюймовые разъемы с шагом 1/8, конечно, встречаются, но у них все время что-то не так, то число выводов не то, то края плат DEC не доходят до края разъемов и т.д. все время что-то не так. Однако же, ищущий обрящет - вот практически совместимые разъемы: [[https://mouser.com/ProductDetail/587-346-080-540-802|Part number: EDAC 346-080-540-802]] Цена у них не из дешевых, но выбора нет. И что характерно, эта фирма из Америки имела представительство в России и включала почту и таможню в стоимость. Спустя каких-то две недели курьер привез разъемы. Есть еще один вариант - [[https://www.douglaspcb.com/|Douglas Electronics Inc.]] там же есть и разъемы отдельно и можно заказать плату с разъемами, но доставка там получается что-то в районе $200, что множит затею на ноль. Немного погодя нашелся намного более дешовый вариант : [[https://aliexpress.ru/item/4001280393243.html?sku_id=10000015587438510|на Aliexpress]]: разъемы производства компании Wing Tat: [[https://www.wingtat-hk.com/en/product/MSD80MEP03BK.html|3.175mm EDGE SLOT MOUNTING EARS180°]] . В такой разъем на 80 пин вставляется плата DEC, но не совсем, немного ёрзает по краям и разъем мелковат в глубину. Была даже предпринята попытка распилить разъем с развандаленной корзины UNIBUS на части с помощью алмазного диска для плитки. Оригинальный разъем является монолитом, в котором 3-4 разъема (в зависимости от высоты корзины) выполнены единым блоком. Ничего из этого не вышло, кроме тончайшей едкой пыли от бакелита - нужна нормальная оснастка. Попутно по городу были опрошены основные сервисы лазерной резки - ни один не взялся, сказали что у лазеров небольшая глубина резки и широкий конус, и что бакелит скорее всего закипит. Короче, "отцепись дядя". Еще были отправлены письма во все найденные refurbished DEC parts services в Европе и Америке. Те что ответили, за платы DEC W984A W987A (так называются 2- и 4-удлинители) - просили $400 за одну плату. Также были попытки купить плату на eBay (как оказалось у автора сайта [[http://retrocmp.com/|retrocmp.com]] по имени Joerg). Плата была совмещена с простым логическим анализатором на диодиках, и аукцион ушел куда-то в космос, от покупки пришлось отказаться. Пока все это мучительно обреталось, коллега занимающийся ремонтом продвинулся: * RX02 подключенный к Э-60 через И-4 и выставленный в режим DX успешно прочел дискету и записал, а также загрузил ФОДОС с дискет от ГМД-7012. То есть мы почти исключили неисправность дисковода. * С помощью утилиты [[http://retrocmp.com/tools/pdp11gui|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 === Для машины была заказана и собрана плата [[http://retrocmp.com/projects/unibone|UniBone]], которая может работать "эмулятором всего" на UNIBUS (вплоть до процессора, памяти и COM-порта). "Сердцем" UniBone является плата [[https://beagleboard.org/black|BeagleBone Black]] под Linux, процессор которой ([[https://en.wikipedia.org/wiki/Sitara_ARM_processor|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 и эмулирует недостающие команды (хотя и медленно) и программы работают. === Дополнительное чтение === [[https://habr.com/ru/articles/243551/|Восстановление PDP 11/04]] подобная машина [[https://www.tindie.com/products/glitchwrks/gw-dec-1-prototyping-board-for-pdp-11-pdp-8-etc/|Prototyping board for DEC systems including the PDP-11, PDP-8, and more]] [[http://users.glitchwrks.com/~glitch/2017/04/25/installing-dec-handles|Держалки для плат DEC]] Подобные PDP-11 разъемы для шин UNIBUS (и Q-Bus) с шагом 1/8 дюйма также используются для машины DEC PDP-8 и шины OMNIBUS, но там они ОДНОСТОРОННИЕ. Поэтому у любителей PDP-8 аналогичные проблемы с разъемами.