БК (сокращение от «бытовой компьютер») — семейство советских 16-разрядных домашних и учебных ЭВМ, совместимых по системе команд и частично по архитектуре с СМ ЭВМ, PDP-11 и ДВК.
Семейство компьютеров БК-0010 было разработано в НИИ точной технологии НПО «Научный центр», г. Зеленоград[2]. Главный конструктор от НИИТТ — Александр Н. Полосин[3], главный конструктор от завода «Экситон» — С. М. Косенков[2]. В январе 1985 года разработчики машины опубликовали статью с описанием БК в журнале «Микропроцессорные средства и системы» (печатный орган Государственного Комитета СССР по науке и технике, номер 1 за 1985 год)[4].
Окончательная разработка БК была осуществлена в 1983 г. на заводе «Экситон»[5], г. Павловский Посад, где и было налажено первое серийное производство в 1985 году[6].
Впоследствии опытные партии модели БК-0010 выпускались на Казанском заводе радиокомпонентов (Завод № 7) и «Нуклон» в городе Шяуляй (Литовская ССР). Последующие модели серийно производились также на заводах «Завод № 7», г. Казань, «Экситон»[5], г. Павловский Посад, «Нуклон» в г. Шяуляй (Литовская ССР)[1] (только модель БК-0010-01), в Армянской ССР (только модель БК-0010-01), а также на Заводе полупроводниковых приборов в Йошкар-Оле (только модель БК-0011). Полный спектр моделей БК производился только на заводе «Экситон».
Всего было произведено более 162 000 единиц БК-0010/0011; завод «Экситон» в 1985—1992 годы изготовил около 125 000 машин: около 78 000 для розничной продажи и более 44 000 в составе школьных классов.[1] Последние произведённые экземпляры БК относятся к 1993 году[7].
БК-0010.01: 650 рублей[10], 750 рублей (1990 год)[11].
Модели
Предположительно, модели БК нумеровались в двоичной системе счисления: 0010 (2), 0011 (3), 0100 (4).
Предшественницей БК, по-видимому, была «Электроника НЦ-8010», разработанная в НИИТТ в 1981 году[12]. Эта модель на основе двух процессоров К1801ВЕ1 так и не была запущена в производство.
БК-0010
Базовая модель с мембранной клавиатурой и интерпретатором языка Фокал в ПЗУ (прошивка 018).
Конструктив БК-0010 не предусматривал расширения ОЗУ. Периферийные устройства (принтер, НГМД с контроллером) существовали, но в продажу поступали редко и были дефицитными.
Мембранная клавиатура представляла собой печатную плату с установленными на ней 92 переключателями ПКН-150, закрытыми пластиковой плёнкой из лавсана, на которую сверху накладывалась цветная, напечатанная на бумаге, раскладка клавиатуры с обозначениями клавиш и функциональных зон, прикрытая сверху такой же плёнкой. Бумажную раскладку можно было легко менять в соответствии со спецификой используемого программного обеспечения. Часто пользователи не меняли раскладку полностью, но подкладывали в область нужных клавиш небольшие вставки, зачастую рукописные. Этот алгоритм использования напоминает определяемые пользователем зоны в дигитайзере — широкоформатном промышленном графическом планшете. К сожалению, при активном программировании или наборе текста бумажная мишень изнашивалась довольно быстро (1—2 года) и её приходилось менять. Особенно износ проявлялся при использовании компьютера, в основном, в игровых сценариях, где множество нажатий приходились только на некоторые выделенные клавиши. Однако, простота конструкции и лёгкость модификации раскладки перекрывали недостатки.[4]
БК-0010.01
Улучшенная версия БК-0010[13].
Также называлась «Электроника МС 0510»[14]. Выпускалась с апреля 1987 года.
Вариант БК-0010 с механической клавишной клавиатурой МС7008 вместо плёночной и языком BASIC-86 («Бейсик Вильнюс») в ПЗУ. Интерпретатор языка Фокал перенесён в ПЗУ специального подключаемого модуля МСТД (мониторная система тестирования и диагностики). Этот модуль, помимо запуска тестовых программ, позволяет вводить программы в кодах и работать с магнитофоном.
В целях экономии памяти тексты ошибок Вильнюсского Бейсика не были зашиты в ПЗУ, поэтому ошибки выдаются не текстом, а кодами — например, «ОШИБКА 4». Коды ошибок Вильнюсского Бейсика совпадают с кодами ошибок MSX BASIC.
Компьютер получил механическую 74-клавишную клавиатуру. Хотя она была и более удобна, чем плёночная, кнопки этой клавиатуры были достаточно тугими и подверженными дребезгу. По сравнению с БК-0010 тут на 19 клавиш меньше, в частности, исчезли клавиши ГРАФ, ЗАП, СТИР.[15]
Из конструкции исключена крышка отсека ПЗУ и панелька для подключения дополнительной микросхемы.
«Школьные» модификации дополнительно комплектовались блоком ИРПС для соединения в комплекс КУВТ-86, состоящий из ДВК-2МШ или ДВК-3 в качестве файлового сервера и до двенадцати БК-0010Ш.
ПЗУ БК-0010Ш содержало Фокал — прошивка 084 с драйвером ИРПС[16], поддерживающим прерывания 3608, 3648 (отличительный признак 084 прошивки: при отключённом ИРПС — в служебной строке надпись ТЛГ ОТКЛЮЧЕH[17]).
ПЗУ БК-0010.01Ш содержало обычный «Бейсик Вильнюс», работающий с ИРПС без прерываний. Работа с сетью осуществлялась стандартными операторами LOAD/SAVE/BLOAD/BSAVE с префиксом TT: в имени файла[18][19].
БК-0011
Разрабатывалась с 1987 года[20][21] с целью выполнения требований нового ГОСТ 27201-87[22] к объёму памяти — не менее 64Кб[23].
Выпускалась с апреля 1989 г. по сентябрь 1990 г.[24]
больший объём оперативной памяти — 128 КБ, постраничная организация памяти, две страницы памяти можно было поочерёдно отображать на экран, что обеспечивало мгновенное обновление информации
цветной экран по-прежнему 4-цветный, но появилась возможность включить одну из 16 экранных палитр; причём, палитры № 9 и № 10 были почти одинаковыми, а палитры № 5, 6, 7 и 8 содержали только по два цвета, уже имевшихся в других палитрах — таким образом, действительно полезных палитр было 11.
контроллер дисковода стал входить в стандартную поставку
на разъёмы МПИ и УП выведено больше сигналов
возвращена панелька для сменного ПЗУ и крышка соответствующего отсека.
Из-за замены стандартной PDP-11-совместимой мониторной системы на собственную, на данной модели загрузка программ осуществляется путём ввода команды L, а запуск — вводом адреса программы.
БК-0011M
Появилась в 1990 году[26]. Исправленная версия БК-0011. Также называлась «Электроника МС 0513»[14].
Под БК-11 обычно понимается БК-0011М, так как БК-0011 было выпущено немного. Одно из заметных исправлений — на БК-0011 не работал звук в программах, написанных для БК-0010; в БК-0011М эта ошибка была исправлена.
БК-0100
Эта машина в корпусе от УКНЦ, по всей видимости, не пошедшая в серию, упомянута в статье А. Люкшина «Тернистый путь БК в наш дом»[23] и С. М. Косенкова «Новые модели семейства БК»[20]. В неё, помимо 16-разрядного процессора К1801ВМ3, предполагалось ставить второй процессор — 8-разрядный КР580ВМ80А либо 16-разрядный (x86-совместимый) КР1810ВМ86, для совместимости с имеющимися наработками, предназначенными для этих процессоров.
Технические характеристики и особенности
Процессор: К1801ВМ1 (совместим по системе команд с LSI-11/03 из семейства PDP-11) на тактовой частоте 3 МГц (в БК-0011/БК-0011М повышена до 4 МГц).
Оперативная память: первые 32 КБ адресного пространства, из которых 15,5 КБ отведено под программы и данные, 512 байт под стек и системные регистры, и ещё 16 КБ — под видеопамять. Имелась возможность перераспределить оперативную память (нажатием определённой комбинации клавиш или выдачей специальной команды) — при этом 12 КБ переназначалось из видеопамяти в память программ; в таком режиме на экране отображалось всего четыре строки текста. В языке «Фокал» БК-0010 командой «V» можно узнать количество свободной памяти (после включения отображает «СВОБОДНО 35776 Б. ОЗУ» — это в восьмеричнойсистеме счисления, в десятичной — 15358 байт).[8]
Постоянная память: последние 32 КБ адресного пространства. Из них 8 КБ отводилось под драйверы клавиатуры, дисплея и магнитофона (аналог BIOS) и мониторную систему (простой вариант операционной системы с командной строкой); небольшой диапазон адресов в конце адресного пространства процессора занимали системные ячейки, управляющие периферийными устройствами, такими как магнитофон и параллельный интерфейс.
Стандартным устройством хранения данных служил бытовой кассетный магнитофон с функцией управления двигателем, или без неё. В компьютере имелось реле для запуска/остановки двигателя магнитофона.
В качестве дисплея использовался бытовой чёрно-белый или цветной телевизор (после доработки) или, реже, специальный монитор.
Устройство отображения
Особенность устройства отображения, собранного на контроллере К1801ВП1-037, заключается в наличии только графического режима. Текстовый режим отсутствует; буквы при выводе преобразуются в их графические изображения и выводятся как картинка.
Графический режим только один (если не считать режим сокращения графического ОЗУ в пользу памяти программ); видеоконтроллер при этом одновременно вырабатывает два различных видеосигнала, выдающихся на два разных разъёма.
На разъём «ТВ» выдавался телевизионный сигнал с яркостной составляющей, в котором каждой точке на экране соответствовал единственный бит экранного ОЗУ. Соответственно, 16-битное машинное слово кодировало 16 точек в строке. Всего в строке отображалось 512 точек, изображение состояло из 256 строк. Поскольку точки могли иметь только два состояния — чёрная или белая — визуальные полутона могли достигаться при помощи дробления изображения (дизеринга).
На разъём «ЦТВ» выдавлись отдельно синхросигнал и три яркостных сигнала для красного, синего и зелёного цветов. При этом каждой точке на экране соответствовало уже два бита экранного ОЗУ. Соответственно, количество точек в строке было вдвое меньше, однако при этом каждая точка могла иметь один из четырёх цветов — чёрный, зелёный, синий или красный. Каждое 16-битное машинное слово кодировало 8 соседних точек в строке.
Драйвер дисплея формировал изображений букв в графическом ОЗУ одним из двух способов, адаптированных под эти способы вывода. В режиме, предназначенном для использования с чёрно-белым устройством отображения, матрица символа из ПЗУ выводилась без изменений, и каждая её точка попадала в один бит ячейки графического ОЗУ. При ширине знакоместа в 8 точек (1 байт) это означало, что в строке помещается 64 символа. В режиме же, предназначенном для использования с цветным устройством отображения, матрица символа уширялась вдвое, но перед выводом смешивалась с маской текущего цвета, что позволяло выводить в строке 32 цветных символа. Используемый способ выбирался передачей драйверу дисплея специального кода.
Чёрно-белый режим отображения
Чёрно-белый режим отображения через цветной разъём
Цветной режим отображения. Горизонтальное разрешение снижено вдвое по сравнению с выводом через чёрно-белый разъём
Знакогенератор
В части кириллицы почти совпадает с КОИ-8, за исключением букв Ё/ё.
В таблице матриц символов изображение символа с кодом 36, которое в кодировке ASCII соответствует символу доллара ($), использовалось изображение общего знака денежной единицы (¤).
Интересно, что знакогенератор БК подвергали критике за наличие символов игральных карт, "принятых на западном развлекательном рынке"[27].
.0
.1
.2
.3
.4
.5
.6
.7
.8
.9
.A
.B
.C
.D
.E
.F
0.
BEL 7
BS 8
HT 9
LF A
FF C
CR D
РУС
ЛАТ
1.
⇱ 21F1
⤒ 2912
⤓ 2913
↵ 21B5
⇤ 21E4
↦ 21A6
⇷ 21F7
→ 2192
↑ 2191
↓ 2193
↖ 2196
↗ 2197
↘ 2198
↙ 2199
2.
20
! 21
" 22
# 23
¤ A4
% 25
& 26
' 27
( 28
) 29
* 2A
+ 2B
, 2C
- 2D
. 2E
/ 2F
3.
0 30
1 31
2 32
3 33
4 34
5 35
6 36
7 37
8 38
9 39
: 3A
; 3B
< 3C
= 3D
> 3E
? 3F
4.
@ 40
A 41
B 42
C 43
D 44
E 45
F 46
G 47
H 48
I 49
J 4A
K 4B
L 4C
M 4D
N 4E
O 4F
5.
P 50
Q 51
R 52
S 53
T 54
U 55
V 56
W 57
X 58
Y 59
Z 5A
[ 5B
\ 5C
] 5D
^ 5E
_ 5F
6.
` 60
a 61
b 62
c 63
d 64
e 65
f 66
g 67
h 68
i 69
j 6A
k 6B
l 6C
m 6D
n 6E
o 6F
7.
p 70
q 71
r 72
s 73
t 74
u 75
v 76
w 77
x 78
y 79
z 7A
{ 7B
| 7C
} 7D
~ 7E
█ 2588
8.
ПОВТ
ИНД СУ
БЛОК РЕД
Режим РП
9.
ШАГ
Красный
Зелёный
Синий
Чёрный
Режим Негатив Символ
Режим Негатив Экрана
Служебная строка
Режим подчёркивания
A.
π 03C0
┴ 2534
♥ 2665
┐ 2510
╡ 2561
├ 251C
└ 2514
═ 2550
╤ 2564
♠ 2660
┌ 250C
┬ 252C
╨ 2568
↓ 2193
┼ 253C
║ 2551
B.
┤ 2524
← 2190
╬ 256C
↑ 2191
♣ 2663
─ 2500
╫ 256B
│ 2502
♦ 2666
┘ 2518
╪ 256A
╥ 2565
╧ 2567
╞ 255E
→ 2192
▒ 2592
C.
ю 44E
а 430
б 431
ц 446
д 434
е 435
ф 444
г 433
х 445
и 438
й 439
к 43A
л 43B
м 43C
н 43D
о 43E
D.
п 43F
я 44F
р 440
с 441
т 442
у 443
ж 436
в 432
ь 44C
ы 44B
з 437
ш 448
э 44D
щ 449
ч 447
ъ 44A
E.
Ю 42E
А 410
Б 411
Ц 426
Д 414
Е 415
Ф 424
Г 413
Х 425
И 418
Й 419
К 41A
Л 41B
М 41C
Н 41D
О 41E
F.
П 41F
Я 42F
Р 420
С 421
Т 422
У 423
Ж 416
В 412
Ь 42C
Ы 42B
З 417
Ш 428
Э 42D
Щ 429
Ч 427
Ъ 42A
Клавиатура
Контроллер клавиатуры не воспринимает одновременного нажатия нескольких клавиш. Каждое нажатие клавиши сопровождается коротким звуковым сигналом, аналогичным команде «ВЕЕР» во встроенном языке Бейсик.
Не все клавиши при нажатии передают коды в компьютер. Некоторые из них являются чистыми коммутаторами электрических сигналов на входе микросхем: ⇓, АР2, ЗАГЛ, СТР, СУ. Клавиша СТОП в компьютере «Электроника МС 0513» аппаратно вызывает немаскируемое прерывание.
Штатный режим ввода — ввод заглавных букв. Вводить строчные можно, удерживая клавишу ⇓, которую условно можно назвать «Shift наоборот», или включением соответствующего режима клавишами ЗАГЛ и СТР.
В драйвере клавиатуры не реализован автоповтор нажатия клавиши при её удержании. Штатная функция автоповтора последнего введённого символа достигается нажатием и удержанием клавиши ПОВТ.
Компьютер имеет встроенный пьезокерамический динамик. Драйвер клавиатуры БК, размещённый в ПЗУ, при нажатии каждой клавиши генерирует звук, напоминающий английское слово «quick».
Модули расширения
Параллельный 16-разрядный программируемый порт ввода-вывода, выведенный на разъём СНП58-64 с обозначением «УП», позволял подключать принтер и другие периферийные устройства по интерфейсу ИРПР (адрес на шине 1777148).
К разъёму УП подключались такие блоки:
Блок КПУ с интерфейсом ИРПР — подключение принтера («ПУ»); децимальный номер 3.059.003.
Блок КМ — подключение принтера («ПУ») и мыши «Марсианка»[28] («УВК»); децимальный номер 3.059.016.
Блок КМ10 с подключением только к «УВК» (без подключения к «ПУ»); децимальный номер 3.059.017.
«Менестрель» — музыкальная приставка на основе двух КР580ВИ53[29]
В моделях БК-0010 (но не БК-0011) реализован программный (через регистр 1777168) последовательный интерфейс "ТЛГ" со скоростью до 9600 бод: сигналы RXD и TXD ТТЛ-уровня выведены на контакты B2 и B3 разъёма «УП»[30][31] (через перемычки S2 и S3; дополнительно могли выводиться сигналы квитирования RTS и CTS[32]).
К разъёму «УП» также подключали внешний таймер[33]
Через второй разъём СНП58-64 выведена системная шина БК (интерфейс МПИ). Фактически это аналог разъёма расширения на материнских платах современных ПК.
Выпускалось несколько стандартных заводских модулей, подключаемых к разъёму расширения МПИ:[34]
МСТД (Мониторная Система Тестовой Диагностики) — блок для БК 0010-01, в ПЗУ блока размещался Фокал и диагностические тесты (децимальный номер 3.069.007, прошивка № 018 и № 019); также существуют МСТД для БК-0011 (децимальный номер 3.069.009, прошивка № 203) и БК-0011М (децимальный номер 3.069.010, прошивка № 330), содержащие только тесты.
КЛС — контроллер локальной сети КУВТ-87[20]кольцевой топологии, токовая петля 60 мА, скорость 57 600 бод, сетевой адрес станции в диапазоне 0—255[38][39] (на базе К1801ВП1-065[38], децимальный номер 2.165.002[40]). Аналогичен сетевому адаптеру машины УКНЦ[41]. Не получил широкого распространения "из-за отсутствия программного обеспечения".
КМК — Контроллер МоноКанала[42] КУВТ «УКНЦ-01»[43] для объединения БК в школьную сеть «Школок» с топологией «общая шина», скорость 57 600 бод, сетевой адрес станции в диапазоне 1—31[44] (децимальные номера 2.165.004 — «Блок КМК», 2.165.006 и 2.165.010 — «Блок КМК10», 2.165.007 — «Блок КМК11»; ПЗУ 254 и 331[45]).
КНГМД — интерфейс дисковода на основе БИС КР1801ВП1-128 (децимальный номер 3.059.001 для БК-0011, ПЗУ № 253, 3.059.014 для БК-0011М, ПЗУ № 326[46][47]). Штатные блоки КНГМД содержали только контроллер дисковода и ПЗУ драйвера дисковода (без ОЗУ), поэтому не годились для БК-0010 и требовали доработки[48]. Адрес на шине 1771308.
КРМП — Контроллер Рабочего Места Преподавателя, подключение дисковода и школьной сети, КНГМД + КМК (децимальный номер блока 3.059.007 для БК-0011, 3.059.015 для БК-0011М[46]).
Блок дополнительного ОЗУ 32К Саратовского завода «Эридан»[49][50] (16 × КР565РУ6 + КР1801ВП1-030 + КР1801ВП1-034; окно 1200008-1377778)
Кроме того, силами энтузиастов и кооперативами выпускались блоки расширения, подключалась периферия[51]:
Альтернативные КНГМД с дополнительным ОЗУ: «Альтек», «АльтПро»
Блок АЦП/ЦАП для «УП», индекс БИКТ.469552.001[46].
Джойстики, световой пистолет
Программаторы ПЗУ
Программное обеспечение
В поставке БК-0010 был минимальный набор программ — кассета с примерами на Фокале или Бейсике, игра «Тетрис» и тесты оборудования. Позже для него был также адаптирован простой Бейсик с ДВК (он загружался с магнитофона в ОЗУ, занимая около 8 Кбайт и оставляя для программ порядка 7 Кбайт), а с 1985 года упрощённую (не полностью соответствующую стандарту MSX) версию «вильнюсского Бейсика» поместили в основное ПЗУ.
Однако приобрести профессионально написанное ПО для БК изначально было негде, даже при желании завод-изготовитель не мог распространять ПО самостоятельно из-за отсутствия правовой базы[23]. Основной объём программного обеспечения создавался самими пользователями — с нуля, либо путём адаптации с других ЭВМ близкой архитектуры, например с ДВК. Распространялись программы путём обмена на встречах энтузиастов — обычно на радиорынках.
В 1987 году редакция журнала «Наука и жизнь» организовала заочный клуб «Контакт» для обмена программами БК[54][55].
С октября 1987 г. действовал Московский клуб пользователей БК[56] под руководством Павла Эльтермана[57][58].
Рынок ПО для БК начал формироваться лишь к концу 80-х, с появлением кооперативов, однако для них более выгодным было тиражирование иностранных программ (в основном игр) для ZX-Spectrum. Тем не менее, из ПК оригинальной, разработанной в СССР архитектуры, БК отличался наиболее богатым набором программного обеспечения (до 4000 наименований[59]), включая:[60][61]
Музыкальные редакторы (КЛАВЕСИН (три дорожки), МЕЛОМАН, MUSIC), синтезаторы речи, цветомузыка — ЦМУ (используя магнитофонный разъём))
Справочники и словари
Программы для печати на матричных принтерах
Программы для инженерных расчётов
Учебные программы
Аппаратные доработки
Кнопка сброса. Некоторые программы часто зависали, не все игры имели правильно работающую функцию выхода. Без кнопки сброса перезагрузить компьютер можно было выключением и включением питания, но это нередко приводило к преждевременному износу выключателя на блоке питания и к тому же очищало ОЗУ.
Переключатель «пауза». Он отключал генератор тактовой частоты от соответствующего вывода процессора, в результате чего выполнение им инструкций. Это было удобно для временной приостановки игр, не имеющих встроенной функции паузы. К сожалению, отдельные игры не возвращались после этого к работе корректно, так как программируемый аппаратный таймер в компьютере продолжал работать даже когда выполнение программы центральным процессором было заморожено.
Переключатель тактовой частоты процессора (переключатель «турбо»).[67] Позволял изменить тактовую частоту со стандартной 3 МГц (в серии БК-0010*) на 4 либо 6 МГц, или со стандартной 4 МГц (в серии БК-0011*) на 3 либо 6 МГц. Не все экземпляры процессоров надёжно работали на частоте 6 МГц; пригодность каждого определялась опытным путём. Изменение тактовой частоты изменяло скорость игрового процесса в динамичных играх. Переключатель частоты обычно ставился вместе с переключателем паузы, так как в простейшей схеме переключателя частоты неизбежный дребезг контактов механического переключателя искажал форму тактового синхросигнала и мог привести к зависанию программы в результате сбоя процессора, если процессор не был остановлен на время переключения.
Выключатель звука, либо плавный регулятор громкости встроенного пьезоэлектрического динамика. Одновременно в корпус мог быть установлен более громкий динамик.
Эмуляция
В настоящее время с компьютером БК можно ознакомиться с помощью одного из программных эмуляторов БК для современных компьютеров:[68]
Компьютеру были посвящены многочисленные самодеятельные информационные бюллетени (фэнзины), в частности, «БК-ОБЗОР», газета «MaD Press» (Краснодар), газета «Дон» (Ростов-на-Дону), газета «КПСС»[74].
↑ 12A. Бойко, Р. Чикоруди. Электроника БК-0010 дома и в школе // Наука и жизнь. — 1987. — № 8. — С. 33—35.
↑Утверждена постановлением Госкомцен СССР от 27 декабря 1989 г. № 972
↑[s12.radikal.ru/i185/1006/47/32ffc74a8118.jpg Шильдик компьютера БК-0010.01, 1990 год] (неопр.). Дата обращения: 25 июня 2010. Архивировано 7 сентября 2011 года.
Митрюхин В. К., Донской А. Н., Михайлов А. В., Немов А. М.Программирование на БК-0010-01. — Чебоксары : РИО Чебоксарской типографии №1, 1993. — 1993 с.
Некоторые внешние ссылки в этой статье ведут на сайты, занесённые в спам-лист
Эти сайты могут нарушать авторские права, быть признаны неавторитетными источниками или по другим причинам быть запрещены в Википедии. Редакторам следует заменить такие ссылки ссылками на соответствующие правилам сайты или библиографическими ссылками на печатные источники либо удалить их (возможно, вместе с подтверждаемым ими содержимым).