Когда я искал принтер МС 6312 , то очень хотел вариант именно в черном корпусе. Удалось найти лишь одно такое объявление. Владелец продавал принтер вместе с двумя компьютерами БК-0010-01 и отказывался делить лот. Я почитал про этот компьютер и посмотрел цены. За вычетом стоимости МС 6312 выходило порядка 8000 рублей (~100$) за два компьютера. Судя по другим объявлениям, это очень дешево. Так помимо принтера у меня появилась парочка БК-0010-01.
Теория
Компьютеры Электроника БК-0010 производились с 1985-го по 1993-ий годы. Главные конструкторы — Александр Полосин и Сергей Косенков. Аббревиатура «БК» расшифровывается как «бытовой компьютер», и это вполне отражает суть устройства. А суть здесь та же, что у ZX Spectrum , но выполненная на другой элементной базе и с другими компромиссами.
Технические характеристики:
- Процессор К1801ВМ1 , 16-и битный, с набором инструкций PDP-11 . Здесь работает на частоте либо 3 МГц, либо 4 МГц, в зависимости от модификации устройства. Может адресовать 64 КБ адресного пространства;
- Оперативной памяти изначально 32 Кб. Из них 16 Кб отведены под видеопамять, еще 512 байт — под стек и системные регистры. При этом в видеопамяти допускается размещать исполняемый код. Кроме того, предусмотрен режим, в котором коду доступно 28 Кб памяти без вывода мусора на экран. Позднее объем памяти был увеличен до 128 Кб;
- Постоянной памяти: 32 Кб. Здесь хранится интерпретатор BASIC, код простейшей ОС (так называемый «монитор»), и так далее;
- Разрешение 256 x 256 точек, четыре цвета без клэшинга . Располагая пиксели разных цветов в шахматном порядке можно создать иллюзию дополнительных цветов. Красный плюс зеленый дают желтый, синий плюс зеленый дают бирюзовый, и так далее. В первых моделях цвета были фиксированы: черный, красный, зеленый, синий. В более поздних моделях появилось несколько палитр на выбор. Имеется аппаратный вертикальный скроллинг;
- Предусмотрен отдельный разъем для подключения черно-белого телевизора. На него идет композитный видо-сигнал , тогда как на цветной разъем идет цифровой сигнал. Пара бит, кодирующая цвет одного пикселя для цветного разъема, для черно-белого разъема кодирует цвет двух соседних пикселей. Как результат, разрешение по горизонтали увеличивается в два раза, и получаем 512 x 256 точек. Несмотря на все это, технически у БК нет разных видеорежимов;
- Звук: встроенный бипер. В качестве отдельного аксессуара существует приставка «Менестрель» на базе пары чипов КР580ВИ53 . Должна звучать сопоставимо с AY-3-8912A, только в наши дни ее крайне трудно найти. Также популярным выбором является Covox ;
- Клавиатура либо механическая, либо мембранная, в зависимости от модификации. Поддерживается русская и английская раскладки, с заглавными и строчными буквами. Английская раскладка JCUKEN, что не необычно для 80-х. Характерно, что компьютер не умеет обрабатывать одновременное нажатие нескольких клавиш, если не считать модификаторы вроде SHIFT. В спектрумах это работает. Зато у БК есть нормальная крестовина, а также BACKSPACE находится в правильном месте. Одновременные нажатия работают на джойстике;
Существуют разные модификации БК-0010. Вот основные:
- БК-0010 — первая версия с тактовой частотой 3 МГц, мембранной клавиатурой и встроенным интерпретатором языка FOCAL . Рядом с клавиатурой имеется выдвижная крышка, открывающая доступ к панелькам ПЗУ. Можно вставить тестовую ПЗУ, не разбирая корпус. Первые версии имели выход только с черно-белым видео-сигналом. RGB был добавлен позднее. В наши дни эта модель представляет малый интерес;
- БК-0010-01 — улучшенная версия с механической клавиатурой МС 7008 и интерпретатором языка BASIC. Крышка для доступка к ПЗУ была убрана. Наиболее распространенная и востребованная модель;
- БК-0011 — была быстро снята с производства в связи с найденными ошибками. Исправленная версия получила имя БК-0011M;
- БК-0011M — тактовая частота увеличена до 4 МГц, количество ОЗУ — до 128 Кб, используется страничная адресация. Доступно 16 цветовых палитр , но палитры нельзя считать уникальными. Так 5-ая палитра черно-белая, но черный и белый цвета есть и в других палитрах. Новая клавиатура МС 7008.01 стала мягче по сравнению с предыдущей версией. В стандартной поставке шел контроллер дисковода, КНГМД. Вернулась крышка для доступка к ПЗУ. БК-0011M стоит дороже БК-0010-01 и встречается существенно реже;
Список не включает в себя экзотику вроде вариантов для школьных классов. Программы, написанные для БК-0010(-01) без изменений работают на БК-0011M.
Представленная информация отражает усредненную картину. БК-0011М иногда встречаются с жесткой клавиатурой. Поздние ревизии БК-0010-01 могли идти с мягкой, а также комплектоваться контроллером дисковода. Мягкую клавиатуру можно определить внешне по наличию выступов на клавишах крестовины. Также встречаются БК-0010-01 с корпусом от БК-0010. Компьютер имеет крышку для доступа к ПЗУ, но отверстие под крышкой заделано. В общем, вариаций масса.
Согласно Википедии, было выпущено ~162 тысячи БК-шек разных модификаций. Это делает устройство в 30 раз более редким по сравнению с ZX Spectrum, без учета ZX-совместимых машин. Впрочем, насколько достоверна информация из Википедии — вопрос дискуссионный.
Практика: железная часть
Из двух БК-0010-01 один имел поврежденную клавиатуру, о чем продавец меня заранее предупредил. Неизвестно, как так вышло, но клавиша пробела была сломана пополам. Поэтому я решил начать со второго экземпляра. Он включился, но после нескольких минут работы начал выводить мусор. Быстро решить данную проблему мне не удалось. В итоге второй компьютер был использован, как донор клавиатуры для первого. Дальнейший мой рассказ будет о первом компьютере.
Так он выглядит с замененной клавиатурой:
От компьютера мне досталась только «доска». Никаких кабелей, аксессуаров или кассет в комплекте не было. Этот экземпляр, согласно шильдику, произведен в сентябре 1991-го года. Указанная цена — 750 советских рублей. Интересно, что МС 6312 в те же годы стоил 1500 рублей.
А вот что находится внутри:
Клавиатура соединяется с основной платой при помощи пары DIP-панелек. С ними нужно быть предельно осторожным. Пины мягкие, легко гнуться и их немудрено сломать.
Компьютер состоит из 45-и интегральных схем:
- КР1801ВМ1, на радиаторе — 16-и битный процессор;
- 16 x КР565РУ6 — 2 Кб динамической памяти, всего 32 Кб;
- 4 x КР1801РЕ2 — 8 Кб ПЗУ, суммарно также 32 Кб;
- 2 x КР1801ВП1 — пара базовых матричных кристалов (БМК), или ULA. Содержит около 600 логических вентилей. Тот, что с маркировкой 014, является контроллером клавиатуры, а с маркировкой 037 является контроллером дисплея и отвечает за регенерацию ОЗУ;
- 6 x К589ИР12 — 8-и разрядные регистры. Из них четыре реализуют порт ввода-вывода, а еще два хранят промежуточные данные между КР1801ВП1-037 и ОЗУ;
- 2 x К555ЛН1 — 6 логических вентилей НЕ, аналог 74LS04. Один из чипов используется с схеме кварцевого генератора на 12 МГц. Эта частота делится на 2 для получения 6 МГц, которые подаются на контроллер ОЗУ и дисплея. Затем частота делится еще раз на 2 для получения тактовой частоты процессора 3 МГц;
- 2 x К155ИР13 — восьмиразрядный сдвиговый регистр. Преобразует содержимого видеопамяти в последовательный растровый код;
- КР531ТВ9А — двойной JK-триггер, аналог 74S112. Здесь используется для деления частоты генератора;
- К155ЛЕ5 — 4 логических вентиля ИЛИ-НЕ, аналог 7428. Обеспечивает подачу правильных сигналов в правильном порядке на входы DCLO и ACLO процессора после включения устройства;
- 2 x К155ТМ2 — пара D-триггеров в корпусе DIP14, аналог 7474;
- 2 x 155ИР1 — четырехразрядный сдвиговый регистр. Является компонентом военной приемки, судя по ромбу;
- КР531АП2 — четырехканальный шинный переключатель;
- К155ЛН3 — 6 логических вентилей НЕ, аналог 7406;
- К561ЛЕ5 — 4 логических вентиля ИЛИ-НЕ, аналог 4001;
- К155ЛА13 — 4 логических вентиля И-НЕ, аналог 7438;
- К155ЛА3 — 4 логических вентиля И-НЕ, аналог 7400;
- К561ПУ4 — 6 преобразователей уровня, аналог 4050;
Этот экземпляр хорошо сохранился как снаружи, так и в внутри. Заводская пломба была на месте, значит до меня его даже не вскрывали. Единственный дефект заключался в разбитой клавиатуре. Клавиатура с донора имела все клавиши, но, тем не менее, нуждалась в обслуживании. При нажатии клавиши скрипели и часто заедали.
Разобрать клавиатуру заняло уйму времени. Клавиши снимались с таким трудом, что я засомневался, а разбирается ли вообще данная клавиатура. Приходилось аккуратно подталкивать их вверх, используя жесткий спаджер в качестве рычага, а остаток пути проходить, теня клавишу вверх и слегка покачивая ее по и против часовой стрелки. На каждую клавишу уходило по несколько минут, всего же их в клавиатуре 74 штуки. Но если делать все неспеша и с перерывами, то процесс уверенно сходится. Чтобы снять пробел, сначала из под него нужно вытянуть металлическую скобу.
Под клавишами было много грязи. Она была убрана при помощи ушных палочек и изопропилового спирта. Контакты были почищены при помощи специального средства для чистки контактов и зубной щетки. Затем кнопки были смазаны маслом. Бывалые БК-шники порекомендовали использовать для этой цели силиконовое масло ПМС-200. Места крепления клавиш я тоже смазал, чтобы в следующий раз не приходилось так страдать. Сами клавиши оказались не слишком грязными. Они были почищены при помощи изопропилового спирта и возвращены на свои места.
Под клавиатурой был найден динамик. Похож на пьезоэлектрический. От платы клавиатуры динамик отделяет губка, которая от времени развалилась в труху. Труху я отмыл и закрепил динамик кусочком толстого двухстороннего скотча.
Электролитические конденсаторы заявлены как герметизированные (К53-14) и теоретически не требующие замены. Несколько штук были отпаяны и измерены вне схемы. Номиналы соответствовали маркировке. Было решено оставить их на месте.
Других восстановительных работ не требовалось. Даже корпус отмывать не пришлось. Я лишь слегка протер его от пыли.
Сзади компьютера расположено четыре гнезда СГ-5 (DIN-5) с подписями БП, ЦТВ, ТВ и МГ, а также две вилки СНП58-64 с подписями УП и МПИ. В первую очередь нас интересует разъем питания, БП. Его распиновка следующая:
Номера контактов подписаны прямо на разъеме. Но черное на черном плохо читается, поэтому сначала я их не заметил. Питание однополярное, 5 В 1.5 А.
К монитору компьютер может быть подключен через SCART. Видео-сигнал берется с разъемов ЦТВ и ТВ. Хватило бы и одного разъема, если бы у ЦТВ был еще один контакт с напряжением 5 В. Адаптер спаять не сложно. Вот схема , только 5 В лучше подавать через резистор на 220 Ом. Паять адаптер мне снова было лень. Поэтому я купил готовый там же, где покупал адаптер для спектрума.
Наконец, подключение к магнитофону осуществляется через разъем МГ. Контакты 2, 3 и 5 представляют собой землю, вход и выход соответственно.
Здесь самое главное — не перепутать разъемы. Они совершенно одинаковые. Если по ошибке подать напряжение питания на МГ, то ничем хорошим это не закончится.
Практика: программная часть
Компьютер включался и запускал интерпретатор BASIC. Ну что же, давайте напишем что-нибудь на BASIC , и заодно проверим работу с магнитофоном:
Здесь мной была написана некая программа и сохранена на ленту командой SAVE "HELLO"
. Далее код программы был удален из памяти командой DELETE
. Командой LIST
было перепроверено, что в памяти ничего не осталось. Затем программа была считана с ленты командой LOAD "HELLO"
. Видим, что программа работает, и что в памяти появился ее код. Делаем вывод, что по части BASIC и работы с магнитофоном компьютер исправен. В качестве магнитофона здесь использован винтажный National RQ-8100 .
Теперь загрузим программу посложнее. В качестве такой программы выбор пал на игру Сапер , написанную Алексеем Морозовым в 2012-м году. Характерно, что игра распространяется вместе с исходным кодом на ассемблере и авторским компилятором. Но в этот раз из архива нам понадобится только собранный .bin файл. Его нужно перевести в .wav при помощи либо онлайн , либо оффлайн ( первый , второй ) конвертера.
Программы, написанные на ассемблере, на БК-0010-01 загружаются не так, как программы на BASIC. Первым делом нужно выйти из интерпретатора BASIC в «монитор». Делается это командой MO
. Далее загрузка осуществляется так:
Картинка выглядит странно, и это нормально, так и должно быть. Дело в том, что «монитор» формирует изображение для черно-белого разъема. Мы же пытаемся вывести все это в цвете. Можно изменить способ формирования изображения одновременным нажатием АР2
и +
. Это сочетание понимает и BASIC, а также сторонний софт, написанный с использованием стандартных подпрограмм.
На приглашение ?
нужно ответить командой M
. В ответ на приглашение ИМЯ?
вводим имя загружаемой программы, bk0010_miner
. Знак подчеркивания на клавиатуре не подписан, можете его не искать. Он вводится одновременным нажатием твердого знака и SHIFT. SHIFT — это клавиша со стрелкой вниз слева от цифрового ряда. Если выбран верхний регистр, то SHIFT нажимать не нужно.
Далее втыкаем штекер 3.5 мм, соответствующий входу БК-0010-01, в гнездо устройства, которое будет проигрывать .wav файл . Запускаем воспроизведение. При успешной загрузке снова появится приглашение ?
, а также будет слышен негромкий щелчок реле внутри компьютера. Для запуска программы вводим S
.
Игра, как вы наверняка догадались, является портом Minesweeper :
Можно и не заметить, что здесь используется лишь четыре цвета. Все работает, а значит перед нами, скорее всего, исправный БК-0010-01.
Для выхода из игры на клавиатуре нужно нажать красную клавишу СТОП. При этом попадаем обратно в «монитор». Для возвращения в BASIC нужно ввести команду B
.
Заключение
Ссылки по теме:
- Zx-pk.ru , популярный русскоязычный форм о ретро-компьютерах;
- Telegram-группа , посвященная БК-0010(-01) и БК-0011M;
- R-Games.net , здесь был найден богатый архив игр и программ;
- Мануал [PDF] на БК-0010-01, а также схема устройства [PDF] ;
- Тред о ремонте БК-0010(-01)/БК-0011М со схемами и осциллограммами;
- Хороший обзор аксессуаров, существующих для БК-0010-01 ;
- Программирование под БК-0010 в 2019-ом году , потрясающая статья;
- Проект реверс-инженеринга советских микросхем серии 1801 ;
- Сканы книг, журналов, документации и так далее: раз , два , три ;
Субъективно, БК-0010-01 может служить неплохой альтернативой ZX Spectrum .
Использование 16-и битного процессора имеет свои преимущества. В одном регистре умещается больше данных. Можно напрямую оперировать 16-и битными числами, работать с памятью 16-и битными словами, и так далее. БК-0010-01 имеет разрешение 256 x 256, против 256 x 192 у ZX Spectrum. Цветов меньше, зато без клэшинга и с аппаратным скроллингом. Есть поддержка русского языка.
Компьютер доступен и недорог. Обучающих материалов полно. Сообщество энтузиастов большое. В целом, отличный вариант, если вас тянет пописать на ассемблере / BASIC или попаять что-то под компьютеры 80-х / 90-х годов.
Дополнение: В продолжение темы вас могут заинтересовать статьи Программируем на ассемблере под БК-0010-01 и Советский персональный компьютер Микроша .