Доступный PDP-11

Часть 1

Posted by Unik on 27.12.2016

После всяких эмуляторов захотелось мне заполучить реальный PDP-11 компьютер, хотя бы самый простой из них. Так как версию от DEC сложно найти, да и стоить будет дороговато, то выбирать приходится из советских клонов. Проще всего приобрести УКНЦ + КМД, а если повезет, то еще и КНЖМД к нему. Это будет самый дешевый вариант и самый удобный. Я всё это купил, но через некоторое время захотелось большего, что бы было ближе к оригиналу. И больше всего на эту роль подходит ДВК(почти аналог PDP-11/03), можно купить сразу готовый, но дорого или собрать из комплектующих самому. Я решил собрать сам.

Поиск комплектующих

Для сборки компьютера понадобится:

  • Плата вычислителя МС1201
  • Корзина
  • Контроллер КНГМД
  • Блок питания ATX

Есть три места где всё это можно найти:
http://phantom.sannata.ru/forum/
http://market.zx-pk.ru
https://www.avito.ru

Платы вычислителя бывают разные:

  • МС1201.01
  • МС1201.02
  • МС1201.03
  • МС1201.04

чем выше последняя цифра, тем лучше. Отличаются они в основном процессором и размером ОЗУ. Легче всего найти МС1201.02 По сути эта плата и есть весь компьютер и её можно запустить без всего остального из списка, но пользоваться будет не удобно. Поэтому лучше всего приобрести дополнительно хотя бы корзину. Так же она нужна для установки дополнительных плат. Контроллер КНГМД нужен для подключения дисководов, без них работа за компьютером становится значительно медленнее.

После всех покупок вот как это выглядело у меня:

Как только всё будет приобретено, то останется всё это запустить, о чём я и расскажу ниже.

Перемычки

В описании буду говорить про плату МС1201.02 с другими платами процесс может отличаться.

На плате есть три блока перемычек с помощью которых она и настраивается: SA1, SA2 и SA3. SA3 настраивать не нужно, они должны быть разомкнуты. А вот SA1 и SA2 нужно настроить. SA1.1-SA1.3 отвечают за режим запуска платы вычислителя. Для выхода в пульт должны быть 101 или 100, для выхода на резидентный тест 111.

Описание каждой перемычки есть в руководстве к плате

Для запуска нужно установить их так:
SA1: 1 0 0 1 0 0 0 0
SA2: 1 0 0 0 1 0 1 0

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

Питание и сигналы

После настройки платы, нужно разобраться с её питанием и тут всё не так просто...
Берём обычный блок питания ATX, причём напряжение по линии 5В должно быть в рамках +4.90...5.20 вольт при токе нагрузки около 3А. Нужный ток выдают все ATX БП, а вот напряжения лучше замерить. Я использовал БП на 450Вт. Отрезаем у него коннектор 24pin и подключаем питание в соответствии с распиновкой на корзине:

12V,5V,5V,GND,GND,-12V

Понадобится распиновка ATX, вот она:

Но этого не достаточно для запуска платы. Чтобы запустить плату нужно подать два сигнала BDCOK и BPOK. В разных описаниях они называются по разному и вот их соответствие:

ACLO (ПИТН, АСП) - "AC low" (в LSI-11 этому сигналу соответствует BPOK) на корзине это контакт ГА2

DCLO (ПОСТН, АИП) - "DC low" (в LSI-11 этому сигналу соответствует BDCOK) на корзине это контакт ГА1

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


на входе нужно подать 5В, PowerGood и землю и на выходе как раз будут сигналы BDCOK и BPOK которые нужно подключить к контактам на корзине ГА2 и ГА1. Для этого понадобится схема корзины которую можно взять тут.

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

Итак для автоматического запуска понадобится:

  • БП ATX
  • микросхема К555ЛН2 - 1 шт(или К155ЛН2, 74LS05N)
  • Резистор 680 Ом - 5 шт
  • Конденсатор 470 мкФ - 1 шт
  • Светодиод - 2 шт(лучше разных цветов)

Если эта схема покажется сложной, то есть еще один вариант запуска платы. Понадобятся два тумблера, замыкающие BDCOK и BPOK на землю, и подтянутые к питанию резисторами 2 кОм. Перед подачей питания включаем оба на замыкание, чтобы на BDCOK и BPOK были низкие уровни. Затем размыкаем сначала BDCOK, и через несколько секунд BPOK.

Вот как на схеме:

Для запуска тумблерами понадобится:

  • БП ATX
  • Тумблер - 2 шт
  • Резистор 2К - 2шт

После правильного запуска должен загореться светодиод на плате МС1201, что означает идущий обмен по шине.

Таймер

Для правильной работы часов в ОС и некоторых программ понадобится включить таймер. 50 Гц нужной скважности специально с таймерными целями идет на контакт корзины БА7. Чтобы включить таймер нужно всего лишь замкнуть контакты БА7 и БА14(сигнал BEVNT) на корзине. Лучше всего тумблером.

Я нашел панельку от родного блока питания БПС6-1 и установил её как на фото:

Подключить её можно легко, перерезав дорожки от тумблеров и светодиодов и сделав так:

  • Первый тумблер замыкает у БП "PS-On" на землю.
  • Второй стоит в разрыв "PG" который идет на плату запуска. На этой плате есть два светодиода которые подключены "Питание" и к "Работа"
  • Третий тумблер замыкает БА7 и БА14 чтобы таймер включать.

Плату подачи сигналов засунул внутрь БП и в итоге получил БП не хуже чем БПС6-1.

Подключение к терминалу

Теперь когда компьютер запускается, нужно подключить его к терминалу. Так как терминала у нас нет, то будем использовать эмулятор терминала VT52 с помощью которого можно даже загружать RT-11 и создать дискету формата MX, но об этом позже. Эмулятор терминала можно скачать здесь.

Для подключения к эмулятору VT52 нужно изготовить переходник с порта системного терминала МС1201(токовая петля) на порт RS-232(COM порт). Порт системного терминала это 8 контактный разъем на плате МС1201 со следующей нумерацией контактов:
1357
2468
распиновка этих контактов различается в зависимости от платы и поэтому её обязательно нужно посмотреть по схеме.

Вот схема переходника по которой собрано у меня и всё отлично работает:

Для переходника CL20mA в RS232 понадобиться:

  • Резистор 2К - 2шт
  • Диод КД212 - 2шт
  • Транзистор КТ3107К -1 шт
  • Провод
  • Разъем DB9 female + корпус - 1 шт
  • Разъем СНО53-8Р (http://www.chipdip.ru/product1/8142270831/)

Вместо СНО53-8Р можно использовать штекер от планки COM порта там на два контакта больше, но я их спилил напильником и отлично подходит. Вот как на фото:

После сборки переходника настраиваем эмулятор VT52. В файле "Terminal_ComPort_Adapter.ini" задаются настройки COM порта. Нужно указать вот такие:

[Main]
BaudRate = CBR_9600
Parity = NOPARITY
StopBits = TWOSTOPBITS
ByteSize = 8
fRtsControl = RTS_CONTROL_DISABLE
fDtrControl = DTR_CONTROL_ENABLE
fOutxCtsFlow = FALSE
fOutxDsrFlow = FALSE
fParity=FALSE
fDsrSensitivity=FALSE
fTXContinueOnXoff=FALSE
fOutX=FALSE
fInX=FALSE
fErrorChar=FALSE
fNull=FALSE
fAbortOnError=FALSE
XonLim=512
XoffLim=512
XonChar=021
XoffChar=023
ErrorChar=0

а в файле "HX_COM.cfg" указываем правильный номер COM порта. Затем подключаем переходник при выключенных обоих компьютерах, запускаем эмулятор и включаем плату MC1201. Если всё было сделано правильно, то на экране появятся 6 цифр и приглашение пульта "@". Затем можно запустить встроенный тест, набрав команду "T0".

Если у вас всё получилось, то поздравляю!
Основная работа проделана и уже сейчас можно загружать компьютер через HX просто нажав на кнопку в эмуляторе "BOOT HX0"

Во второй части статьи я опишу подключение дисковода к контроллеру КНГМД и создание MX дискеты через HX.