Восставший из гаража
Весной 1984 года в лаборатории — «Программное обеспечение персональных ЭВМ» ВЦ АН СССР прошел апгрейд (конечно, это слово тогда в русском языке отсутствовало) закупленных еще в конце 1981 года компьютеров IBM PC. Да, да, IBM PC появились в СССР одновременно с их появлением на Западе. Начальник лаборатории, Виктор Михайлович Брябрин, осчастливил меня двумя 5-дюймовыми флоппи дисководами на 160 кБайт каждый и платой контроллера флоппи дисков на шину ISA-8.
Сразу появилась мечта — собрать свой клон IBM PC. Мечта в то время оказалась недостижимой. В основном, конечно, из-за недоступности элементной базы, хотя информация об архитектуре, схемотехнике и BIOS уже была известна.
Разрабатывать новый компьютер я решил на базе микропроцессорного комплекта К580 с максимальным использованием всех входящих в него микросхем и с операционной системой CP/M 2.2. К этому времени у меня дома 3 года трудился «Микро-80» с телевизором «Юность-401», самодельной клавиатурой и с кассетным магнитофоном. Манипуляции с кассетами уже изрядно нервировали.
В том же 1984 году мне удалось всеми правдами и неправдами заполучить списанный неисправный «Фрязинский дисплей» — Электроника 15ИЭ-00–013. Я его благополучно починил и он должен был стать терминалом компьютера. Дисплей был частично совместим с терминалом VT52 и имел интерфейс Стык С2 — аналог RS-232.
Итак, было решено максимально повторить архитектуру материнской платы IBM PC, но на 8-разрядном микропроцессоре. В компьютере были применены:
— КР580ГФ24 — тактовый генератор
— КР580ВК28 — системный контроллер
— КР580ИК51 — последовательный интерфейс
— КР580ВИ53 — программируемый таймер
— КР580ИК55 — параллельный интерфейс
— КР580ИК57 — контроллер прямого доступа к памяти
— КР580ВН59 — контроллер прерываний
— КР580ИК80А — микропроцессор
— К573РФ2 — ПЗУ 2 килобайта
— К565РУ5 — ОЗУ 64 килобайта
— К589ИР12 — буферные регистры
— К589АП16 — шинные формирователи
— К170АП2, К170УП2 — приемник и передатчик интерфейса RS-232
— К155, К555 — логика
Компьютер должен был иметь шину ISA-8, но лишь с 16 линиями адреса. Контроллер флоппи родной от IBM-PC. Повторить его не представлялось возможным — отечественный аналог I8272 к сожалению отсутствовал. Кроме того, в компьютере должен был быть интерфейс к кассетному магнитофону (впрочем, как и в первых IBM PC) для обмена информацией с Микро-80 и имеющейся на работе системой (Микро-80 + сдвоенный 8-дюймовый дисковод + CP/M 2.2 + интерфейс к кассетному магнитофону).
Компьютер создавался для себя, изготовлен в одном экземпляре, информация о нем ранее нигде не публиковалась и не имел имени… Именем пришлось пожертвовать, так как в двухкилобайтном ПЗУ каждый байт был на вес золота. Условно я его называл «Микро-84». По этой причине при включении на экран выдавалось только самое аскетичное приглашение:
>
В ПЗУ располагалась программа-монитор, загрузчик операционной системы и некий функциональный аналог BIOS IBM. Помню, что пришлось изрядно потрудиться, чтобы разместить все это в 2-х килобайтах.
Монитор был написан на ассемблере. Он позволял просмотреть и модифицировать содержимое ячеек памяти, заполнять ячейки памяти константой в заданном диапазоне адресов, запускать программы с произвольного адреса, записывать и считывать с магнитофона содержимое блоков памяти и запускать загрузчик операционной системы. Была реализована обработка прерываний от системного таймера и системное время. Для внешних программ были системные вызовы — вывод символа на экран, проверка нажатия клавиши, ввод символа с клавиатуры, ввод и вывод байта на магнитофон и чтение и запись сектора на диск.
Кстати, о дисках. 5-дюймовые дискеты были почти не доступны, впрочем, как и 8-дюймовые. Поэтому, было большое желание увеличить объем информации хранящихся на них. Напомню, что первые дискеты IBM PC хранили только 160 Кбайт на одной стороне. Экспериментально я обнаружил, что на дорожку дискеты (всего их было 40) можно записать не 8, а 9 секторов по 512 байт на сектор. Это дало прирост емкости на 20 кбайт! Кроме того, если сделать еще один вырез в конверте дискеты, то можно использовать и вторую сторону дискеты, просто перевернув ее. Таким образом, на одну дискету помещалось уже 360 кбайт! В IBM PC/XT такая разметка стала стандартной.
Безымянный компьютер с псевдонимом «Микро-84» бесперебойно трудился у меня дома 5 лет. За это время, с помощью программы «WordStar 3.0» на нем были написаны:
— диссертация — 1 штука
— много штук статей
— книги 3 штуки
Было разработано множество программ на ассемблере, Бейсике, Паскале, С, Forth, кросс-ассемблере-86, кросс-ассемблере I-8051.
Весь компьютер собран на одной макетной плате, на которой было оставлено место для предполагаемого, но так и не реализованного RAM-диска. Микросхемы памяти К565РУ5 были большим дефицитом и в основном существовали в виде половинок (32Кбит) и четвертушек (16Кбит). Мне так и не удалось набрать еще хотя бы 64Кбайта. Драйвер электронного диска для CP/M 2.2 был написан, опробован, но в данном компьютере не понадобился.
Монтаж велся неким доставшимся по случаю тонким проводом в эмалевой изоляции, который легко лудился при нагревании паяльником. Очень удобно, но тут была и опасность случайно нарушить ее и получить контакт там, где он не нужен (КЗ). Соединение с платой контроллера дисководов, который установлен вертикально, сделано шлейфом.
На задней панели есть разъемы для магнитофона, терминала (такой же круглый, как и для магнитофона) и разъем параллельного интерфейса. Когда у меня появился матричный принтер (в 1985 году) был написан загружаемый драйвер для интерфейса CENTRONICS. Шестиугольное отверстие, через которое видны «потроха» платы контроллера дисководов, предназначалось для весьма шумного вентилятора. Вентилятор был снят, подарен отцу, из которого он сделан оконную вытяжку. Тоже до сих пор работает!
На передней панели в верхней части раньше была декоративная накладка, придающая компьютеру законченный вид. Потерялась, не нашел. Там же, была выведена одинокая кнопка «RESET», которая сейчас просто болтается на проводах. Выключатель питания отсутствует. Включать-выключать просто вилкой питания. Корпус — это шедевр! При его изготовлении было просверлено 1176 отверстий! Хорошо не сам. На станке сверлили. До сих пор не пойму — зачем мне это было нужно…
И вот, через 27 лет забвения и спустя 32 года после рождения компьютер был принесен домой, кое-как очищен от пыли и передо мной встал извечный вопрос — «Включать или не включать?». Блок питания на 4 напряжения — +5Вольт, -5Вольт, +12Вольт и -12Вольт внушал большие опасения. Все электролиты изрядно подсохли, нет уверенности, что при перемещениях ничего не оторвалось и не закоротило. И я рискнул!
Терминал 15ИЭ-00–013 уже давно был выброшен и, наверное, многократно переплавлен во всякие полезные вещи (ну очень он был тяжелый, весь такой металлический). Ирония прогресса — в качестве терминала я использовал домашний компьютер с 8-ядерным процессором 4,3 ГГц, 16 Гбайтами RAM и с несколькими терабайтами дисковой памяти. Пусть, прочувствует, что такое настоящая работа! СОМ-порты уже анахронизм, поэтому использовал конвертор USB-COM. В качестве терминальной программы — Procomm terminal emulator Lite.
Чудо произошло! Дисковод раскрутился — проверяя наличие дискеты, а терминал отобразил некую крякозябру! Вроде я помнил, что по умолчанию у меня была выставлена в мониторе скорость обмена 19200 бит/сек. Но оказалось это не так. Терминал 15ИЭ-00–013 максимально работал на 9600. Изменив в настройках терминалки скорость и указав наличие 2-х стоповых битов получил односимвольный привет из далекого прошлого:
>
Понажимал на кнопки, вспоминая что там у меня за команды были реализованы. По команде «R» — загрузка ДОС произошло обращение к дисководу, загорелся красный светодиод, раскрутился шпиндель. На экран несколько раз было выдано лаконичное сообщение –
#5#5#5#5#5
Не помню точно, но, кажется, это у меня было сообщение об ошибке — отсутствие дискеты в дисководе. Бросился искать 5-дюймовую системную дискету. У меня хранится их некоторое количество. Но тщетно… Все дискеты оказались либо в формате IBM PC либо не содержали образ CP/M 2.2 Компьютер выдавал сообщение (не системная дискета) –
#F#F#F#F#F
Не теряю надежду, может еще найдется системная дискета. Во всяком случае, все доступно в интернете. Правда придется опять написать новый BDOS и BIOS для CP/M 2.2. Может когда закончу работать…
Вот такое свидание с уникальным, в истинном смысле этого слова, старым, но бодрым компьютером. Главное, что живой!