Советский компьютер Электроника БК-0010-01

12 июня 2023

Когда я искал принтер МС 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, код простейшей ОС (так называемый «монитор»), и так далее;
  • Разрешение 256x256 точек, четыре цвета без клэшинга. Располагая пиксели разных цветов в шахматном порядке можно создать иллюзию дополнительных цветов. Красный плюс зеленый дают желтый, синий плюс зеленый дают бирюзовый, и так далее. В первых моделях цвета были фиксированы: черный, красный, зеленый, синий. В более поздних моделях появилось несколько палитр на выбор. Имеется аппаратный вертикальный скроллинг;
  • Предусмотрен отдельный разъем для подключения черно-белого телевизора. На него идет композитный видо-сигнал, тогда как на цветной разъем идет RGB сигнал. Пара бит, кодирующая цвет одного пикселя для цветного разъема, для черно-белого разъема кодирует цвет двух соседних пикселей. Как результат, разрешение по горизонтали увеличивается в два раза, и получаем 512x256 точек. Несмотря на все это, технически у БК нет разных видеорежимов;
  • Звук: встроенный бипер. В качестве отдельного аксессуара существует приставка «Менестрель» на базе пары чипов КР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 один имел поврежденную клавиатуру, о чем продавец меня заранее предупредил. Неизвестно, как так вышло, но клавиша пробела была сломана пополам. Поэтому я решил начать со второго экземпляра. Он включился, но после нескольких минут работы начал выводить мусор. Быстро решить данную проблему мне не удалось. В итоге второй компьютер был использован, как донор клавиатуры для первого. Дальнейший мой рассказ будет о первом компьютере.

Так он выглядит с замененной клавиатурой:

Советский персональный компьютер БК-0010-01

От компьютера мне досталась только «доска». Никаких кабелей, аксессуаров или кассет в комплекте не было. Этот экземпляр, согласно шильдику, произведен в сентябре 1991-го года. Указанная цена — 750 советских рублей. Интересно, что МС 6312 в те же годы стоил 1500 рублей.

А вот что находится внутри:

Плата компьютера БК-0010-01

Клавиатура соединяется с основной платой при помощи пары 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 с подписями УП и МПИ. В первую очередь нас интересует разъем питания, БП. Его распиновка следующая:

Распиновка разъема питания компьютера БК-0010-01

Номера контактов подписаны прямо на разъеме. Но черное на черном плохо читается, поэтому сначала я их не заметил. Питание однополярное, 5 В 1.5 А.

К монитору компьютер может быть подключен через SCART. Видео-сигнал берется с разъемов ЦТВ и ТВ. Хватило бы и одного разъема, если бы у ЦТВ был еще один контакт с напряжением 5 В. Адаптер спаять не сложно. Вот схема, только 5 В лучше подавать через резистор на 220 Ом. Паять адаптер мне снова было лень. Поэтому я купил готовый там же, где покупал адаптер для спектрума.

Наконец, подключение к магнитофону осуществляется через разъем МГ. Контакты 2, 3 и 5 представляют собой землю, вход и выход соответственно.

Здесь самое главное — не перепутать разъемы. Они совершенно одинаковые. Если по ошибке подать напряжение питания на МГ, то ничем хорошим это не закончится.

Практика: программная часть

Компьютер включался и запускал интерпретатор BASIC. Ну что же, давайте напишем что-нибудь на BASIC, и заодно проверим работу с магнитофоном:

Программа на BASIC для БК-0010-01

Здесь мной была написана некая программа и сохранена на ленту командой SAVE "HELLO". Далее код программы был удален из памяти командой DELETE. Командой LIST было перепроверено, что в памяти ничего не осталось. Затем программа была считана с ленты командой LOAD "HELLO". Видим, что программа работает, и что в памяти появился ее код. Делаем вывод, что по части BASIC и работы с магнитофоном компьютер исправен. В качестве магнитофона здесь использован винтажный National RQ-8100.

Теперь загрузим программу посложнее. В качестве такой программы выбор пал на игру Сапер, написанную Алексеем Морозовым в 2012-м году. Характерно, что игра распространяется вместе с исходным кодом на ассемблере и авторским компилятором. Но в этот раз из архива нам понадобится только собранный .bin файл. Его нужно перевести в .wav при помощи либо онлайн, либо оффлайн (первый, второй) конвертера.

Программы, написанные на ассемблере, на БК-0010-01 загружаются не так, как программы на BASIC. Первым делом нужно выйти из интерпретатора BASIC в «монитор». Делается это командой MO. Далее загрузка осуществляется так:

Программа «монитор» в БК-0010-01

Картинка выглядит странно, и это нормально, так и должно быть. Дело в том, что «монитор» формирует изображение для черно-белого разъема. Мы же пытаемся вывести все это в цвете. Можно изменить способ формирования изображения одновременным нажатием АР2 и +. Это сочетание понимает и BASIC, а также сторонний софт, написанный с использованием стандартных подпрограмм.

На приглашение ? нужно ответить командой M. В ответ на приглашение ИМЯ? вводим имя загружаемой программы, bk0010_miner. Знак подчеркивания на клавиатуре не подписан, можете его не искать. Он вводится одновременным нажатием твердого знака и SHIFT. SHIFT — это клавиша со стрелкой вниз слева от цифрового ряда. Если выбран верхний регистр, то SHIFT нажимать не нужно.

Далее втыкаем штекер 3.5 мм, соответствующий входу БК-0010-01, в гнездо устройства, которое будет проигрывать .wav файл. Запускаем воспроизведение. При успешной загрузке снова появится приглашение ?, а также будет слышен негромкий щелчок реле внутри компьютера. Для запуска программы вводим S.

Игра, как вы наверняка догадались, является портом Minesweeper:

Игра Сапер (Minesweeper) под БК-0010-01

Можно и не заметить, что здесь используется лишь четыре цвета. Все работает, а значит перед нами, скорее всего, исправный БК-0010-01.

Для выхода из игры на клавиатуре нужно нажать красную клавишу СТОП. При этом попадаем обратно в «монитор». Для возвращения в BASIC нужно ввести команду B.

Заключение

Ссылки по теме:

Субъективно, БК-0010-01 может служить неплохой альтернативой ZX Spectrum.

Использование 16-и битного процессора имеет свои преимущества. В одном регистре умещается больше данных. Можно напрямую оперировать 16-и битными числами, работать с памятью 16-и битными словами, и так далее. БК-0010-01 имеет разрешение 256x256, против 256x192 у ZX Spectrum. Цветов меньше, зато без клэшинга и с аппаратным скроллингом. Есть поддержка русского языка.

Компьютер доступен и недорог. Обучающих материалов полно. Сообщество энтузиастов большое. В целом, отличный вариант, если вас тянет пописать на ассемблере / BASIC или попаять что-то под компьютеры 80-х / 90-х годов.

Дополнение: В продолжение темы вас могут заинтересовать статьи Программируем на ассемблере под БК-0010-01 и Советский персональный компьютер Микроша.

Метки: , , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.