Систематизированный справочник по семейству бытовых компьютеров «Электроника БК» (процессор К1801ВМ1, система команд PDP-11).
Все четыре машины построены на одном и том же процессоре К1801ВМ1, поэтому система команд у них общая, а различаются они обвязкой: объёмом памяти, её организацией, цветом и системным программным обеспечением.
| Машина | Год | Чем отличается | Где описана |
|---|---|---|---|
| БК-0010 | 1985 | Исходная модель. 32 Кбайт ОЗУ, монитор МДС в ПЗУ | главы 1–13 |
| БК-0010-01 | То же, с изменённой клавиатурой и комплектом ПЗУ; основная модель справочника | главы 1–13 | |
| БК-0010Ш | БК-0010 со встроенным блоком ИРПС (последовательный канал) | §5.5а, §11.5, §11.6 | |
| БК-0011 | 1989 | Развитие БК-0010-01: 128 Кбайт ОЗУ со страничной организацией, два буфера экрана, палитра, ДМС с графикой и звуком | глава 14 |
| БК-0011М | 1990 | Переработка БК-0011: другое системное ПО (БОС), иначе устроены регистры | глава 15 |
Глава 16 стои́т особняком: она описывает не машину, а ПЗУ Бейсика — по восстановленному исходному тексту и по образам прошивок всех трёх машин.
Линия развития: БК-0010 → БК-0010-01 → БК-0011 → БК-0011М.
Как устроен справочник. Главы 1–13 подробно описывают БК-0010/0010-01 — это ядро. Главы 14 и 15 не повторяют их, а перечисляют, чем от них отличаются старшие машины: что добавилось, что переехало, что несовместимо. Общее для всех четырёх — система команд, формат экранной строки, обмен с магнитофоном, цоколёвка МПИ — описано один раз в основных главах.
БК-0011 и БК-0011М несовместимы между собой сильнее, чем кажется: из 37 системных запросов БК-0011 и примерно 75 запросов БК-0011М общих имён всего десять (см. §14.9).
Документация построена на четырёх главных источниках:
| Метка | Источник | Роль |
|---|---|---|
| [РСП] | Заводское «Руководство системного программиста. Драйвер-мониторная система» (00001-01.32.03). Две редакции: скан docs/00001-01.32.03-Вар2.djvu и текстовая, более полная GID-src/BKemu/Docs/00001-01.32.03.html |
Нормативный: что система обязана делать. Форматы, входы/выходы, коды |
| [З] | Ю. А. Зальцман. Микро-ЭВМ БК-0010. Архитектура и программирование на языке ассемблера (1994–1995) — docs/Zaltsman.html |
Эмпирический: что машина делает в действительности; недокументированные узлы, ошибки заводской документации, практика |
| [ВМ1] | «Однокристальный микропроцессор К1801ВМ1. Техническое описание», в. 1.2 (2020), 151 с. — docs/cpu11/vm1/doc/1801vm1.pdf |
Кремниевый: результат реверс-инжиниринга кристалла. Объясняет, почему машина ведёт себя так, и служит арбитром для двух других |
| [Рад] | Л. И. Радченко. БК-0010 и магнитофон. НПК «СБИС», 1990, 40 с. | Монографический: одна подсистема — обмен с магнитной лентой. Комментированный дизассемблер драйвера, формат сигнала с точностью до отдельного элемента, защита и регенерация программ. По своей теме подробнее [РСП § 9] и [З], поэтому главный для главы 10 |
Прочие материалы — подтверждающие: [ПЗУ] (дизассемблирование реальных образов ПЗУ,
служит арбитром), [ЭМ] (исходники эмулятора bkemu-QT), [ПБК]
(«Программирование на БК-0010-01», Чебоксары 1993), [МПСС] (статья разработчиков, 1985),
[Каз], [ИиО-90], [Мор], [Мен], [СГ5], [Град], [ПГС], [Ус],
[Журнал], [КП], [Хабр].
Подробно — 01-источники-и-соглашения.md.
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 01-источники-и-соглашения.md | Иерархия источников, карта покрытия, методика проверки, реестр расхождений, сокращения | — |
| 02-архитектура.md | Состав машины, ЦП, РОН, ССП, адресное пространство, режим РП, ПЗУ, тайминги | [РСП § 2–4] + [З] |
| 03-процессор-К1801ВМ1.md | Варианты кристалла, периферийный блок, встроенный таймер, прерывания на уровне кристалла, микропрограммное управление, аппаратные ошибки | [ВМ1] |
| 04-система-команд.md | Способы адресации, полный список команд БК-0010, чего в системе нет, эмуляция EIS, псевдооператоры | [РСП, Прил. 1] + [З] |
| 05-системные-регистры.md | 177660, 177662, 177664, 177706/10/12 (таймер), 177714, 177716, блок ИРПС 176560…176566 — побитно | [РСП § 4.1] + [З] |
| 06-прерывания.md | Механизм, таблица векторов, приоритеты, перехват «СТОП», отладчик на T-разряде | [З] + [РСП § 5.1] |
| 07-системная-область.md | Полная карта ячеек 0…777, стек, автозапуск | [З] |
| 08-монитор.md | Пусковой монитор, EMT-диспетчер, все EMT-функции, МСД, тест-система, супервизорные драйверы | [РСП § 5, 6, Прил. 2] + [З] |
| 09-экран-и-клавиатура.md | Видеопамять, цвет, рулон, расширение палитры и градации серого, клавиатура, текстовая графика, таблицы кодов | [РСП § 7, 8, Прил. 3] |
| 10-магнитофон.md | EMT 36, блок параметров, формат файла на МЛ до отдельного элемента сигнала, протокол поиска, драйвер изнутри, защита программ |
[Рад] + [РСП § 9] + [З] |
| 11-последовательный-канал.md | ИРПС/ТЛГ: скорости, EMT 40…50, прерываемое ожидание, загрузка по линии |
[РСП § 10, 11] |
| 12-разъёмы-и-периферия.md | Цоколёвка УП и МПИ, сигналы магистрали по контактам, исполнения БК, регистры СМК, КНГМД, расширение ОЗУ «АльтПро», игровой манипулятор, звуковой сопроцессор, «Менестрель», принтеры, распиновка всех разъёмов СГ-5 | [З] + [РСП, Прил. 4] + [ПГС] + [Каз] + [СГ5] |
| 13-схемотехника-и-доработки.md | Элементная база, циклы обмена по магистрали, ремонтная документация, доработки, турбо-режим | [З] + [Журнал] |
| 14-БК-0011.md | Отличия БК-0011 от БК-0010-01: страничная память 128 Кбайт, два буфера экрана, ДМС с графикой и звуком, блоки КНГМД/КПУ/локальной сети. Сопоставление БК-0011 и БК-0011М | [РСП-11] 00008-01.32.01 |
| 15-БК-0011М.md | Отличия БК-0011М: три регистра по адресу 177716, палитры, БОС вместо ДМС, таблица системных вызовов | [РСП-11М] 00015-01.32.01 |
| 16-бейсик.md | Устройство ПЗУ Бейсика: карта рабочей области в ОЗУ, самопроверка ПЗУ, шитый код, TRAP как внутренний вызов, коды ошибок, USR и CALL, сопоставление Бейсиков трёх машин |
[БейсикИсх] + [ПЗУ] |
- Все числа — восьмеричные, если не указано иное. Десятичные помечаются индексом «д»:
377=255д. - Разряды слова нумеруются справа налево десятичными числами от 00 (младший) до 15 (старший).
- Абсолютные адреса записываются в стиле ассемблера MACRO-11:
@#177716. - Каждая глава открывается блоком «Источники главы» с указанием конкретных разделов первоисточников.
- [✓ ПЗУ] — утверждение проверено дизассемблированием реального образа ПЗУ.
- ⚠ — источники расходятся; вердикт по каждому случаю — в 01-источники-и-соглашения.md, §1.5.
Значения — для БК-0010-01; отличия старших машин см. в главах 14 и 15.
| Параметр | Значение |
|---|---|
| Процессор | К1801ВМ1, 16 разрядов, подмножество системы команд PDP-11 (без EIS и FIS, кроме SOB, XOR и MUL в варианте ВМ1Г). Не клон DEC — оригинальная архитектура на ПЛМ |
| Тактовая частота | 3 МГц (потолок кристалла — 4,7 МГц) |
| Быстродействие | ≈250 тыс. оп./с (основное время команды 4,0 мкс) |
| ОЗУ | 32 Кбайт (16 × КР565РУ6Г): 16 К пользователя + 16 К экрана |
| ПЗУ | Всего 32 Кбайт на плате (4 БИС по 8 К): системное ПЗУ (МДС) — 8 К, Бейсик — 24 К в трёх съёмных БИС. Блок МСТД добавляет Фокал и тесты, перекрывая окна Бейсика |
| Адресное пространство | 64 Кбайт, 0…177777 |
| Адрес начального пуска | 100000 |
| Системная область | 0…777 (векторы, переменные драйверов, стек) |
| Монитор (МДС) | ПЗУ 100000…117777, автор М. И. Дябин, не менялся с 1985 г. |
| Экран | 512×256 ч/б либо 256×256 при 4 цветах; 24 информационные строки + служебная; кадровая частота 48,83 Гц |
| Внешняя память | Бытовой магнитофон (МК60), 1200 бод |
| Порты | Параллельный УВВ (16 линий ввода + 16 вывода, ТТЛ), последовательный канал 50…9600 бод, магистраль МПИ (26 линий) |
| Контроллеры | Дисплей — К1801ВП1-037, клавиатура — К1801ВП1-014 |
- Пишете программу в кодах → 04-система-команд.md, затем 08-монитор.md (EMT-функции) и 07-системная-область.md (системные ячейки).
- Разбираетесь с железом → 02-архитектура.md, 03-процессор-К1801ВМ1.md и 05-системные-регистры.md.
- Нужен встроенный таймер → 03-процессор-К1801ВМ1.md, §3.4 (устройство) и 05-системные-регистры.md, §5.4 (применение на БК).
- Подключаете периферию → 12-разъёмы-и-периферия.md и 11-последовательный-канал.md.
- Стыкуете программу в кодах с Бейсиком → 16-бейсик.md, §16.10
(
USR,CALL) и §16.4 (какие ячейки ОЗУ занимать нельзя). - Столкнулись с противоречием в литературе → 01-источники-и-соглашения.md, §1.5.
Справочник — авторская систематизация: сведение воедино нескольких независимых источников, разбор противоречий между ними и проверка спорных мест дизассемблированием реальных образов ПЗУ. Реестр расхождений с вердиктом по каждому случаю — в 01-источники-и-соглашения.md, §1.5.
При этом текст обширно цитирует и воспроизводит таблицы из работ других авторов:
- Ю. А. Зальцман. «Микро-ЭВМ БК-0010. Архитектура и программирование на языке ассемблера», 1994–1995;
- Л. И. Радченко. «БК-0010 и магнитофон», НПК «СБИС», 1990;
- заводские руководства (00001-01.32.03 и др.), РЭ программно-музыкального комплекса «Менестрель»;
- статьи из «Информатики и образования» и приложения «Персональный компьютер БК-0010 — БК-0011М»;
- «Однокристальный микропроцессор К1801ВМ1. Техническое описание» — результат реверс-инжиниринга кристалла.
Права на эти материалы принадлежат их авторам и правообладателям. Каждая глава открывается блоком «Источники главы» с указанием конкретных разделов, полный перечень с оценкой роли каждого источника — в §1.1. Лицензия на этот репозиторий не назначена.
Пути вида docs/…, bkemu/…, bkemu-QT/devemu/… в тексте указывают на личный
архив автора и служат указанием на происхождение сведений — в этом репозитории
таких файлов нет.