Введение
Electronika BK – серия 16-битных домашних компьютеров, совместимых с PDP 11, разработанная под маркой Electronika Научно-производственным объединением (НПО) Научный центр, являвшимся тогда ведущей командой разработчиков микрокомпьютеров в Советском Союзе. Она также является предшественником более мощных микро-ЭВМ UKNC и DVK.
Обзор
Впервые выпущенные в 1985 году (разработанные в 1983 году), они основаны на К1801ВМ1 (советский LSI 11 совместимый процессор) и были единственным официально одобренным и учтенным в экономическом планировании советским домашним компьютером, выпускавшимся серийно. Они стоили около 600–650 рублей. Это было дорого, поскольку средняя советская месячная зарплата в то время составляла около 150 рублей. Несмотря на высокую стоимость, они стали одной из самых популярных моделей домашних компьютеров в Советском Союзе. Позже, в 1990-х годах, их мощный центральный процессор (CPU) и простая, удобная для программирования конструкция сделали их популярными среди создателей демо-сцены. БК – русская аббревиатура от "бытовой компьютер" – домашний компьютер. Эти машины также непродолжительное время использовались в качестве кассовых аппаратов, например, в универмаге ГУМ.
Программное обеспечение
Серия BK – это базовая модель, не комплектующаяся периферийными устройствами или инструментами программирования. Единственным программным обеспечением, доступным на момент запуска, помимо прошивки постоянного запоминающего устройства (ПЗУ), была магнитная лента с несколькими примерами программ (для языков BASIC и FOCAL) и набором тестов. Прошивка ПЗУ включала простую программу для ввода машинного кода, а также интерпретаторы BASIC и FOCAL. Хотя BK в некоторой степени совместим с более крупными и дорогими профессиональными моделями DVK и промышленными мини-ЭВМ, такими как серия SM EVM, его 32 КБ памяти, из которых программистам обычно доступно только 16 КБ (расширенный режим памяти поддерживает 28 КБ, но ограничивает вывод изображения до четверти экрана), как правило, исключает возможность прямого использования программ, предназначенных для более мощных машин. DVK стала популярной платформой для разработки программного обеспечения для BK, и большинство программ DVK можно было использовать напрямую, увеличив объем памяти до 128 КБ. Энтузиасты-разработчики быстро заполнили эту нишу, портировав несколько инструментов программирования с DVK и UKNC. Это привело к взрывному росту самодельного программного обеспечения – от текстовых редакторов и баз данных до операционных систем и видеоигр. Большинство владельцев BK расширили встроенную оперативную память как минимум до 64 КБ, что облегчало портирование программ, а поскольку эти обновления часто включали контроллеры дисководов, создание дисковых операционных систем стало своего рода соревнованием среди пользователей BK. Также активно развивались игровые и демосценовые сообщества, поскольку слабая графика компенсировалась мощным процессором. Одной из операционных систем была ANDOS, хотя официально компьютер поставлялся с ОС BK 11, модификацией RT 11.
Оборудование
Машина основана на 16-битном однокристальном процессоре K1801VM1 с тактовой частотой обычно 3 МГц. Она совместима с линейкой LSI 11 от Digital Equipment Corporation, хотя не поддерживает расширенный набор инструкций (EIS) и дальнейшие расширения набора инструкций. Производитель также тщательно скопировал внутреннюю архитектуру PDP 11. Каждая модель имеет один свободный слот для карт, электрически, но не механически совместимый с Q Bus. Первая версия оснащена 32 КиБ встроенной DRAM, половина из которых выделена под видеопамять. В более поздних моделях объем памяти увеличен до 128 КиБ, а видеопамять – до двух страниц по 16 КиБ. Видеовыход на всех моделях обеспечивается чипом K1801VP1 037 VDC, довольно простым по своим возможностям. Это стандартный массив из 600 логических элементов или неинициализированный логический массив (ULA) с программой VDC, обеспечивающей два графических видеорежима: высокое разрешение (512×256, монохромный) и низкое разрешение (256×256, 4 цвета), а также аппаратную вертикальную прокрутку. Более поздние модели имеют 16 предустановленных 4-цветных наборов, выбираемых из 64-цветной палитры. Текстовые режимы не поддерживаются, но эмулируются два через BIOS-рутины: 32×25 и 64×25. Некоторые операционные системы, такие как ANDOS, смогли выводить текст в режиме 80×25 при отображении документов, импортированных с IBM PC, за счет более плотного размещения символов. Вывод осуществляется через два отдельных 5-контактных DIN-разъема для подключения монохромного телевизора или цветного телевизора/монитора. Звук на всех моделях изначально реализован через простой программируемый счетчик, подключенный к встроенному пьезоизлучателю. Чип General Instrument AY 3 8910 является популярным дополнением, приобретаемым отдельно. Все модели также оснащены 16-битным универсальным параллельным портом с отдельными шинами ввода и вывода для подключения периферийных устройств, таких как принтеры (принтеры Восточного блока использовали несовместимый интерфейс IFSP (ИРПР) вместо порта IEEE 1284 (Centronics), поэтому для принтеров Centronics требуется адаптер), мышь или цифро-аналоговые преобразователи (DAC) Covox для звукового вывода, а также порт для подключения магнитофона для хранения данных. В более поздних моделях по умолчанию установлен контроллер дисковода, поставляемый производителем (который можно подключить к слоту Q Bus). Он доступен для более ранних моделей как дополнительная деталь, но самодельные контроллеры (которые также часто расширяют 16 КиБ памяти оригинального BK) более популярны.
BK-0010
Электроника БК 0010 – первая модель (первоначально выпущена в 1983 году, серийное производство с 1985 года). Она оснащена псевдомембранной клавиатурой (массив механических микропереключателей без клавиш, покрытый гибкой накладкой), 32 КБ оперативной памяти, 8 КБ ПЗУ с BIOS (чип K1801RE2 017), 8 КБ ПЗУ с интерпретатором FOCAL (K1801RE2 018), 8 КБ ПЗУ с отладчиком (K1801RE2 019) и одним свободным слотом ПЗУ, а процессор работает на частоте 3 МГц. В заводской комплектации для хранения данных используется магнитофон. Эта модель подверглась критике за неудобную клавиатуру – несмотря на механическую конструкцию, отсутствие клавиш приводило к такому же неудовлетворительному тактильному отклику, который считался неприемлемым при использовании в домашних или учебных условиях, хотя такую клавиатуру можно было легко полностью герметизировать, поэтому эта версия получила широкое распространение в качестве промышленного контроллера. К другим недостаткам относились устаревший язык программирования FOCAL, поставляемый по умолчанию, а также отсутствие периферийных устройств и программного обеспечения. Несмотря на то, что всё аппаратное обеспечение было хорошо документировано и с ним было легко работать, машина поставлялась без инструментов программирования.
Срок действия
Последующая версия БК 0010.01 (иногда называемая 0010 01) – по сути, та же машина, но с обычной клавиатурой полного хода и компилятором p-кода Vilnius BASIC в ПЗУ, устраняющим недостатки предшествующей модели. Хотя используемый диалект BASIC мощный и хорошо оптимизирован (это уменьшенная копия MSX BASIC), клавиатура всё ещё имеет свои недостатки. Несмотря на то, что с ней гораздо удобнее работать, клавиши имели склонность к залипанию, значительному дребезгу контактов и быстрому износу, хотя позже появилась модель с ещё более улучшенной клавиатурой. Интерпретатор FOCAL не был удалён, а поставлялся на внешнем картридже ПЗУ, который можно было вставить в слот Q Bus.
BK-0010Sh
Электроника БК 0010Ш – модель, предназначенная для использования в школах. Она может быть как моделью −0010, так и −0010.01, но включает в себя специальный сетевой адаптер с токовым контуром, работающий на скорости 19200 бит в секунду (бит/с), который подключается к слоту Q Bus. Адаптер, основанный на микросхеме ULA K1801VP1 035 (а позднее на K1801VP1 065), совместим с последовательными интерфейсами DL 11 и KL 11 компании Digital Equipment Corporation (DEC), однако без линий управления модемом. В комплект также входит монитор, как правило, модифицированный компактный телевизор «Юность», предназначенный для школьных условий.
BK-0011
BK 0011 был выпущен в 1989 году. Он оснащен 128 КиБ оперативной памяти, разделенной на страницы по 16 КиБ; его процессор по умолчанию работает на частоте 4 МГц. В его состав входит новая версия BASIC в ПЗУ и 16 выбираемых видеопалетр, которые пользователи почти повсеместно критиковали за необычные сочетания цветов. Он имеет контроллер дисковода, а сам дисковод доступен как дополнительное устройство.
BK-0011M
Некоторые изменения в BK 0011, хоть и незначительные, сделали его несовместимым с более ранними моделями 0010. Он не может загружать программы для 0010 с кассетной ленты. Даже если бы загрузка была возможна, ключевые подсистемы, такие как звук, всё равно оставались бы несовместимыми. Производитель переработал конструкцию, восстановив совместимость с предыдущими моделями. В результате появилась модель BK 0011M, которая быстро пошла в производство, и большинство компьютеров серии BK 0011 фактически являются BK 0011M. Поскольку изменения были незначительными, большинство из немногих выпущенных на рынок моделей 0011 были модернизированы энтузиастами до версии 0011M.
Моды
Нередко владельцы устанавливали один или два механических выключателя для более удобной работы с компьютером. Некоторые из распространенных модификаций включали:
Reset push button. Programs often hang. Also, some games do not have a properly implemented Exit function. Without this button, the computer has to be reset by power cycling, which eventually leads to a worn out power switch on the external power supply. The reset interrupt can be caught by the operating system, so under such systems (for example, ANDOS, MK DOS), the reset button exits to the OS's file manager. Pause switch. This switch activates hardware suspension of instruction execution in the processor. The pause switch is useful for pausing games, most of which do not have a pause key. A few games, however, do not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip is still running while the instruction execution was suspended. The BK also has a software key combination for pause. Clock speed switch (turbo switch). This changes the processor clock speed from the standard 3 MHz (BK 0010* series) to 4 or 6 MHz, or from the standard 4 MHz (BK 0011* series) to 3 or 6 MHz. Not all processor samples work reliably at 6 MHz; the possibility of such overclocking has to be determined experimentally for each sample. Switching the clock speed changes the pace of dynamic games. The turbo switch usually has to be installed together with the pause switch, because the simplest circuit for switching the clock speed produces bad waveform shapes in the clock signal due to contact bounce in the mechanical switch, running the risk of hanging the software execution unless the processor is in the suspended state. Sound on/off switch, or sound volume knob, which adjusts the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder can replace the speaker with a louder one. Enthusiasts also manage to connect more advanced devices to BK series computers: they developed a hard disk drive (HDD) controller, and 2.5" HDDs have been successfully used with BK computers. Other popular enhancements are AY 3 8912 sound chips and Covox Speech Thing.
Кнопку сброса. Программы часто зависали. Кроме того, в некоторых играх отсутствовала корректно реализованная функция выхода. Без этой кнопки компьютер приходилось перезагружать путем отключения и повторного включения питания, что со временем приводило к износу выключателя питания на внешнем блоке питания. Прерывание сброса могло перехватываться операционной системой, поэтому в таких системах (например, ANDOS, MK DOS) кнопка сброса возвращала в файловый менеджер ОС.
Reset push button. Programs often hang. Also, some games do not have a properly implemented Exit function. Without this button, the computer has to be reset by power cycling, which eventually leads to a worn out power switch on the external power supply. The reset interrupt can be caught by the operating system, so under such systems (for example, ANDOS, MK DOS), the reset button exits to the OS's file manager. Pause switch. This switch activates hardware suspension of instruction execution in the processor. The pause switch is useful for pausing games, most of which do not have a pause key. A few games, however, do not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip is still running while the instruction execution was suspended. The BK also has a software key combination for pause. Clock speed switch (turbo switch). This changes the processor clock speed from the standard 3 MHz (BK 0010* series) to 4 or 6 MHz, or from the standard 4 MHz (BK 0011* series) to 3 or 6 MHz. Not all processor samples work reliably at 6 MHz; the possibility of such overclocking has to be determined experimentally for each sample. Switching the clock speed changes the pace of dynamic games. The turbo switch usually has to be installed together with the pause switch, because the simplest circuit for switching the clock speed produces bad waveform shapes in the clock signal due to contact bounce in the mechanical switch, running the risk of hanging the software execution unless the processor is in the suspended state. Sound on/off switch, or sound volume knob, which adjusts the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder can replace the speaker with a louder one. Enthusiasts also manage to connect more advanced devices to BK series computers: they developed a hard disk drive (HDD) controller, and 2.5" HDDs have been successfully used with BK computers. Other popular enhancements are AY 3 8912 sound chips and Covox Speech Thing.
Переключатель паузы. Этот переключатель активировал аппаратную приостановку выполнения инструкций процессором. Он был полезен для приостановки игр, в большинстве из которых отсутствовала клавиша паузы. Однако некоторые игры работали нестабильно после возобновления работы, поскольку программируемый аппаратный таймер, встроенный в процессор, продолжал работать во время приостановки. В BK также была предусмотрена программная комбинация клавиш для паузы.
Reset push button. Programs often hang. Also, some games do not have a properly implemented Exit function. Without this button, the computer has to be reset by power cycling, which eventually leads to a worn out power switch on the external power supply. The reset interrupt can be caught by the operating system, so under such systems (for example, ANDOS, MK DOS), the reset button exits to the OS's file manager. Pause switch. This switch activates hardware suspension of instruction execution in the processor. The pause switch is useful for pausing games, most of which do not have a pause key. A few games, however, do not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip is still running while the instruction execution was suspended. The BK also has a software key combination for pause. Clock speed switch (turbo switch). This changes the processor clock speed from the standard 3 MHz (BK 0010* series) to 4 or 6 MHz, or from the standard 4 MHz (BK 0011* series) to 3 or 6 MHz. Not all processor samples work reliably at 6 MHz; the possibility of such overclocking has to be determined experimentally for each sample. Switching the clock speed changes the pace of dynamic games. The turbo switch usually has to be installed together with the pause switch, because the simplest circuit for switching the clock speed produces bad waveform shapes in the clock signal due to contact bounce in the mechanical switch, running the risk of hanging the software execution unless the processor is in the suspended state. Sound on/off switch, or sound volume knob, which adjusts the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder can replace the speaker with a louder one. Enthusiasts also manage to connect more advanced devices to BK series computers: they developed a hard disk drive (HDD) controller, and 2.5" HDDs have been successfully used with BK computers. Other popular enhancements are AY 3 8912 sound chips and Covox Speech Thing.
Переключатель тактовой частоты (турбо-переключатель). Он изменял тактовую частоту процессора со стандартных 3 МГц (серия BK 0010*) на 4 или 6 МГц, или со стандартных 4 МГц (серия BK 0011*) на 3 или 6 МГц. Не все экземпляры процессоров стабильно работали на частоте 6 МГц, и возможность такой разгонки приходилось определять экспериментально для каждого экземпляра. Изменение тактовой частоты влияло на скорость динамичных игр. Турбо-переключатель обычно устанавливали вместе с переключателем паузы, поскольку простейшая схема переключения тактовой частоты из-за дребезга контактов механического переключателя создавала искажения в тактовом сигнале, что могло привести к зависанию программы, если процессор не находился в состоянии приостановки.
Reset push button. Programs often hang. Also, some games do not have a properly implemented Exit function. Without this button, the computer has to be reset by power cycling, which eventually leads to a worn out power switch on the external power supply. The reset interrupt can be caught by the operating system, so under such systems (for example, ANDOS, MK DOS), the reset button exits to the OS's file manager. Pause switch. This switch activates hardware suspension of instruction execution in the processor. The pause switch is useful for pausing games, most of which do not have a pause key. A few games, however, do not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip is still running while the instruction execution was suspended. The BK also has a software key combination for pause. Clock speed switch (turbo switch). This changes the processor clock speed from the standard 3 MHz (BK 0010* series) to 4 or 6 MHz, or from the standard 4 MHz (BK 0011* series) to 3 or 6 MHz. Not all processor samples work reliably at 6 MHz; the possibility of such overclocking has to be determined experimentally for each sample. Switching the clock speed changes the pace of dynamic games. The turbo switch usually has to be installed together with the pause switch, because the simplest circuit for switching the clock speed produces bad waveform shapes in the clock signal due to contact bounce in the mechanical switch, running the risk of hanging the software execution unless the processor is in the suspended state. Sound on/off switch, or sound volume knob, which adjusts the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder can replace the speaker with a louder one. Enthusiasts also manage to connect more advanced devices to BK series computers: they developed a hard disk drive (HDD) controller, and 2.5" HDDs have been successfully used with BK computers. Other popular enhancements are AY 3 8912 sound chips and Covox Speech Thing.
Выключатель звука или регулятор громкости, который с помощью потенциометра регулировал уровень громкости внутреннего пьезоэлектрического динамика. Одновременно с этим моддер мог заменить динамик на более громкий. Энтузиасты также подключали к компьютерам серии BK более продвинутые устройства: они разработали контроллер жесткого диска (HDD), и 2,5-дюймовые жесткие диски успешно использовались с компьютерами BK. Другими популярными улучшениями были звуковые чипы AY 3 8912 и Covox Speech Thing.
Reset push button. Programs often hang. Also, some games do not have a properly implemented Exit function. Without this button, the computer has to be reset by power cycling, which eventually leads to a worn out power switch on the external power supply. The reset interrupt can be caught by the operating system, so under such systems (for example, ANDOS, MK DOS), the reset button exits to the OS's file manager. Pause switch. This switch activates hardware suspension of instruction execution in the processor. The pause switch is useful for pausing games, most of which do not have a pause key. A few games, however, do not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip is still running while the instruction execution was suspended. The BK also has a software key combination for pause. Clock speed switch (turbo switch). This changes the processor clock speed from the standard 3 MHz (BK 0010* series) to 4 or 6 MHz, or from the standard 4 MHz (BK 0011* series) to 3 or 6 MHz. Not all processor samples work reliably at 6 MHz; the possibility of such overclocking has to be determined experimentally for each sample. Switching the clock speed changes the pace of dynamic games. The turbo switch usually has to be installed together with the pause switch, because the simplest circuit for switching the clock speed produces bad waveform shapes in the clock signal due to contact bounce in the mechanical switch, running the risk of hanging the software execution unless the processor is in the suspended state. Sound on/off switch, or sound volume knob, which adjusts the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder can replace the speaker with a louder one. Enthusiasts also manage to connect more advanced devices to BK series computers: they developed a hard disk drive (HDD) controller, and 2.5" HDDs have been successfully used with BK computers. Other popular enhancements are AY 3 8912 sound chips and Covox Speech Thing.
Эмуляторы
Существуют различные программные эмуляторы БК для современных компьютеров, совместимых с IBM PC. Эмулятор способен работать значительно быстрее, чем оригинальный БК. Также существуют достаточно полные перереализации БК для систем, основанных на программируемых вентильных матрицах (FPGA), таких как MiST.