Electronika BK(Redirected from Elektronika BK)
This article needs additional citations for verification. (June 2007) (Learn how and when to remove this template message)
The Electronika BK was a series of 16-bit PDP-11-compatible Soviet home computers developed under the Electronika brand by NPO Scientific Center, the leading Soviet microcomputer design team at the time. It was also the predecessor of the more powerful UKNC and DVK micros. First released in 1984 (developed in 1983), they were based on the К1801ВМ1 (Soviet LSI-11-compatible CPU) and were the only "official" Soviet home computer design in mass production.
|Operating system||FOCAL (programming language), Vilnius BASIC (ROM embedded), OS BK-11, ANDOS etc.|
|CPU||K1801VM1 @3MHz (BK-0010), @4.6MHz (BK-0011), @4MHz (BK-0011M)|
They sold for about 600–650 rubles. This was expensive, but marginally affordable, so they became one of the most popular home computer models in the Soviet Union, despite the fact that they had numerous problems. Later, in 90s, their powerful CPU and straightforward, easy-to-program design made them popular as demo machines. BK (БК) is a Russian abbreviation for "бытовой компьютер" – domestic (or home) computer. It was also used for a short time as cash register, for example, in the GUM department store.
Although BK-0010 was one of the cheapest Soviet PCs, and in speed (as well as memory, graphics, and so on) differed little from the simple 8-bit models, it was one of the first fully 16-bit home computers in the world (in contrast to the TI-99/4A, BK had controllers with the same address-width). The IBM-PC was an 8-bit machine – only its CPU was internally 16-bit.
Although the BK series was included in a governmental economic plan, customer support apparently was not, as it was essentially a barebones machine, without any peripherals or development tools. The only software available at the launch (except ROM firmware) was an included magnetic tape with several programming examples (both for BASIC and FOCAL), and several tests. The ROM firmware included a simple program to enter machine codes, BASIC and FOCAL interpreters.
While the BK was somewhat compatible with larger and more expensive DVK professional model microcomputers and industrial minicomputers like the SM EVM series, its meager 32 KiB memory of which only 16 KiB was generally available to programmers (an extended memory mode supported 28 KiB, but limited video output to a quarter of the screen) generally precluded direct use of software for the more powerful machines. Nevertheless, the DVK became a popular development platform for BK software, and when the BK memory was later extended to 128 KiB, most DVK software could be used directly with minimal changes.
Homebrew developers quickly filled this niche, porting several development tools from DVK and UKNC. This led to an explosion of homebrew software, from text editors and databases to operating systems and games. Most BK owners expanded the built-in RAM to at least 64 KiB, which not only allowed easier software porting from more "grownup" systems, but as these upgrades often included floppy drive controllers, creating a one's own disk operating system became something of a competitive sport in the BK scene. Games and demo communities also flourished, as its anemic graphics were offset by a powerful CPU.
The machine was based on a powerful (for the time) 16-bit single-chip K1801VM1 CPU, clocked generally at 3 MHz. It was almost perfectly compatible with Digital Equipment Corporation's LSI-11 line, though it lacked EIS and further command set extensions. The manufacturer also closely copied the PDP-11's internal architecture. Each model had one free card slot which was electrically, but not mechanically, compatible with Q-Bus. The first versions had 32 KiB onboard DRAM, half of which was used as video memory. That was extended to 128 KiB in later models, with video memory extended to two 16 KiB pages.
Video output on all models was provided by the K1801VP1-037 VDC, a rather spartan chip. It was actually a standard 600-gate ULA with a VDC program that allowed for two graphic video modes, high-res (512×256, monochrome) and low-res (256×256, 4 colors), and supported hardware vertical scrolling. Later models had 16 hardwired 4-color sets selectable from 64 color palette. It didn't support text modes, but simulated two via BIOS routines: 32×25 and 64×25. Some operating systems such as ANDOS managed to output text in 80×25 mode when displaying documents imported from IBM PC, by placing characters more densely. Output was through two separate 5-pin DIN connectors for a monochrome TV or color TV/monitor. Sound on all models was initially through a simple programmable counter connected to an onboard piezo speaker. Later, the General Instrument AY-3-8910 became a popular aftermarket addition.
All models also had a 16-bit universal parallel port with separate input and output buses for connecting peripherals such as printers (Eastern Bloc printers used the incompatible ИРПР interface instead of the more popular Centronics port, so Centronics printers needed an adapter), mice or Covox DACs for sound output, and tape recorder port for data storage. Later models included a manufacturer-supplied floppy drive controller (that could be plugged into a Q-Bus slot) by default. It was available for earlier models as an aftermarket part, but homebrew ones (that also often extended rather anemic 16K memory of original BK) were more popular. A cottage industry for such peripherals and mods flourished.
Электроника БК-0010 was the first model (originally released in 1983, the serial production since mid-1984). It had a pseudo-membrane keyboard (an array of mechanical microswitches without keycaps, covered by flexible overlay), 32 KiB RAM, 8 KiB ROM with BIOS (chip K1801RE2-017), 8 KiB ROM with FOCAL interpreter (K1801RE2-018), 8 KiB ROM with debugger (K1801RE2-019) and one free ROM slot, and its CPU was clocked at 3 MHz. A tape recorder was used for data storage in the factory configuration.
This model was criticized for its uncomfortable keyboard – while mechanical in nature, lack of keycaps lead to the same unsatisfactory tactile response, that was seen as unacceptable when the machine was used in home or educational settings, although such keyboard could be easily sealed completely, so this version found widespread use as an industrial controller. Other points of criticism included the archaic FOCAL programming language supplied by default, and the complete lack of peripherals and software. While all hardware was well documented and easy to work with, the machine was delivered without any programming tools.
The follow-up version, БК-0010.01 (sometimes referred to as -0010-01), was essentially the same machine, but with a conventional full-travel keyboard and a Vilnius BASIC p-code compiler in the ROM, correcting the weakest points of its predecessor. While the BASIC dialect used was quite powerful and well-optimized (it was actually a somewhat scaled-down clone of MSX BASIC), the keyboard was a mixed blessing. While it was much more comfortable to work with, its quality left much to be desired, and the keys were prone to sticking, significant bounce and wore quickly, though a model with a further improved keyboard became available later. The FOCAL interpreter was not dropped, but instead shipped on an external ROM cartridge that could be inserted into the Q-Bus slot.
Электроника БК-0010Ш was a model intended specially for school use. It could be either the −0010 or −0010.01 model, but was supplied with a special current loop network adapter rated at 19200 bps, which could be inserted into the Q-Bus slot. Based on ULA chip K1801VP1-035 (and later on K1801VP1-065), the adapter was compatible to DEC DL-11 and KL-11 serial interfaces, but without modem control bits. It also included a monitor (usually a modified Yunost' compact TV), since in school setting it couldn't be expected to be connected to household TV.
BK-0011 was released in 1989. It had 128 KiB of RAM divided into 16 KiB pages, its CPU was clocked at 4 MHz by default; it included a newer version of BASIC in ROM and 16 selectable video palettes, which were almost universally criticized by users for their odd color combinations. It had a floppy controller, but the drive was still sold separately.
Some changes in the BK-0011, while minor, made it incompatible with earlier -0010 models. In particular, it couldn't load 0010 programs from a cassette tape. Even if it could have loaded them, crucial subsystems, such as sound, were still incompatible. Public outcry forced the manufacturer to redesign the machine, restoring compatibility with earlier models. The resulting model, the BK-0011M, quickly went into production, and most BK-0011 series computers were actually BK-0011Ms. Since the modifications were minor, most of the handful of -0011 models that made it to market were upgraded to -0011M models by enthusiasts.
It was not uncommon among owners to install one or two mechanical switches that made using the computer more convenient. Some of the common mods were:
- Reset button. Programs often hung. Also, some games did not have a properly implemented Exit function. Without this button, the computer had to be reset by power cycling, which eventually led to a worn out power switch on the external power supply. The reset interrupt could be caught by the operating system, so under such systems (for example, ANDOS, MK-DOS), the reset button exited to the OS's file manager.
- Pause switch. This switch activated hardware suspension of instruction execution in the processor. The pause switch was useful for pausing games, most of which did not have a pause key. A few games, however, did not behave gracefully after being returned from suspension, because the programmable hardware timer built into the processor chip was still running while the instruction execution was suspended. The BK also had a software key combination for pause.
- Clock speed switch ("turbo" switch). This changed 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 worked reliably at 6 MHz; the possibility of such overclocking had to be determined experimentally for each sample. Switching the clock speed changed the pace of dynamic games. The turbo switch usually had to be installed together with the pause switch, because the simplest circuit for switching the clock speed produced bad shapes in the clock signal due to contact bounce when the mechanical switch was flipped, running the risk of hanging the software execution unless the processor was in the suspended state.
- Sound on/off switch, or sound volume knob, which adjusted the volume level of the internal piezoelectric speaker using a potentiometer. At this same time as adding this, the modder could replace the speaker with a louder one.
These modifications were relatively simple and could be carried out by users who knew how to handle a soldering iron. Most of the people in the program sales cottage industry could also do the mods for a small fee. Enthusiasts also managed to connect more advanced devices to BK series computers: they developed a hard disk controller, and 2.5" HDDs were successfully used with BK computers. Other popular enhancements were AY-3-8912 sound chips and Covox Speech Thing.
- Government approved and accounted for in economic planning
- The average Soviet wage was about 150 rubles per month at the time.
- It was relatively easy to overclock the CPU, but slow DRAM made overclocking difficult. The most popular "turbo" speed was 5 MHz.
- "BK0011M (USSR retro home computer) core for MiST board". 2016-03-29. Retrieved 2016-04-16.
- Electronika BK0010(-01) & BK0011(M) USSR PC [PDP-11]
- Electronika BK 0011 in the Soviet Calculator Collection
- BK0010 Russian computer emul. v1.6 w/src
- Archive software and documentation for Soviet computers UK-NC, DVK and BK0010.