Систематизированный справочник по семейству бытовых компьютеров «Электроника БК» (процессор К1801ВМ1, система команд PDP-11).
Все машины построены на одном и том же процессоре К1801ВМ1, поэтому система команд у них общая, а различаются они обвязкой: объёмом памяти, её организацией, цветом и системным программным обеспечением.
Линия развития: БК-0010 → БК-0010-01 → БК-0011 → БК-0011М.
| Машина | Год⁽*⁾ | Чем отличается | Где описана |
|---|---|---|---|
| БК-0010 | 1985 | Исходная модель. 32 Кбайт ОЗУ, монитор МДС в ПЗУ | §1.2 |
| БК-0010-01 | То же, с изменённой клавиатурой и комплектом ПЗУ; основная модель справочника | §1.3, главы 2–14 | |
| БК-0010Ш | 1986 | Школьный вариант: БК-0010 со встроенным блоком ИРПС для класса КУВТ-86; выпускался и в Литве (завод «Нуклон») | §1.3, §1.4, §4.6, §12.5, §12.6 |
| БК-0011 | 1989 | Развитие БК-0010-01: 128 Кбайт ОЗУ со страничной организацией, два буфера экрана, палитра, ДМС с графикой и звуком | §1.5, глава 19 |
| БК-0011М | 1990 | Переработка БК-0011: другое системное ПО (БОС), иначе устроены регистры | §1.6, глава 20 |
⁽*⁾ Годы — по датам источников (статья разработчиков, заводские руководства); полная хронология развития — в §1.1.
Обзор семейства целиком — хронология, что общее, что различается, что переносится между машинами — в главе 01-семейство-машин.md.
Как устроен справочник. Ядро (главы 2–14) подробно описывает БК-0010/0010-01. Главы 19 и 20 не повторяют его, а перечисляют, чем от него отличаются старшие машины: что добавилось, что переехало, что несовместимо. Общее для всех четырёх — система команд, формат экранной строки, обмен с магнитофоном, цоколёвка МПИ — описано один раз в основных главах.
БК-0011 и БК-0011М несовместимы между собой сильнее, чем кажется: из 37 системных запросов БК-0011 и примерно 75 запросов БК-0011М общих имён всего десять (см. §20.15).
Главы пронумерованы по смыслу, от общего к частному, и сгруппированы в части:
| Часть | Главы | Что внутри |
|---|---|---|
| I | 1 | Обзор семейства |
| II | 2–5 | Процессор, система команд, регистры, прерывания |
| III | 6–9 | Память и программы в ПЗУ: монитор, Бейсик, Фокал |
| IV | 10–14 | Устройства БК-0010(-01), периферия, схемотехника |
| V | 15–17 | Контроллеры расширения на МПИ |
| VI | 18 | Дисковая ОС ANDOS |
| VII | 19–20 | Старшие модели — перечни отличий; без глав 2–4 их читать нельзя |
| VIII | 21 | Источники, соглашения, реестр расхождений |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 01-семейство-машин.md | Обзор всех машин: хронология, отличия каждой модели, что общее, сводная таблица различий, совместимость программ, состав и комплект поставки БК-0010-01, БК-0010Ш и его выпуск в Литве, класс КУВТ-86 | [РСП § 1, 2] + [З] + [РД-11] + [Кангер] |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 02-процессор-К1801ВМ1.md | Программная модель: РОН, ССП, представление данных; варианты кристалла, периферийный блок, встроенный таймер, прерывания на уровне кристалла, микропрограммное управление, аппаратные ошибки, самодельное внешнее ПЗУ пультового отладчика | [ВМ1] + [З] |
| 03-система-команд.md | Способы адресации, полный список команд БК-0010, чего в системе нет, эмуляция EIS, псевдооператоры, время исполнения команд | [РСП, Прил. 1] + [З] |
| 04-системные-регистры.md | 177660, 177662, 177664, 177706/10/12 (таймер), 177714, 177716, блок ИРПС 176560…176566 — побитно | [РСП § 4.1] + [З] |
| 05-прерывания.md | Механизм, таблица векторов, приоритеты, перехват «СТОП», отладчик на T-разряде | [З] + [РСП § 5.1] |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 06-память-и-системная-область.md | Адресное пространство, режим РП, размещение и свойства ПЗУ; полная карта ячеек 0…777, стек, автозапуск | [РСП § 4] + [З] |
| 07-монитор.md | Содержимое системного ПЗУ: пусковой монитор, EMT-диспетчер, все EMT-функции, МСД, тест-система, супервизорные драйверы | [РСП § 5, 6, Прил. 2] + [З] |
| 08-бейсик.md | Устройство ПЗУ Бейсика (по восстановленному исходному тексту и образам прошивок всех трёх машин): карта рабочей области в ОЗУ, авторы и история, самопроверка ПЗУ, трансляция в шитый код, TRAP как внутренний вызов, коды ошибок, USR и CALL, одинарная и двойная точность, сопоставление Бейсиков трёх машин |
[БейсикИсх] + [ПЗУ] + [Алиш] |
| 09-фокал.md | Язык Фокал целиком: диалоговый режим, полный список операторов и встроенных функций (включая доступ к шине FX/порту FP), коды ошибок, работа с магнитофоном через LIBRARY, системная интеграция (PASS MONITOR/PASS TEST), пакет игровых программ |
[ФокЯзык] + [ФокРук] |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 10-экран-и-клавиатура.md | Видеопамять, цвет, рулон, расширение палитры и градации серого, клавиатура, текстовая графика, таблицы кодов | [РСП § 7, 8, Прил. 3] |
| 11-магнитофон.md | EMT 36, блок параметров, формат файла на МЛ до отдельного элемента сигнала, протокол поиска, драйвер изнутри, защита программ |
[Рад] + [РСП § 9] + [З] |
| 12-последовательный-канал.md | ИРПС/ТЛГ: скорости, EMT 40…50, прерываемое ожидание, загрузка по линии |
[РСП § 10, 11] |
| 13-периферия.md | Каталог периферии: устройства по группам (внешняя память, расширения, манипуляторы, звук, печать, изображение, связь, самодельные) — подключение, адреса и разряды, ссылка на подробный документ | — |
| периферия/разъёмы.md | §13.1. Разъёмы УП, МПИ, СГ-5: контакты, разряды 177714 и 177716 по контактам, кто какие разряды порта занимает, сигналы магистрали и исполнения БК, контакты отключения ПЗУ |
[З] + [РСП, Прил. 4] + [Каз] + [СГ5] |
| периферия/НГМД.md | §13.2. КНГМД: подключение, БМК 1801ВП1-128, разряды 177130 в СМК, драйвер прошивки 326, «Комкон», КНГМД БК-0011: разъём накопителя, формат дорожки |
[ВП128] + [326] + [РД-11] |
| периферия/джойстики.md · мышь-УВК-01.md | §13.3–13.4. Джойстики (заводской, сторонние, второй) и мышь «Марсианка» | [ПГС] + [УВК] |
| периферия/AY-8910.md · Менестрель.md · Мультизвук.md | §13.5–13.6, §13.10. Звук: AY-3-8910, TurboSound, «2AY», Covox; комплекс «Менестрель»; карта «БК Мультизвук» на МПИ | [КП] + [2AY] + [Мен] + [Мультизвук] |
| периферия/принтеры.md · графопостроитель.md · видеомонитор.md | §13.7–13.9. Принтеры МС-6312/6313, КПУ БК-0011 (ИРПР) и кабели к принтерам, графопостроитель, видеомонитор 32ВТЦ-201 | [Ус] + [РД-11] |
| 14-схемотехника-и-доработки.md | Элементная база, циклы обмена по магистрали, ремонтная документация, доработки, турбо-режим | [З] + [Журнал] |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 15-контроллер-СМК.md | Контроллер СМК / «АльтПро» целиком: линейка моделей, доп. ОЗУ 64–512 Кбайт, регистр 177130 и восемь режимов памяти, прошивка дешифратора 556РТ5, ПЗУ контроллера и захват старта, теневое ОЗУ, BIOS, контроллер НЖМД IDE, драйвер и разметка винчестера, реплики и эмуляция |
[АльтПро] + [РТ5] + [CPLD] |
| 16-Gryphon-MPI.md | Современный контроллер-супервизор Gryphon-MPI: состав и модули, доработки БК, стартовая диагностика, образы ПЗУ внутри прошивки и врезки-перехватчики в них, эмуляция АльтПро, блок ИРПС и IP-модем, форматы образов и автоподстановка ОС, меню и ремонтные функции, сетевые возможности, REST API, протокол между платами | [GMPI] + [GMPI-ПО] (разбор прошивок) |
| 17-AZБК.md | Контроллер AZБК (MAXIOL AZ): 32 Мбайт памяти и полный маппер на 16 окон, отключение КР1801ВП1-037, эмуляция БК-0011М на БК-0010 и СМК-512, видеоконтроллер с палитрой 32768 цветов, слоями и блиттером, звук и DMA, программный интерфейс CSR/DR с блоком команд, собственные ПЗУ и BIOS Setup, AZ.INI, сетевые диски и таблица рекордов |
[AZ-Форум] + [AZ-ПО] (разбор прошивок) |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 18-ANDOS.md | Дисковая ОС ANDOS: история и версии, перехват EMT 36, карта резидента 120000, синтаксис команд в поле имени, коды ответа, формат диска FAT12 (BPB, запись каталога, подкаталоги), чтение и запись цепочками кластеров, связь с контроллерами: вызов драйвера 326, автонастройка FLGTAB, повтор с шагом головки через R4, ANDOS на КНГМД, СМК, БК-0011М, Gryphon-MPI и AZБК |
[ANDOS-исх] (исходник ядра 3.11) + [Над92] + проверка в эмуляторе |
| Глава | Содержание | Определяющий источник |
|---|---|---|
| 19-БК-0011.md | Отличия БК-0011 от БК-0010-01: варианты исполнения, страничная память 128 Кбайт, два буфера экрана, регистр 177662 (палитра, таймер, блокировка «СТОП»), векторы, все EMT ДМС с проверкой по ПЗУ, монитор и драйвер ТВ, схемотехника вычислителя и разъёмы, блоки КНГМД/КПУ/локальной сети, что переносится с БК-0010-01 |
[РСП-11] 00008-01.32.01 + [РД-11] 3.057.004 РД |
| 20-БК-0011М.md | Отличия БК-0011М: комплекты МС 0513.10…17 и технические данные, три регистра по адресу 177716, палитры (таблица 16 палитр), полная таблица запросов БОС с проверкой по ПЗУ, монитор и драйвер экрана (ESC-коды), блоки МСТД/КНГМД/КРМП/КМК-11/КМ, разъёмы, ОС БК 11, режим БК-0010, сеть ШКОЛОК-0011. Сопоставление БК-0011 и БК-0011М | [РСП-11М] 00015-01.32.01 + [РЭ-11М] 3.057.017 РЭ |
| периферия/КЛС.md | §13.11. Контроллер локальной сети БК-0011 (КЛС/КМК): 1801ВП1-065, токовая петля, шунты, регистры 176560…, КРМП |
[РД-11] |
| Глава | Содержание |
|---|---|
| 21-источники-и-соглашения.md | Иерархия источников, соглашения о ссылках, карта покрытия, методика проверки по ПЗУ, состояние архива, сокращения, литература |
| 21-реестр-расхождений.md | §21.5. Реестр расхождений между источниками с вердиктами и статусами; сводка открытых вопросов с тем, что нужно для проверки |
Документация построена на четырёх главных источниках:
| Метка | Источник | Роль |
|---|---|---|
| [РСП] | Заводское «Руководство системного программиста. Драйвер-мониторная система» (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] и [З], поэтому главный для главы 11 |
Помимо этих четырёх — ещё несколько десятков подтверждающих и дополняющих источников
(дизассемблированные образы ПЗУ, исходники эмулятора, заводские паспорта на периферию,
даташиты микросхем, темы профильных форумов и т. д.), каждый со своей меткой [Тег]
и ролью. Единственное место, где этот список ведётся и остаётся актуальным —
21-источники-и-соглашения.md, §21.1 — не дублируется
здесь намеренно, чтобы не расходиться с ним при пополнении справочника.
- Все числа — восьмеричные, если не указано иное. Десятичные помечаются индексом «д»:
377=255д. - Разряды слова нумеруются справа налево десятичными числами от 00 (младший) до 15 (старший).
- Абсолютные адреса записываются в стиле ассемблера MACRO-11:
@#177716. - Ссылки «§N.N» кликабельны и ведут на якорь раздела; правила — в §21.2.
- Каждая глава открывается блоком «Источники главы» с указанием конкретных разделов первоисточников.
- [✓ ПЗУ] — утверждение проверено дизассемблированием реального образа ПЗУ.
- [✓ ПО] — то же, но проверено разбором двоичного образа прошивки контроллера.
- [✓ эмулятор] — проверено на живой системе в эмуляторе (точки останова, дамп памяти); методика — §21.4.
- ⚠ — внимание: тонкое или легко упускаемое место — оговорка, из-за которой утверждение легко понять неверно. Частный и самый частый случай — расхождение источников; тогда знак сопровождается ссылкой на реестр расхождений (21-реестр-расхождений.md, §21.5).
Значения — для БК-0010-01; отличия старших машин см. в §1.8 и в главах 2 и 3.
| Параметр | Значение |
|---|---|
| Процессор | К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 |
- Хотите понять, чем машины различаются → 01-семейство-машин.md.
- Пишете программу в кодах → 03-система-команд.md, затем 07-монитор.md (EMT-функции) и 06-память-и-системная-область.md (системные ячейки).
- Разбираетесь с железом → 01-семейство-машин.md, §1.10 (состав машины), затем 02-процессор-К1801ВМ1.md и 04-системные-регистры.md.
- Нужен встроенный таймер → 02-процессор-К1801ВМ1.md, §2.5 (устройство) и 04-системные-регистры.md, §4.4 (применение на БК).
- Подключаете периферию → каталог 13-периферия.md; контакты и разряды — периферия/разъёмы.md; последовательный канал — 12-последовательный-канал.md.
- Расширяете память, ставите дисковод или винчестер →
15-контроллер-СМК.md: §15.5 (регистр
177130) и §15.6–15.7 (режимы) — если нужны страницы ДОЗУ; §15.12–15.14 — если нужен НЖМД. - Работаете с дискетами ANDOS или пишете программу, которая читает файлы с диска →
18-ANDOS.md: §18.4 (вызов через
EMT 36, префиксы имени, коды ответа), §18.5 (формат диска), §18.7 (как система пользуется контроллером). - Стыкуете программу в кодах с Бейсиком → 08-бейсик.md, §8.11
(
USR,CALL) и §8.5 (какие ячейки ОЗУ занимать нельзя). - Программируете на Фокале → 09-фокал.md: §9.2–9.4
(операторы, функции, числа и переменные), §9.3 (
FX/FP— выход к шине и порту УВВ прямо из языка). - Столкнулись с противоречием в литературе → 21-реестр-расхождений.md, §21.5.
Куда класть новые сведения, чтобы структура не расползалась:
- Новая машина или клон → отдельная глава по образцу глав 19 и 20: не описание машины целиком, а перечень отличий от БК-0010-01; краткая строка — в таблицы §1.1 и §1.8.
- Новое периферийное устройство → отдельный документ в каталоге
периферия/со следующим номером §13.N и строка в нужной группе каталога 13-периферия.md; занятые разряды порта — в сводку периферия/разъёмы.md, §13.1.3; доработки схемы — 14-схемотехника-и-доработки.md. Если устройство тянет на полноценную подсистему со своей картой памяти, ПЗУ и программным интерфейсом (как контроллер СМК) — отдельная глава, а в каталоге главы 13 остаётся строка-указатель. - Новый источник → таблица в 21-источники-и-соглашения.md, §21.1, с меткой вида [Имя]; в тексте глав ссылаться этой меткой.
- Найденное противоречие между источниками → реестр расхождений (21-реестр-расхождений.md, §21.5) со своим кодом (следующий свободный номер в группе), статусом и вердиктом; если вердикта нет — строка в сводке «Открытые вопросы». В тексте главы — знак ⚠ со ссылкой на реестр (без ссылки ⚠ означает просто «внимание», см. «Соглашения» выше).
- Правила оформления — в разделе «Соглашения» выше: числа восьмеричные, блок «Источники главы» в начале каждой главы, проверенное по ПЗУ помечается [✓ ПЗУ].
- Перед коммитом —
python3 tools/check-refs.py: проверяет, что ссылки ведут на существующие файлы и якоря, у каждого нумерованного заголовка есть якорь, нумерация разделов непрерывна, а ссылки «§N.N» кликабельны. С ключом--fixсам ставит недостающие якоря и превращает голые «§N.N» в ссылки; ошибки вроде ссылки на несуществующий раздел остаются на исправление вручную. Каталог_архив/не проверяется.
Справочник — авторская систематизация: сведение воедино нескольких независимых источников, разбор противоречий между ними и проверка спорных мест дизассемблированием реальных образов ПЗУ. Реестр расхождений с вердиктом по каждому случаю — в 21-реестр-расхождений.md, §21.5.
При этом текст обширно цитирует и воспроизводит таблицы из работ других авторов:
- Ю. А. Зальцман. «Микро-ЭВМ БК-0010. Архитектура и программирование на языке ассемблера», 1994–1995;
- Л. И. Радченко. «БК-0010 и магнитофон», НПК «СБИС», 1990;
- заводские руководства (00001-01.32.03 и др.), РЭ программно-музыкального комплекса «Менестрель»;
- статьи из «Информатики и образования» и приложения «Персональный компьютер БК-0010 — БК-0011М»;
- «Однокристальный микропроцессор К1801ВМ1. Техническое описание» — результат реверс-инжиниринга кристалла.
Права на эти материалы принадлежат их авторам и правообладателям. Каждая глава открывается блоком «Источники главы» с указанием конкретных разделов, полный перечень с оценкой роли каждого источника — в §21.1. Лицензия на этот репозиторий не назначена.
Пути вида docs/…, bkemu/…, bkemu-QT/devemu/… в тексте указывают на личный
архив автора и служат указанием на происхождение сведений — в этом репозитории
таких файлов нет.