Советские домашние компьютеры 1980-х: краткая история. Часть I.

Советские домашние компьютеры 1980-х: краткая история. Часть I.

/Автор выражает огромную благодарность веб-сайтам и людям, предоставившим для статьи фотографии советских домашних ПК и микропроцессоров:

http://retropc.org/
http://zxbyte.ru/
http://www.cpu80.ru/
Алексею Морозову (vinxru)

Вступление

Здравствуйте, уважаемые читатели. Позвольте сначала объяснить причины написания этой статьи. Приняв участие в обсуждении видеороликов и статей в Интернете, посвящённых советским ПК и игровым приставкам, можно обнаружить немало комментариев, с одной стороны, приятно-изумлённых типа «А я и не знал, что в СССР были компьютеры!» или «Оказывается, наши компьютеры были очень даже ничего!». С другой стороны, есть и враждебно-скептические — дескать, ну-ну, подумаешь, советские компьютеры, всем известно, что всё «совковое» — это отстой и что за границей ПК и игровые приставки появились чуть ли не на десять лет раньше и были в десять раз лучше. После этого становится понятно — подробной информации об отечественных ПК явно не хватает, что и приводит зачастую к странным оценкам этих ПК. Вот так и появилась статья, в которой делается попытка достаточно полно рассказать о советских персональных компьютерах с несомненным уклоном в сторону домашних ПК, как наиболее близких и понятных для обычных людей. А учебные и профессиональные компьютеры — это тоже интереснейшие и большие темы, к которым хотелось бы вернуться позже, в других статьях.

Вообще, история советских ПК, особенно домашних, настолько редко освещалась в литературе, что она многие годы остаётся почти неизвестной даже людям, имеющим непосредственное отношение к компьютерам. При этом каноническая история зарубежных ПК, начиная от первых микропроцессоров (Intel 8080, Zilog Z80, MOS 6502…), микро-ЭВМ (Altair и др.) и ПК (Apple II, IBM PC и т.д.) многим прекрасно знакома, поскольку она уже 30 лет кочует из книги в книгу и из учебника в учебник.

Прежде чем начать рассказ об отечественных домашних компьютерах, давайте вспомним, какие события предшествовали их появлению в середине 1980-х годов ХХ века.

Во-первых, надо напомнить, что Советский Союз в 1950-е, 60-е и 70-е годы был одним из мировых лидеров в сфере разработки и производства компьютерной техники: в конце 1940-х–начале 50-х в СССР были созданы первые в континентальной Европе ЭВМ (МЭСМ, М-1 т.д.), в 1960-е — одни из первых серийных суперкомпьютеров, в том числе знаменитая БЭСМ-6 с быстродействием более 1 млн. операций с плавающей запятой в секунду, которая в модернизированном виде выпускалась до 1980-х годов.

Первые отечественные ЭВМ

Рис. 1. Первые отечественные ЭВМ: М-1 (1951 год, элементная база – электронные лампы и полупроводниковые диоды)

Первые отечественные ЭВМ

Рис. 2. Первые отечественные ЭВМ: МЭСМ (1951 год, элементная база – электронные лампы)

Пульт управления БЭСМ-6

Рис. 3. Пульт управления БЭСМ-6 — одной из лучших отечественных больших ЭВМ универсального назначения

Во второй половине 1960-х были разработаны очень удачные компактные ЭВМ для инженерных расчётов серии МИР, ставшие непосредственными предшественниками персональных ЭВМ – они уже были рассчитаны на индивидуальную работу с ними инженеров — специалистов в разных областях, а не только специально обученных программистов.

МИР-1

Рис. 4. МИР-1 — компактные советские ЭВМ конца 60-х для инженерных расчётов, которые могли использоваться не только программистами, но и непосредственно специалистами из других областей, причём в индивидуальном режиме (поэтому они считаются предшественниками персональных ЭВМ, появившихся в конце 70-х)

Причём в те годы и в помине не было никакого застоя в компьютерной сфере — технологии развивались очень быстро. Например, первые советские интегральные микросхемы, содержащие несколько десятков транзисторов, появились в середине 1960-х, а менее чем через 10 лет, к середине 1970-х, в СССР уже начался выпуск микропроцессоров и других сложных микросхем, содержащих тысячи транзисторов. Первые советские универсальные микропроцессоры и микро-ЭВМ на их основе были созданы в 1974 году — почти одновременно с появлением аналогичных устройств за рубежом. Это были секционные процессоры серий К532 (переименованной позже в К587) и К536, позволявшие создавать компьютеры с разрядностью до 16–32 бит (чаще всего на их основе делались 16-разрядные микро-ЭВМ).

К587ИК2

Рис. 5. К587ИК2 — один из первых советских микропроцессоров (разработан в 1974 году), 4-разрядная секция для секционных процессоров с микропрограммным управлением и разрядностью, кратной 4-м; технология КМОП с очень малым энергопотреблением

К580ИК80

Рис. 6. К580ИК80 — один из первых советских однокристальных микропроцессоров (выпускался с 1977 г.), аналог 8-битного Intel 8080, 4800 транзисторов; ранний вариант процессора в 48-выводном планарном металло-керамическом корпусе

К1801ВМ1

Рис. 7. К1801ВМ1 — один из первых советских однокристальных 16-битных микропроцессоров (выпускался с 1981 г.), система команд DEC PDP-11/LSI-11, 17000 транзисторов (50000 элементов), прямых зарубежных аналогов нет. Применялся, в частности, в БК-0010, БК-0010-01, БК-0011, БК-0011М и ДВК-1/2/2М

Затем на основе архитектуры К587 были созданы микропроцессоры серий К588, К1804, К1883. В 1977 году начался выпуск 8-разрядного процессора К580ИК80 — аналога знаменитого 8080 корпорации Intel. На его основе впоследствии будут разработаны десятки, если не сотни, моделей советских ПК и микро-ЭВМ самого разного назначения.

В 1979 году была разработана одна из первых в мире 16-разрядных однокристальных микро-ЭВМ — К1801ВЕ1, а в 1981-м на её базе создан однокристальный 16-разрядный микропроцессор К1801ВМ1 с системой команд очень популярной в то время американской мини-ЭВМ PDP-11. Этот процессор стал родоначальником целой семьи советских 16-разрядных микропроцессоров, на которых также было создано множество моделей ПК.

Появление сравнительно дешёвых микропроцессоров, оперативной памяти (ОЗУ) и других компонентов на основе микросхем высокой степени интеграции как раз и стало той отправной точкой, от которой началось развитие персональных ЭВМ — теперь компьютеры могли быть гораздо проще по конструкции и доступнее по цене. Однако сама концепция малогабаритного компьютера для индивидуального, личного использования в те годы была ещё совсем новой и непривычной — компьютеры тогда чаще всего занимали целые машинные залы с тоннами  разного оборудования и многочисленным обслуживающим персоналом, и пользователей у каждой такой ЭВМ могли быть десятки и сотни. Лишь к концу 1970-х годов начался промышленный выпуск устройств, которые сейчас принято называть персональными компьютерами. В СССР производство первых ПК — «Искра-1256» — началось в 1979 году. Причём это были не какие-то простейшие компьютеры, а вполне серьёзные аппараты с объёмом ОЗУ до 64 килобайт и с возможностью подключения разнообразных периферийных устройств. «Искра-1256» оснащалась процессором с тактовой частотой 3 МГц и быстродействием до 1 миллиона простых операций в секунду (МИПС), монохромным текстовым монитором и встроенным накопителем-магнитофоном на компакт-кассете. В самом начале 1980-х появился ещё ряд интересных моделей советских ПК: «Искра-226» с графическим дисплеем довольно высокого разрешения 512 × 256 точек, бухгалтерский компьютер «Искра-555», «ВЭФ-Микро» на базе К580ИК80, диалоговый вычислительный комплекс ДВК-1 с уже упоминавшимся 16-разрядным процессором К1801ВМ1. На рубеже 1970-х и 1980-х годов были разработаны и первые любительские ПК в СССР — например, знаменитый «Микро-80», о котором популярный журнал «Радио» опубликовал большой цикл статей в 1982–1985 годах.

Конечно, все советские серийные ПК конца 1970-х – начала 80-х были чисто профессиональными моделями, предназначенными для сугубо серьёзного применения. В то время люди только-только начали привыкать к подобным персональным ЭВМ, которые, кстати, стоили не так уж и мало — примерно как автомобиль, а то и несколько. О выпуске каких-то «игрушечных» компьютеров для домашнего применения тогда речь ещё не шла. Впрочем, нечто подобное в СССР всё же производилось: советские телевизионные игровые приставки выпускались с 1978 года, но они были в сотни раз проще и дешевле, чем тогдашние ПК. В 1981-м году был также разработан мощный 16-разрядный универсальный ПК «Электроника НЦ-8010», вполне подходящий на роль домашнего (см. ниже), но, видимо, тогда время таких ПК ещё не пришло.

Однако всего через пару лет ситуация сильно изменилась — примерно с 1983 года за рубежом ПК стали массовым видом электроники, в том числе и домашней. Соответственно, советское руководство и промышленность, а также любители-энтузиасты не могли на это не отреагировать. В 1981 году началась разработка универсального ПК «Агат» в основном учебного назначения (в 82-м выпущены его первые прототипы), а в 1983 году был создан первый отечественный бытовой компьютер — «Электроника БК-0010», причём его конструкция была максимально упрощена и удешевлена за счёт применения специализированных микросхем на базе универсальных вентильных матриц — он содержал в себе всего 45 микросхем. Для сравнения — у первой модели «Агата» их было более 300! Правда, внедрение этих ПК в массовое производство сильно затянулось, и оно началось фактически лишь после того, как в 1984 году советским руководством было принято решение об обязательном изучении информатики в школах и, соответственно, об оснащении учебных заведений компьютерами. После этого потребность в ПК резко возросла — ведь только для оснащения школ требовалось более 1 миллиона ЭВМ. Таким образом, в 1984 году начался выпуск «Агатов» — полноценных, достаточно дорогих ПК, частично совместимых с американскими Apple II и оснащённых чёрно-белыми или цветными мониторами и дисководами для гибких дисков. В том же 1984 году стартовал и мелкосерийный выпуск БК-0010, основная часть которых направлялась в школы, а другая поступала в продажу в фирменные магазины «Электроника», где их теоретически могли купить все желающие. Однако объём производства БК-0010 оказался не так велик, чтобы удовлетворить спрос и учебных заведений, и частных покупателей, поэтому в первые годы купить его было не так-то просто — обычно это делалось по предварительной записи. Впрочем, те, кому действительно был необходим домашний ПК, хоть и не без трудностей, но вполне могли так или иначе его приобрести.

Легендарная «Бэкашка»

История создания БК-0010 была непростой и достаточно долгой. Ещё в 1979 году в Зеленоградском научно-исследовательском институте точной технологии (НИИ ТТ) разработан первый вариант недорогого компактного персонального компьютера для широкого применения «Электроника НЦ-8010», способного работать с телевизором в качестве устройства отображения информации и магнитофоном для хранения информации. Его окончательная конструкция создана в 1981-м. Это был мощный 16-разрядный двухпроцессорный (!) ПК на основе однокристальных микро-ЭВМ К1801ВЕ1 с архитектурой «Электроника НЦ», на базе которой в НИИ ТТ с середины 1970-х годов было спроектировано несколько удачных универсальных микро-ЭВМ. НЦ-8010 оснащался 64 килобайтами ОЗУ, имел графику 512х256 точек. Затем этот ПК неоднократно перерабатывался для упрощения конструкции и в соответствии с решением руководства министерства электронной промышленности СССР о полном переходе на архитектуру PDP-11. В результате к началу 1983 года был создан тот самый БК-0010, который и стал основой для серийного ПК, производство которого было освоено заводом «Экситон» в подмосковном городе Павловский Посад. Первые несколько десятков компьютеров также выпущены ещё в 1983 году. Главные конструкторы ПК — А.Н. Полосин и С.М. Косенков. Интересные подробности о создании НЦ-8010 и БК-0010, а также и других отечественных ПК можно найти в замечательной статье Б.М. Малашевича «Зеленоградские бытовые и школьные компьютеры. Инициатива наказуема исполнением» (http://www.electronics.ru/files/article_pdf/0/article_477_336.pdf).

Электроника БК-0010

Рис. 8. «Электроника БК-0010» — классический вид с цветной плоской клавиатурой, напечатанной на бумаге и покрытой плёнкой (под бумагой — матрица клавиатуры из низкопрофильных кнопок ПКН-150)

Итак, в середине 1984 года в Советском Союзе на прилавках магазинов «Электроника», наконец, появился первый отечественный домашний компьютер — «Электроника БК-0010». Стоил он сначала 540, затем 600 рублей — примерно как цветной телевизор или хороший музыкальный центр, что было не дёшево, но вполне доступно для большинства населения. Надо сказать, к этому времени люди, увлекающиеся вычислительной техникой, из книг и журналов уже хорошо знали, что такое ПК и зачем он может быть нужен, поэтому интерес к БК-0010 был велик. А когда в 1986 году главный советский научно-популярный журнал «Наука и жизнь» начал публиковать материалы о БК-0010, о нём узнали буквально миллионы читателей. С другой стороны, не нужно преувеличивать спрос на такие ПК в те годы и их значение — большинство людей вполне логично воспринимали их просто как дорогую игрушку, не имеющую серьёзного практического применения. Но для любителей-энтузиастов появление в продаже домашних компьютеров стало важнейшим событием.

БК-0010

Рис. 9. БК-0010: 44 микросхемы, ПЗУ с Фокалом и МСТД в панельках (теоретически их легко заменить на другие, более нужные пользователю, программы), основные БИС (процессор и две вентильных матрицы) в дорогих металло-керамических корпусах

Процессор

Давайте, наконец, посмотрим, что представлял из себя этот компьютер. Первое, что следует отметить — это была совершенно оригинальная советская разработка, не имеющая каких-то явных зарубежных прототипов. Второе — это был один из первых в мире полностью 16-разрядный домашний компьютер. Причём во многих источниках написано ещё конкретнее — первый в мире домашний 16-разрадный ПК. То есть у БК был 16-разрядный процессор, 16-разрядное ОЗУ, 16-разрядное ПЗУ и 16-разрядный видеоконтроллер, поэтому и передача данных шла сразу 16-битными словами, и обработка в процессоре тоже выполнялась сразу над 16-ю битами данных; все регистры процессора, естественно, тоже были 16-разрядными. Напомню, в те годы подавляющее большинство недорогих ПК были либо полностью 8-разрядными, либо частично 16-разрядными, поэтому выпуск настоящего 16-разрядного бытового ПК был большим шагом вперёд. Кстати, процессор БК-0010 — знаменитый К1801ВМ1 — содержал 50000 элементов (около 17000 транзисторов), в то время как процессоры 8-разрядных ПК — всего лишь от 3,5 до 8,4 тысяч транзисторов, что уже говорит о явном преимуществе 16-разрядных. Отмечу, что чем больше разрядность процессора, тем быстрее он производит сложные вычисления и в среднем быстрее обрабатываются данные, особенно многоразрядные (16, 32, 64 бита и т.д.), но скорость выполнения простых программ и несложных вычислений непосредственно от разрядности почти не зависит. При этом скорость работы процессора сильно зависит от тактовой частоты и его архитектуры, особенно от способности выполнять несколько команд одновременно (наличия конвейерной обработки). Так вот, процессор БК-0010, представлявший первое поколение 16-разрядных микропроцессоров (МП), как и большинство применявшихся в то время зарубежных 16-разрядных процессоров, на практике по скорости чаще всего мало отличался от типичных 8-разрядных моделей, зато К1801ВМ1 был гораздо удобнее для программиста, поскольку имел чрезвычайно удачную и любимую многими систему команд машины PDP-11. Процессор БК работал на достаточно высокой частоте 3 МГц (причём К1801ВМ1 мог штатно работать на частоте до 5 МГц, а на практике и до 6 МГц), однако сильно тормозился контроллером памяти и дисплея, снижавшим его производительность примерно на 20-30%. В результате максимальная скорость процессора при исполнении программ в ОЗУ была всего 250 тысяч оп/с. Впрочем, 16-разрядная архитектура с удачной системой команд позволяла БК вполне уверенно конкурировать по скорости с типичными 8-разрядными ПК, оснащёнными процессорами с максимальной производительностью 500–1000 тыс. оп/с.

КР1801ВМ1

Рис. 10. КР1801ВМ1 — вариант К1801ВМ1 в более дешёвом пластиковом корпусе и без позолоты на выводах (в серии БК использовались обе разновидности — и в пластиковом, и в металло-керамическом корпусе)

ОЗУ и ПЗУ

Кроме процессора, важное значение имеют и другие параметры компьютера: объём оперативной и постоянной памяти, графические и звуковые возможности, особенности клавиатуры, способность работать с внешними устройствами, возможности расширения. По этим параметрам БК-0010 находится на вполне нормальном среднем уровне, не слишком выделяясь в ту или иную сторону от зарубежных аналогов середины 1980-х. А советских аналогов в то время просто не было. Оперативная память (оперативное запоминающее устройство — ОЗУ) имела размер 32 килобайта (Кбайт) и была поровну поделена между видеопамятью, в которой хранилось изображение, выводимое на экран, и памятью для программ пользователя. То есть для хранения программ и данных выделялось всего около 16 Кбайт — это совсем не много, но и не так уж мало: аналогичная ситуация с памятью, а то и гораздо хуже, была и на многих зарубежных домашних ПК. Даже первые IBM PC в самой простой, но отнюдь не дешёвой (1565 долл. без всякой периферии) комплектации имели всего 16 Кбайт ОЗУ, наряду с недорогими вариантами таких популярных ПК тех лет, как ZX Spectrum, Acorn BBC и других. А известнейший Commodore VIC–20 (предшественник Commodore 64), в начале 1980-х первым среди всех ПК преодолевший планку в 1 млн проданных экземпляров, имел всего 5 (пять!) Кбайт ОЗУ. Кстати, главный американский заочный конкурент БК — TI-99/4A (также имевший 16-разрядный процессор), был укомплектован просто издевательским ОЗУ пользователя — всего-навсего 256 байт! Правда, видеопамять у 99/4А тоже 16 Кбайт. Под постоянную память (ПЗУ) в БК-0010 было отведено 32 Кбайта, из которых использовалось обычно лишь 24 Кбайта, то есть установлено 3 микросхемы по 8 Кбайт и одна панелька оставалась пустой — туда при необходимости можно было воткнуть ПЗУ с программами пользователя. Причём два гнезда для ПЗУ (одно из которых пустое) находились под специальной съёмной крышкой, расположенной прямо на передней панели БК слева от клавиатуры. То есть для замены ПЗУ даже не нужно было разбирать корпус. Забегая вперёд, заметим, что и клавиатура БК-0010 предполагала простую возможность замены обозначений клавиш, т.е. разработчики предусмотрели всё, чтобы пользователь мог легко адаптировать его под свои собственные разные задачи, заменяя ПЗУ и даже меняя обозначения клавиш. Впрочем, конечно, подавляющее большинство владельцев БК использовали стандартные ПЗУ из комплекта ПК и совершенно не испытывали потребности в замене раскладки клавиатуры. К тому же, здесь есть ещё одна «маленькая деталь»: сделать собственные ПЗУ для замены штатных было совсем не просто — микросхемы постоянной памяти КР1801РЕ2, использовавшиеся в БК, программировались только на заводе в процессе изготовления кристалла микросхемы (это были так называемые «масочные ПЗУ»), и «прошить» их самостоятельно, с помощью какого-либо программатора, было нельзя; вместо КР1801РЕ2 можно было использовать аналогичные по структуре ППЗУ (программируемые постоянные ЗУ) К573РФ3 с ультрафиолетовым (УФ) стиранием, но они были очень дефицитны и малодоступны; использовать какие-то более распространённые микросхемы (например, популярные 8-разрядные ППЗУ с УФ-стиранием), теоретически, было вполне возможно, но более сложно из-за специфичности архитектуры КР1801РЕ2 и К573РФ3 (они специально рассчитаны на подключение к 16-разрядной шине МПИ).

БК-0010

Рис. 11. БК-0010: под специальной крышечкой находятся две панельки для ПЗУ, которые теоретически могут быть легко заменены пользователем; здесь же необычный переключатель сброса — вместо кнопки движок с двумя положениями («Стоп» и «Пуск»)

Посмотрим, что находилось в ПЗУ БК-0010. Главная его часть — программа-монитор и драйверы устройств, занимавшие одну 8-Кбайт микросхему КР1801РЕ2. Здесь находились важнейшие драйверы, обеспечивающие ввод с клавиатуры, вывод на экран, работу с магнитофоном и т. д., а также простая программа-монитор, которая использовалась в основном для загрузки и запуска программ в машинных кодах. Вторая микросхема ПЗУ на 8 Кбайт — это тестово-диагностическая программа, позволявшая проверить работоспособность всех устройств БК. Естественно, на нормально работающем компьютере она была просто не нужна и вообще использовалась очень редко, поскольку с надёжностью у этого ПК особых проблем не было. Наконец, третью микросхему занимал интерпретатор языка Фокал (расшифровывается как «формульный калькулятор», а не «фортран-паскаль», как некоторые думали). Наличие в ПЗУ Фокала вместо уже стандартного в то время Бейсика служило одной из главных мишеней для критиков БК-0010. Действительно, программ на Бейсике уже в то время публиковалось огромное количество, а Фокал был известен даже не всем программистам. Однако сам по себе Фокал считался простым и достаточно удобным языком, позволявшим создавать программы любого назначения. Хотя у него имелись некоторые важные отличия от Бейсика, они были направлены на упрощение программирования, так что освоение Фокала выглядело ничуть не более сложным, чем обучение Бейсику. В общем, владельцы БК быстро привыкали к Фокалу, и особых неудобств от его наличия вместо Бейсика, вроде бы, не испытывали. При этом Бейсик тоже можно было использовать, загружая его в оперативную память с магнитофона. Правда, ОЗУ пользователя итак было невелико, так что в этом случае для программ на Бейсике оставались считанные килобайты.

Использование в БК-0010 Фокала вместо Бейсика являлось большой загадкой для всех его владельцев. Однако всё объясняется просто: дело в том, что на момент начала выпуска БК для подобных ПК уже был почти подходящий интерпретатор Бейсика — так называемый Бейсик-ДВК (версия, адаптированная для компьютеров ДВК), но он отличался чрезвычайно низкой скоростью работы и отсутствием поддержки графики. Вряд ли разработчиков БК сильно смутила скорость работы, скорее они просто не смогли уместить эту версию Бейсика, переделанную для БК с добавлением графических и других команд, в 8 Кбайт ПЗУ. В то же время, для PDP-совместимых компьютеров существовала версия интерпретатора Фокала размером около 6 Кбайт, которая была расширена простейшими функциями работы с графикой и магнитофоном, и даже после этого легко поместилась в 8 Кбайт ПЗУ вместе с полными текстами сообщений об ошибках и краткой справкой об управляющих клавишах, командах и функциях Фокала. К тому же программы на Фокале работали примерно на треть быстрее, чем программы на Бейсике ДВК. В этих условиях разработчики БК-0010 приняли в 1983 году самое простое решение — не пытаться создать новый Бейсик размером до 8 Кбайт или отвести под него уже 16 Кбайт, либо как-то ужать существующий Бейсик-ДВК (а он уже был очень упрощённой версией), а взять уже готовый, очень компактный интерпретатор Фокала. Впрочем, разработку нового транслятора Бейсика специально для БК всё же заказали Вильнюсскому госуниверситету, и в 1985 году вышла первая его версия размером 9 Кбайт для загрузки в ОЗУ БК с кассеты, а в 1986 году — 24-килобайтная версия для размещения в ПЗУ. О вильнюсском Бейсике речь также пойдёт несколько ниже.

Графика и звук

Теперь давайте посмотрим на изобразительные возможности БК-0010. Он имеет чисто графический экран с двумя основными разрешениями: 256 строк по 512 точек в строке и 256 строк по 256 точек. Первое поддерживает только 2 цвета для любой точки, второе — 4 цвета, причём эти цвета постоянны — чёрный, красный, зелёный и синий. Белый цвет в цветном режиме не отображается. Программируемой палитры нет. Специального текстового режима с минимальным объёмом видеопамяти нет — как и на многих других ПК, символы выводятся в графическом режиме в виде маленьких картинок (а это значит, что есть возможность без проблем показывать на экране любые символы любых алфавитов). На экране отображается 24 строки по 32 или 64 символа в строке, вверху экрана есть также служебная строка, на которой выводятся текущие режимы работы и подсказка о назначении «функциональных» клавиш. Имеется достаточно редкая для того времени функция аппаратного плавного вертикального скроллинга — прокрутки экрана.

Вообще, БК имеет два видеовыхода — цветной RGB для подключения цветного монитора или телевизора (ТВ) и чёрно-белый композитный — для подключения чёрно-белого монитора или ТВ. Правда, во многих БК выход RGB на заводе почему-то не устанавливался, и его приходилось допаивать уже самому владельцу ПК. Высокое разрешение 512 × 256 нормально поддерживалось только чёрно-белым выходом, а при подключении через цветной изображение на экране в таком разрешении приобретало странный вид с непонятными цветными контурами и точками. При этом разобрать надписи можно, но нормальной такую работу не назовёшь. Владельцам цветных телевизоров приходилось подключать БК двумя кабелями — один от чёрно-белого выхода БК к композитному входу телевизора, а другой — от цветного выхода БК к RGB-входу ТВ, а в процессе работы переключать входы в зависимости от разрешения, используемого в программе. Впрочем, большинство программ, особенно игр, задействовало только цветной режим с разрешением 256 × 256, и частое переключение не требовалось. К тому же при работе в Фокале, Бейсике или системном мониторе можно было с клавиатуры быстро переключать разрешение экрана, приводя его к нужному виду.

БК-0010

Рис. 12. БК-0010: разъемы питания, параллельного интерфейса, выхода на ч/б телевизор или монитор, шины МПИ и магнитофона; выход RGB (для цветного изображения) отсутствует, как и у многих других экземпляров БК (разъем и несколько других недостающих деталей можно было впаять на плату самостоятельно, также надо было проделать и недостающее отверстие в корпусе для него)

Кстати, подключить БК, как и почти любые другие отечественные ПК, к цветному телевизору в цветном режиме было не так-то просто: большинство телевизоров не имели никакого RGB-входа, хотя на многих моделях его установка была предусмотрена. Это было вызвано тем, что до массового появления домашних ПК к видеовходам просто-напросто нечего было подключать. А те устройства, вроде видеомагнитофонов или игровых телеприставок, которые работали в паре с телевизором, почти всегда имели самый обычный антенный выход, подключавшийся соответственно к антенному входу любого ТВ. В общем, владельцам БК либо приходилось делать несложную доработку своих телевизоров либо лицезреть даже на цветном телевизоре только чёрно-белое изображение.

Нужно заметить, что на БК был ещё так называемый режим расширенной памяти (РП), в который можно было быстро переключиться с клавиатуры. В этом режиме для вывода изображения отводилась только верхняя четверть экрана, зато ОЗУ пользователя расширялось до 28 Кбайт. То есть была возможность при необходимости сильно увеличить длину программ, не требующих задействования всего экрана — например, для каких-то сложных расчётов или баз данных и т. д. Интересно, что некоторые программы вроде копировщиков файлов использовали часть экранной памяти для хранения программ и данных и без перехода в режим РП — тогда на экране появлялись области «шума» из случайных точек случайного цвета.

Звуковые способности у БК-0010 самые обычные — никакого специального звукогенератора, звук воспроизводится чисто программно изменением бита в регистре (точнее, 2-х битов). Такое решение было очень характерно для многих советских и зарубежных ПК того времени. Встречались даже компьютеры совсем без звука — например, «Роботрон-1715» (ГДР). Конечно, звучание такого синтезатора, как правило, было совсем простым — обычно одноголосный звук с прямоугольной волновой формой одинаковой амплитуды и всё. Хотя при более хитрых алгоритмах вывода звука на БК можно было синтезировать и многоголосную музыку и шумовые эффекты и даже имитировать изменение громкости. Кроме того, использование специального встроенного аппаратного таймера БК позволяло также получить интересные звуковые эффекты. Однако в моменты воспроизведения звука процессор БК, как правило, был полностью загружен, поэтому вывод звука в процессе игры сильно тормозил работу, а о постоянном звучании музыки в игре речи обычно вообще не шло. В некоторых играх музыка всё же звучала, но выводилась она короткими фрагментами (в промежутках между которыми процессор успевал выполнять другие задачи вроде перемещения объектов на экране) или использовались более сложные алгоритмы, задействующие встроенный таймер и т.д.

Клавиатура

Ещё один интересный момент — клавиатура БК-0010. Самый первый вариант БК снабжался так называемой мембранной клавиатурой, представлявшей собой совершенно ровную поверхность с отпечатанными обозначениями клавиш. Под рисунком каждой клавиши в некотором углублении находятся контакты, которые замыкаются довольно сильным нажатием пальца. Эта конструкция, как и на других ПК, использовавших подобный вариант клавиатуры (например, Atari 400), сильно отличалась от привычных объёмных клавиш типа пишущей машинки и вызывала много нареканий. В результате производители БК через некоторое время заменили мембранную клавиатуру на другой вариант, внешне похожий, но внутри заметно отличный: вместо мембранной плёночной клавиатуры были установлены нормальные кнопочные переключатели с невысокими пластиковыми площадками-толкателями, а сверху всё это было накрыто бумажным листом с цветными обозначениями клавиш и прозрачной защитной плёнкой. Работать с такой клавиатурой было намного приятнее, хотя опять же привычной тактильной связи, характерной для объёмных клавиш, здесь не было — поверхность клавиатуры была совершенно гладкая, да и ход клавиш был совсем небольшой. Тем не менее, этот вариант оказался достаточно удачным и надёжным. Общее количество клавиш — 86 штук, что очень даже немало. К примеру, у знаменитого ZX Spectrum их было всего 40. При этом у БК клавиши разного назначения выделены разными цветами.

БК-0010

Рис. 13. Чрезвычайно функциональная клавиатура БК-0010: 86 кнопок разного назначения, множество клавиш для редактирования текста и выбора режимов, на буквенных клавишах нанесены также символы псевдографики

Бросается в глаза не только весёленькая расцветка клавиатуры, но и большое количество непривычных и загадочных клавиш с русскими обозначениями: ГРАФ, ШАГ, ПОВТ, БЛОК РЕД, ИНД СУ, ЗАП, УСТ ТАБ, СБР ТАБ, ВС, ГТ и т. д. А ведь все они выполняли какие-то важные функции, иначе зачем было их выносить на клавиатуру в качестве отдельных кнопок. Например, кнопка ГРАФ переводит ПК в режим непосредственного рисования на экране, когда вместо привычного текстового появляется «графический» курсор, который можно перемещать с помощью стрелок, а кнопками ЗАП и СТИР включать режимы записи или стирания, чтобы курсор оставлял след (можно выбрать нужный цвет) или стирал ранее нарисованное. То есть разработчики БК предусмотрели даже простейший графический редактор, встроенный в ПЗУ, и этот «редактор», несмотря на примитивность, оказался очень полезен — он активно использовался для ввода в ПК даже весьма сложной графики (обычно она сначала рисовалась на миллиметровке или школьной тетради в клетку, а перевести её по точкам на экран было уже совсем просто, причём необходимости использовать более сложный графический редактор часто просто не было). Кнопки УСТ ТАБ и СБР ТАБ позволяют устанавливать или удалять на экране произвольные позиции табуляции (тоже весьма полезная функция), ГТ перемещает курсор на 8 позиций вправо, ШАГ позволяет выполнять программу на Фокале или Бейсике пошагово (очень удобно при отладке программ), ИНД СУ включает отображение на экране управляющих символов (аналог кнопки “Пи” в современном MS Word). Кнопка ПОВТ служит для повтора последней нажатой клавиши (автоповтора при долгом удержании кнопки у БК в стандартном режиме не было). Кстати, особенностью контроллера клавиатуры БК было то, что он не мог отслеживать несколько одновременно нажатых кнопок — код клавиши выдавался только один, что несколько затрудняло управление в играх. Впрочем, при использовании нестандартных приёмов можно было определить и несколько нажатых клавиш. К тому же почти во всех играх был предусмотрен выбор клавиш самим пользователем. А ещё в играх здорово помогал джойстик, который в этом случае, конечно, был намного удобнее клавиатуры.

БК-0010-01

Надо сказать, разработчики компьютера довольно быстро отреагировали на критику пользователей и в 1986 году создали усовершенствованный вариант БК под названием БК-0010-01, в котором исправили два наиболее спорных момента: во-первых, наконец, поместили в ПЗУ Бейсик вместо Фокала, а во-вторых, поменяли клавиатуру на привычный вариант с объёмными полноходовыми кнопками. При этом клавиш стало несколько меньше — 74 и качество клавиатуры вызвало не меньше замечаний, чем у первых моделей. Дело в том, что клавиши БК-0010-01 имели не слишком удачную конструкцию и были очень подвержены такому явлению, как «дребезг контактов», когда при однократном нажатии кнопки выдаётся несколько одинаковых символов. Эта проблема в большей или меньшей степени присутствует во всех типах клавиатур, но обычно легко решается программным или аппаратно–программным способом. К сожалению, у БК-0010-01 предусмотренные конструкторами меры по защите от дребезга контактов оказались недостаточными, и в этом плане новая клавиатура была явно хуже старой. Впрочем, пользователи БК, как могли, сами решали эту проблему, переделывая разными способами клавиатуру или просто работая на ней короткими чёткими ударами. Интересно, что в новой модификации БК была убрана съёмная крышка на передней панели для быстрой замены ПЗУ, да и возможность замены обозначений клавиш тоже пропала со сменой типа клавиатуры — то есть возможности адаптации компьютера под задачи пользователя несколько снизились. Видимо, это было сделано в связи с очень малой востребованностью этих функций в реальной жизни.

БК-0010-01

Рис. 14. БК-0010-01: вариант с надёжной плёночной клавиатурой (современного типа); от клавиатуры с механическими кнопками отличается ровными (без выступов) боковыми сторонами

БК-0010-01

Рис. 15. БК 0010-01: «дешёвый» вариант — все микросхемы в пластиковых корпусах. ПЗУ без панелек. 45 микросхем (на одно ПЗУ больше, чем у БК-0010)

Бейсик в ПЗУ БК-0010-01 занимал целых 3 микросхемы — 24 Кбайта и представлял собой так называемый вильнюсский Бейсик, разработанный в середине 1980-х в Вильнюсском университете — очень интересный вариант транслятора компилирующего типа, позволявший выполнять многие программы в разы или даже в десятки раз быстрее, чем это делали интерпретаторы Фокала или Бейсика ДВК. При этом для пользователя работа с таким транслятором почти ничем не отличалась от работы с обычным интерпретатором. Бейсик БК был очень развитой версией, аналогичной стандарту MSX (Machines with Software eXchangeability) и поддерживающей почти все его графические и другие операторы, способный работать с целыми числами, а также вещественными одинарной и двойной точности. Правда, были у вильнюсского Бейсика и недостатки — например, невозможность размещения нескольких операторов в одной строке и большие требования к объёму памяти. Первое ограничение — один оператор в строке — было очень странным и необъяснимым (тем более, что упрощённая 9-килобайтная версия этого же Бейсика, предназначенная для загрузки в ОЗУ, позволяла писать несколько операторов в строке!), а с памятью ситуация была такая: поскольку Бейсик БК после подачи команды RUN (запуск на исполнение) сначала транслировал программу в особый промежуточный код, который затем исполнялся гораздо быстрее, чем это делали классические интерпретаторы, получается, что в памяти БК должны были храниться как исходный текст программы, так и как бы скомпилированный вариант или, по крайней мере, нужно было резервировать место под скомпилированную программу. В общем, программа на Бейсике могла занимать лишь половину пользовательской памяти БК, а фактически даже меньше — порядка 7 Кбайт, ведь нужно было ещё оставить место под переменные и служебные данные. При этом программа на Фокале могла занимать порядка 15 Кбайт. Так что ситуация с памятью у Бейсика БК была очень странная — максимальная длина программы на Бейсике была в 3 с лишним раза меньше, чем размер самого транслятора Бейсика. С другой стороны, 7-ми Кбайт всё же хватало для составления почти любых учебных программ, а также для многих расчётов и даже вполне приличных игр. К тому же не следует забывать о режиме расширенной памяти, позволявшем увеличить размер программ почти в 2 раза за счёт уменьшения видеопамяти.

Бейсик БК-0010-01

Рис. 16. Фрагмент программы на Вильнюсском Бейсике БК-0010-01: в цветном режиме цвет текста по умолчанию — красный (белый в этом режиме у БК отсутствует), сверху — служебная строка с индикаторами текущих режимов работы (загадочные символы слева — это «подсказки» назначения «функциональных» клавиш (на БК называемых «ключами»), т. е. первые буквы операторов Бейсика, вводимых при нажатии на «ключи» К1-К10)

Для совместимости с первым вариантом БК в комплекте БК-0010-01 поставлялся специальный блок МСТД, подключаемый к системному разъёму и содержащий две микросхемы ПЗУ — с Фокалом и тестово-диагностической системой. Таким образом, объём ПЗУ у БК-0010-01 мог быть до 48 Кбайт (но одновременно использовалось не более 32-х) — в 2 раза больше, чем у прежнего БК-0010.

БК-0010-01

Рис. 17. Клавиатура у БК 0010-01 более традиционная — с объемными кнопками. Клавиш 74 — на 12 меньше, чем у БК-0010, и на основных клавишах нет символов псевдографики

Интересно, что выпуск усовершенствованного варианта БК-0010-01 вовсе не означал автоматического прекращения производства старого. Оба компьютера — БК-0010 и БК-0010-01 — несколько лет выпускались одновременно. При этом вариант -01 был на 50 рублей дороже — он обычно стоил 650 рублей (а в самом начале 1990-х — 750 руб).

О памяти, звуке и периферии

Ещё несколько слов об оперативной памяти БК. Конечно, её объём был маловат для работы с большими программами или стандартными операционными системами, но создатели программ очень активно использовали драйверы устройств и знакогенератор, находящиеся в ПЗУ всех версий БК, что позволяло сократить размер программ на несколько килобайт. Стандартное, несменяемое ПЗУ БК-0010 содержало драйверы вывода текста на экран, рисования точек и линий, ввода с клавиатуры, чтения с магнитофона и записи на него и другие. Оно же содержало и графические образы всех символов, отображаемых на экране. Это значительно облегчало задачу программиста и сокращало требования к объёму ОЗУ. Впрочем, возможность задействования ресурсов штатного ПЗУ активно использовалась и на других ПК (например, на «Спектруме»), но не на всех – скажем, у «Вектора-06Ц» в ПЗУ никаких драйверов устройств и знакогенераторов просто не было, всё это должно было загружаться в ОЗУ, являясь составной частью любой программы, и это несколько сокращало, так сказать, полезный объём ОЗУ пользователя и увеличивало на несколько килобайт размер программ. С другой стороны, по этой причине в большинстве программ и игр на БК используется одинаковый шрифт и очень похожее оформление заставок игр, в то время как на «Векторе» оформление гораздо разнообразнее.

О выводе звука создатели ПК того времени особо не заботились — в советских компьютерах не было ни выхода на наушники, ни специального линейного выхода. В каждом ПК был маленький, но довольно громкий динамик или пьезодинамик, а для получения большей громкости и лучшего качества использовался магнитофонный разъём ПК, куда поступал звук не только с магнитофонного выхода, но и с выхода отдельного звукосинтезатора, если он был. К этому разъёму легко подключался любой усилитель, но чаще всего в его роли выступал тот же магнитофон, который ставился на паузу в режиме записи. Соответственно, наушники подключались уже к магнитофону или усилителю.

К концу 1980-х годов для БК-0010 выпускалось несколько дополнительных устройств, расширяющих его возможности – например, джойстики для игр, манипулятор «мышь» под романтичным названием “Марсианка”, простой многоголосный музыкальный синтезатор “Менестрель”, контроллер флоппи-дисководов и даже компактный рулонный графопостроитель.

БК-0010-01

Рис. 18. Отличный герконовый мини-джойстик (серийная модель), оснащённый специальным разъемом для подключения к БК

БК-0011 и БК-0011М

Советские покупатели домашних ПК были, как правило, людьми образованными и прекрасно осведомлёнными о зарубежных достижениях в этой сфере. Они вовсе не были на всё согласными и неразборчивыми потребителями — наоборот, наши пользователи близко к сердцу принимали любые недостатки отечественной техники и с удовольствием слали разработчикам и изготовителям первых ПК свои замечания и предложения по их усовершенствованию. Главными недостатками БК считались малый объём ОЗУ, малое число отображаемых цветов, сравнительно медленный процессор, нестандартная клавиатура и наличие в ПЗУ Фокала вместо Бейсика. Как уже упоминалось, часть этих недостатков было исправлено в 1986-87 году выпуском БК-0010-01. В те же годы была разработана и значительно усовершенствованная модель БК-0011, имеющая в 4 раза большее ОЗУ — 128 Кбайт (при этом ОЗУ пользователя (96–112 Кбайт) — в 6-7 раз больше, чем у БК-0010!), более высокую тактовую частоту (4 МГц вместо 3-х), контроллер флоппи-дисководов, два экранных буфера по 16 Кбайт и разные варианты цветовой палитры.

БК-0011

Рис. 19. БК-0011 — внешне практически полная копия БК-0010-01 (но опять появилась сдвижная крышка над панельками с ПЗУ)

БК-0011

Рис. 20. Основная плата БК-0011: 57 микросхем (на 12 больше, чем у БК-0010-01), всего одна панелька для пользовательского ПЗУ

Однако, по имеющимся данным, серийный выпуск БК-0011 начался только в 1989 году, причём через год она была заменена на БК-0011М — модель, имевшую улучшенную совместимость с БК-0010. Внешне БК-0011 была копией БК-0010-01, но внутри отличия довольно большие. К сожалению, вопреки ожиданиям многих пользователей, в новой модели не было существенных изменений графических возможностей – ни увеличения числа одновременно отображаемых цветов до 16, ни программируемой палитры. Разработчики добавили только выбор одной из 16-ти фиксированных палитр и второй кадровый буфер.

БК-0011

Рис. 21. Загадочный набор палитр БК-0011/0011М: хорошо видно, что во всех палитрах нулевой цвет всегда чёрный, в четырёх палитрах используются лишь два цвета (включая чёрный), две палитры полностью одинаковы, синий цвет задействован только в двух палитрах. Заметим, что нулевая палитра (первый столбец слева) – это все цвета, доступные на БК-0010/0010-01. Спасибо Алексею Морозову (vinxru) за наглядное отображение палитр БК-0011/0011М

То есть графика в программах для БК-0011/0011М стала заметно разнообразнее —  в частности, появился-таки белый цвет в цветном режиме! — но радикального её улучшения не произошло. Впрочем, в плане графики БК-11/11М среди массовых советских домашних ПК уступали только «Вектору-06Ц», ПК8000 и, отчасти, клонам «Спектрума» — остальные компьютеры одновременно отображали либо те же 4 цвета, либо 8 цветов в низком разрешении, либо имели монохромную графику (белое на чёрном), либо вообще не имели графического режима.

БК-0011М

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

БК-0011М

Рис. 23. Внутренняя конструкция БК-0011М: рядом с клавиатурой находится дополнительная плата с основной частью микросхем ПЗУ и пустыми панельками под ПЗУ пользователя

БК-0011М

Рис. 24. Плата БК-0011М внешне полностью аналогична плате БК-0011. В пустое синее гнездо ПЗУ на левом краю основной платы вставляется разъем шлейфа модуля дополнительного ПЗУ (слева на снимке)

БК-0011М

Рис. 25. Контроллер дисководов на основе БМК К1801ВП1-128 и ПЗУ с загрузчиком ОС К1801РЕ2-326, входивший в стандартный комплект БК-0011 и БК-0011М с момента их появления в 1989 году, вызвал бурный рост разработок дисковых операционных систем для БК и стал основой для множества других вариантов, которые могли содержать статическое ОЗУ (объемом 8 или 16 Кбайт) вместо ПЗУ, либо и ОЗУ, и ПЗУ вместе и т. д. Фото Н.Зимина

Внешняя память

В качестве внешнего запоминающего устройства в первые годы жизни БК-0010 использовались обычные бытовые магнитофоны. Стандартная скорость записи выбрана достаточно высокой – 1200 бит в секунду (у многих зарубежных ПК 1980-х она в 2-4 раза ниже), то есть загрузка программ занимала примерно 1–2 минуты, и это было вполне терпимо. Причём в этой части конструкции разработчики БК-0010 использовали оригинальное решение – для вывода на магнитофон задействовалось 2 бита выходного регистра (т.е. фактически 2-битный ЦАП), а не один, как у всех остальных ПК. Это позволяло использовать для записи на магнитофон как минимум три уровня сигнала, а не два, как обычно, что увеличивало надёжность хранения данных за счёт использования для более коротких импульсов более высокого уровня сигнала. Вообще, на одну 60-минутную кассету при стандартной скорости записи помещалось около 500 Кбайт данных — а это порядка 30–50 типичных программ. Кроме обычного формата записи энтузиастами было создано несколько так называемых турбо-копировщиков, позволявших увеличить скорость записи в несколько раз. Соответственно увеличивалась ёмкость кассеты и уменьшалось время загрузки программ. В общем, магнитофоны и кассеты в качестве средств хранения программ и данных были не таким уж плохим вариантом, поскольку магнитофон итак был практически в каждом доме, а кассеты тогда стоили гораздо дешевле дискет и были гораздо доступнее. Правда, использование магнитофона для разработки программ сильно замедляло и усложняло этот процесс, и здесь уже дисковод для гибких магнитных дисков оказывался более чем кстати. Возможность подключения БК к дисководам реализована в конце 1980-х годов, и в короткое время для БК было создано или адаптировано не меньше десятка дисковых операционных систем. Впрочем, дисководы тогда стоили очень дорого – нередко в разы больше самого ПК. Например, цена обычного 5,25-дюймового привода в магазинах «Электроника» достигала 1500–2000 рублей. Поэтому большинство владельцев БК и в 1990-е годы продолжали пользоваться магнитофонами и кассетами.

Заставка ANDOS

Рис. 26. Заставка ANDOS (с крутящейся трёхмерной надписью!) — популярной операционной системы для БК-0010-01, а также БК-0011 и БК-0011М (ANDOS была удобна тем, что имела формат дисков, совместимый с IBM PC, что позволяло легко обмениваться файлами между БК и PC-совместимыми ПК)

Заставка MK-DOS

Рис. 27. Заставка MK-DOS — ещё одной популярной ОС для семейства БК-0010/0011, вышедшей одной из последних для БК: в 1992 году (заставка недвусмысленно копирует логотип MS Windows); MK-DOS, в отличие от ANDOS, несовместима по формату дискет с IBM PC, зато совместима с несколькими другими ОС для БК; для работы с файлами в MK-DOS также используется файловый менеджер, аналогичный Norton Commander

Файловый менеджер ANDOS

Рис. 28. Файловый менеджер ANDOS: как и большинство других файловых оболочек тех лет, внешне копировал суперпопулярную программу Norton Commander для IBM-совместимых ПК

Программы

Во многих статьях о БК-0010 в 1980–1990-е критиковалось отсутствие в комплекте поставки большого количества программ или сложность их приобретения. Это, в общем-то, обычная проблема для любых только что выпущенных компьютеров, и БК, конечно, не был исключением. Хотя программы активно разрабатывались профессиональными программистами и энтузиастами, приобрести их поначалу было непросто, поскольку заводам-изготовителям это было не очень-то интересно (их профиль – выпуск электронной техники, а не тиражирование программ на кассетах), а фирм-распространителей программ для домашних ПК в середине 1980-х ещё просто не существовало. Тем не менее, владельцы этих компьютеров, конечно, с самого начала обменивались программами и информацией, а к концу 1980-х появились кооперативы, занимающиеся тиражированием и распространением ПО для БК-0010 и других домашних компьютеров, причём к этому времени для БК уже было создано огромное количество программ самого разного назначения, в том числе, естественно, игр, обучающих программ, системных и прикладных. Например, на БК встречалось как минимум три версии Бейсика – вильнюсский вариант в ПЗУ объёмом 24 Кбайт, его сокращённая версия объёмом всего 9 Кбайт для загрузки в ОЗУ (для варианта БК, имеющего в ПЗУ Фокал вместо Бейсика) и чистый интерпретатор Бейсик-ДВК. Из языков программирования, соответственно, был также популярен Фокал в ПЗУ объёмом 8 Кбайт, для которого создавались полезные расширения (Focod, XFocal) и даже компиляторы. Другая интересная разработка, ориентированная в основном на сферу образования — так называемый, Т-язык, интерпретатор которого позволял создавать довольно быстрые и красочные обучающие, демонстрационные и игровые программы. На БК были и трансляторы таких языков, как Форт и Си. Но, безусловно, главный язык программирования для создания серьёзных программ — это Ассемблер, родной язык микропроцессора ПК, и для него существовало множество различных трансляторов, в том числе объединённых с редактором текста, а также дизассемблеры и отладчики. Кстати, система команд процессора БК-0010, как и других моделей на основе архитектуры PDP-11, считается одной из наиболее удобных, универсальных и эффективных. Поэтому программирование на Ассемблере БК достаточно просто осваивалось не только программистами, но и любителями-энтузиастами, что позволило в достаточно короткие сроки создать для БК большую библиотеку ПО. Сильно упрощало разработку программ и наличие в ПЗУ компьютера стандартных драйверов ввода-вывода с доступом через программное прерывание EMT. Причём использование этих драйверов было подробно описано в документации, идущей в комплекте к каждому БК. Много хороших игровых, обучающих и прикладных программ создано и на вильнюсском Бейсике, который, будучи как бы полукомпилятором, отличался очень высокой скоростью выполнения простых операций, особенно с целыми числами. При этом в программах на Бейсике часто использовались также и подпрограммы в машинных кодах, позволяющие ещё больше ускорить какие-то важные действия вроде вывода графики на экран.

Для БК известно более 800 игр на Ассемблере, а также множество — на Бейсике и Фокале. Общий уровень игр высокий, очень много игр оригинальных или почти оригинальных, а не «содранных» один в один с популярных иностранных компьютеров. Отмечу, что, если первые игры для БК часто были чёрно-белыми, особенно те, что перенесены с компьютеров ДВК, то к концу 1980-х программисты уже вовсю использовали цветовые возможности ПК, создавая красочные заставки, задействуя псевдоцвета (смешивая основные цвета в шахматном порядке или полосами и т.п.) для преодоления ограничения в 4 отображаемых цвета, программно реализуя цветные «спрайты» с точным наложением на сложный фон.

БК: итоги

Подводя итоги в рассказе о первом советском бытовом компьютере «Электроника БК-0010», давайте ещё раз отметим его сильные и слабые стороны.
Сильные стороны. В целом, компьютер получился, безусловно, удачный. Симпатичный и компактный корпус, высокое качество изготовления, полностью 16-разрядная архитектура с очень удобной системой команд микропроцессора — это однозначные плюсы.
Недостатки и спорные моменты. Небольшой объём ОЗУ и малое число отображаемых цветов – с одной стороны, конечно, минус, особенно для конца 1980-х и начала 1990-х, хотя в начале 1980-х такая память и такие графические возможности были вполне обычными и на других ПК. С другой стороны — памяти-то могло быть ещё меньше (как у некоторых популярных зарубежных ПК начала 1980-х) и хорошо, что поддержка цвета и графики вообще предусмотрена разработчиками БК, поскольку в те годы вполне обычными были и компьютеры вовсе без графики и цвета, с чисто текстовым монохромным экраном, как, например, знаменитые TRS-80, Commodore PET или Sinclair ZX81, или, позднее, отечественные ПК на основе «Радио-86РК». Использование в ПЗУ Фокала вместо Бейсика в первых вариантах БК — также для кого-то недостаток, но можно воспринимать это и как одну из «изюминок» нашего первопроходца, отличавшую его от большой массы зарубежных аналогов, всех как один оснащённых Бейсиком.

Сравнение с западными ПК

Сравнивая БК-0010 с иностранными домашними компьютерами того времени, можно заметить, что по всем параметрам он выглядит вполне достойно, и широко распространённый миф о какой-то «отсталости» и неоригинальности советских компьютеров в этом случае абсолютно не подтверждается. Если посмотреть на широко известные иностранные ПК, появившиеся примерно в то же время, т. е. в 1982–1984 годах, то ничего сверхъестественного мы не увидим — ни каких-то мощных процессоров, ни огромного объёма памяти, ни невероятной графики. В качестве процессоров использовались всё те же 8-разрядные модели, что и в середине-конце 1970-х, с тактовой частотой от 1 до 4 МГц, в среднем мало отличавшиеся по скорости от 16-битного процессора БК-0010 с частотой 3 МГц. Оперативная память составляла от 8 до 64 Кбайт (чаще всего от 32 до 64) , видеопамять — от 6 до 20 Кбайт, ПЗУ — от 16 до 32 Кбайт. У БК, напомню, оперативная память была 32 Кбайт, видеопамять — 16 Кбайт, ПЗУ — 24 (БК-0010) или 32–48 (48 — у БК-0010-01 с блоком МСТД) Кбайт, то есть никаких отличий в худшую сторону от среднего зарубежного уровня у БК мы не видим, скорее наоборот. С графическими возможностями ситуация интереснее: с одной стороны, многие «иностранцы» в те годы уже поддерживали более многоцветную графику — обычно 8 или 15–16 цветов, вместо 4-х у БК, но графика значительной части зарубежных ПК была ориентирована исключительно на игры, как, например, у Commodore 64, Atari или MSX, к тому же отличаясь большими ограничениями в плане разрешения экрана и произвольного выбора цветов точек. К примеру, у знаменитого ZX Spectrum при доступных 15 цветах есть очень серьёзные ограничения, связанные с атрибутной структурой цветного изображения — в каждом знакоместе экрана размером 8 х 8 точек (а это 64 точки) можно использовать лишь 2 цвета, что приводит к полной неспособности выводить детализированное многоцветное изображение. В результате из-за сложности формирования динамичной цветной картинки многие игры для него имели просто двухцветное игровое поле, т.е. фактически монохромную графику, а в неигровой сфере графика «Спектрума» отличалась ярко выраженным так называемым блочным эффектом, когда при выводе сложной картинки вместо чётких разноцветных точек и линий отображались непонятные и совершенно незапланированные цветные квадратики. Похожая проблема есть и у ПК стандарта MSX — у них в графическом режиме  тоже подобная атрибутная графика с 15-ю цветами, но размер блока гораздо меньше — 1х8 точек. Здесь при выводе произвольной графики артефакты менее заметны, но также очень даже присутствуют. В то же время БК-0010 имеет меньшее число доступных цветов, зато позволяет свободно выбирать из них цвет любой точки без всяких атрибутных ограничений, что даёт возможность отображать гораздо более чёткую и правильную произвольную графику. Кроме того, те же MSX и ZX Spectrum имеют только одно разрешение экрана и притом невысокое — 256 × 192 точки, а БК поддерживает не только среднее разрешение — 256 × 256, но и высокое — 512 х 256, что очень важно и полезно для серьёзного использования ПК, такого как редактирование текста, работа с таблицами, графиками и т.д. Также можно заметить, что ни MSX, ни «Спектрум» не имеют плавного аппаратного вертикального сдвига экрана, а у БК он предусмотрен, что очень важно, прежде всего, для игровых и некоторых других программ, выводящих динамичную графику (да и просто для работы с текстом). У таких домашних ПК, как Commodore 64 и Atari 400/800/XL/XE графические возможности хорошие, но они полностью ориентированы на игры. В неигровой сфере их способности также сильно ограничены. Скажем, самый распространённый домашний ПК всех времён и народов — Commodore 64 — имел такие параметры отображения графики: при разрешении 320×200 точек в каждом знакоместе 8х8 точек было доступно лишь 2 цвета, произвольно выбираемых из палитры в 16 цветов (т.е. полностью аналогично «Спектруму»); при низком разрешении 160 × 200 точек в каждом знакоместе доступно уже 4 цвета (один из которых общий для всего экрана) — это уже неплохо, но разрешение слишком слабое, с очень заметной пикселизацией; высокого разрешения у «Коммодора 64» вообще не было; кроме того, интерпретатор Бейсика в ПЗУ «Коммодора» совсем не поддерживал никаких операторов для вывода графики — ни точек, ни линий, ни окружностей и т.д. — всё это предлагалось рисовать, ни много, ни мало, записывая соответствующие данные прямо в видеопамять компьютера командой POKE (!). Кстати, игры для С64 и «Атари» также чаще всего использовали сравнительно низкое разрешение порядка 160 × 200 точек (а у «Атари» и меньше), что зачастую делало графику в играх достаточно грубой, простоватой и несовременной, и сравнительно богатая цветовая палитра не могла спасти ситуацию. Еще одна популярная модель (гораздо более дорогая, чем ранее упомянутые) — Apple IIe — имела также странные параметры графики: хорошее основное разрешение 280 × 192 точки при 6 цветах, но с особыми ограничениями на выбор цветов, привязанными к американскому стандарту цветного телевидения NTSC. Качество цветной графики у неё как в играх, так и в неигровой сфере обычно было достаточно примитивным. Даже текст на цветном мониторе у Apple II выводился с очень заметными цветными помехами. Наконец, даже у появившихся в 1983 году довольно дорогих IBM PC/XT основными видеокартами были CGA, отображавшими в цветном графическом режиме одновременно лишь 4 цвета, правда с возможностью выбора из двух или трёх палитр, но подбор цветов в палитрах вызывал ещё больше вопросов, чем у БК. Кстати, процессор у PC/XT (Intel 8088) хоть и относился к классу почти 16-разрядных, но также не показывал выдающихся скоростных данных — во многих тестах PC/XT находился примерно на уровне массовых 8-разрядных моделей.

Как уже говорилось, звуковые способности БК-0010 и БК-0011 достаточно обычные, примерно такие же, как у Apple IIe, ZX Spectrum и IBM PC. Звук воспроизводился чисто программно с существенной загрузкой процессора, поэтому непосредственно во время игры звуковые эффекты, как правило, были минимальными и кратковременными, а музыка играла обычно только на заставках и в паузах. В то же время, игровые зарубежные ПК — такие, как Commodore 64, Atari и MSX — имели более сложные звуковые синтезаторы, позволявшие выводить трёхканальную музыку и эффекты без загрузки процессора, поэтому звуковое и музыкальное оформление игр на этих ПК, безусловно, более богатое. Тем не менее, БК не был чисто игровым ПК, также как, например, и Apple II, и IBM PC, поэтому отсутствие продвинутого звукового генератора для него вполне простительно и оправданно.

Вообще, здесь напрашивается интересная мысль, что БК-0010 и БК-0011 по своим характеристикам действительно ближе к таким универсальным и даже профессиональным компьютерам, как Apple IIe, Acorn BBC и IBM PC, поскольку видеосистема БК также ориентирована на отображение произвольной графики, а не игровой, звуковой генератор также характерен больше для неигровых ПК, да и 16-битный процессор используется примерно такой же, как в отечественных профессиональных ПК и микро-ЭВМ серий ДВК, «Электроника» и других. Соответственно, по большому счёту, такие ПК заслуживают более серьёзного и уважительного отношения, чем компьютеры-игрушки или игровые приставки, ориентированные исключительно на такое интересное, но, к сожалению, абсолютно бесполезное занятие, как компьютерные игры. Впрочем, это, конечно, не значит, что для БК не было игр — очень даже были, и много, и хороших, и часто ничуть не хуже, чем на зарубежных игровых ПК. Но владелец БК мог не только играть, но и, к примеру, заниматься творчеством, составляя программы для рисования на экране цветных графиков, узоров, витражей, фрактальных множеств, клеточных автоматов и т.д. и т.п., получая при этом четкое и детальное цветное изображение (хоть и не многоцветное), а не месиво из цветных квадратиков и прямоугольников, как на ZX Spectrum, MSX или С64.

В целом, можно ещё раз сделать вывод, что БК-0010 был на очень приличном уровне для недорогого домашнего ПК и вполне мог конкурировать с распространёнными 8-битными зарубежными моделями (а 16- и 32-битные зарубежные ПК стоили многократно дороже). Отдельные недостатки БК-0010 — такие, как сравнительно небольшой объём оперативной памяти и малое число отображаемых цветов — были почти исправлены в модели БК-0011/0011М. Программное обеспечение для БК — наиболее развитое среди советских домашних ПК. Вообще, серия БК-0010/БК-0011 была одной из наиболее массовых в СССР, входя в пятёрку самых распространённых в СССР компьютеров (наряду с IBM-совместимыми, Spectrum-совместимыми, УКНЦ и ДВК) — по имеющимся данным, за все годы производства таких компьютеров было выпущено около 160 тысяч. При этом БК использовались не только дома, но и как учебные ПК, а также частично и как профессиональные либо управляющие ЭВМ.

Кто первый?

Наконец, затронем подробнее ещё один интересный момент, связанный с БК-0010 – был ли он действительно первым в мире домашним полностью 16-разрядным ПК? Во многих источниках написано именно так, хотя разобраться досконально в этом вопросе совсем не просто. В начале 1980-х годов персональные компьютеры начали выпускать сотни фирм по всему миру, включая США, Великобританию, Германию, Францию, Японию, Южную Корею, Гонконг, Австралию, Бразилию, соцстраны и т.д. Однако если посмотреть на известные модели, о которых можно найти достоверную информацию в Интернете, получается, что действительно до 1983-85 года 16-разрядных домашних ПК (во всяком случае, массово доступных по цене) не выпускалось, и первым недорогим полностью 16-битным был именно наш БК-0010! Это, на первый взгляд, довольно странно, поскольку сами 16-разрядные микропроцессоры появились ещё в середине-конце 1970-х. В частности тот же Intel 8088 (16-битный внутри и 8-битный снаружи), ставший основой для первых IBM PC, был заявлен ещё в 1979 году. Более того, на рубеже 1970-х и 1980-х годов появились и практически 32-разрядные микропроцессоры вроде знаменитого Motorola 68000. Однако в те годы производители и потребители домашних компьютеров были вполне удовлетворены и возможностями самых дешёвых 8-разрядных процессоров. К тому же конкуренция заставляла заботиться о минимальной себестоимости продукции, а 16- и 32–разрядные процессоры были в разы дороже, как и другие компоненты для таких ПК. Так что, как ни странно, именно в СССР, где не было никакой конкуренции и «рыночной целесообразности», без особой шумихи был впервые разработан и с 1983-84 года начал производиться недорогой 16-битный домашний компьютер.

Нередко встречается утверждение, что американская фирма Texas Instruments — очень известный в то время производитель калькуляторов, часов и другой электронной техники — ещё в 1979 году выпустила на рынок 16-битную модель TI-99/4, и именно этот ПК был первым в мире 16-разрядным домашним компьютером. Однако при этом не учитывается, что TI-99/4, как и выпущенный в 1981 году немного усовершенствованный TI-99/4A, имея действительно 16-разрядный процессор, не был полностью 16-разрядным ПК. Более того, он фактически даже и не был ПК в привычном смысле этого слова, поскольку не имел оперативной памяти пользователя! Первоначально 99/4 создавался как почти 8-битный ПК (а конструктивно — скорее игровая приставка с клавиатурой) со специальным процессором, содержащим встроенные 8 Кб ПЗУ и 256 байт ОЗУ, который был 16-битным лишь внутри, а все остальные компоненты должны были оставаться 8-битными. В результате из-за технологических трудностей разработка процессора провалилась, и TI была вынуждена использовать в этом ПК уже выпускавшийся 16-битный процессор TMS9900, а конструкция ПК стала совсем странной: процессор, 256 байт статического «сверхоперативного» ОЗУ и примерно треть ПЗУ (8 Кб из 26) были 16-битными, всё остальное — 8-битным (видеоконтроллер, ОЗУ видеоконтроллера (оно же частично заменяло отсутствующее основное пользовательское ОЗУ), внешнее ОЗУ (покупка которого обязательно требовалась для работы многих программ и устройств), основная часть встроенного ПЗУ, внешние картриджи ПЗУ). Более того, поскольку в штатном варианте ПК хранить программы в машинном коде было просто негде, разработчики 99/4 придумали специальный язык GPL, интерпретатор которого разместили в 16-битном «системном» ПЗУ, а все программы предлагалось выпускать на специальных 8-битных картриджах ПЗУ, причём не в машинных кодах, а на GPL — они должны были считываться из картриджей как набор данных (с побайтным регистровым доступом) и исполняться интерпретатором GPL! Все эти несуразности, вызванные неудачей в разработке микропроцессора с 8-битной внешней шиной и стремлением заставить пользователей покупать достаточно дорогие картриджи (специальные чипы для которых производила только TI), привели к появлению одного из самых странных ПК, в котором благородная идея использования достаточно мощного 16-битного процессора и хорошего видеоконтроллера (8-битного) была сразу обесценена отсутствием пользовательского ОЗУ, 8-битным доступом к большей части внутренней и внешней памяти, а также использованием для написания программ не ассемблера, а интерпретируемого языка GPL.

Отметим, что в самих же США компьютеры, имевшие 16-битную внутреннюю конструкцию процессора, но 8-битную внешнюю (или 32-битную внутреннюю и 16-битную внешнюю) редко называли 16-разрядными (32-разрядными) — обычно указывалось лишь то, что у них 16-битный (32-битный) процессор. И это вполне понятно — ведь в таких ПК разрядность большинства важнейших компонентов (ОЗУ, ПЗУ, контроллеров) определялась именно разрядностью внешней шины данных процессора. В советской терминологии подобные ПК обычно именовались «частично 16-разрядными» («частично 32-разрядными») или «8/16-разрядными» («16/32-разрядными»). Яркие представители такого класса ПК — IBM PC и PC/XT. Они тоже имели 16-битную внутреннюю архитектуру процессора (с 8-битной внешней шиной), но 8-битную память (ОЗУ и ПЗУ) и 8-битные контроллеры устройств (видеокарты, контроллеры дисководов и жёстких дисков, внешних портов и т.д.), что позволяло несколько уменьшить себестоимость компьютера. Однако называть такие ПК настоящими 16-битными было бы, конечно, совсем нелогично — все их компоненты (кроме внутренней структуры процессора) были 8-битными.

Советский же БК-0010 имел не только 16-разрядный процессор, но и 16-разрядный доступ ко всей оперативной и постоянной памяти, и 16-разрядные контроллеры дисплея и параллельного порта, что давало ему право называться настоящим, полностью 16-разрядным ПК.

Кстати, у персональных компьютеров IBM полностью 16-разрядная модель IBM PC/AT на базе процессора 80286 появилась лишь в 1984-м году, и стоила она в самой базовой конфигурации (без жёсткого диска, монитора и видеокарты!) от 4000 долларов.

Дополнительные иллюстрацииИллюстрации к статье "Советские домашние компьютеры 1980-х"

Продолжение: ПК второй половины 1980-х годов. Часть II.