Radio-86RK

The Radio-86RK (Радио-86РК) is a build-it-yourself home computer designed in the Soviet Union. It was featured in the popular Radio (Радио) magazine for radio hams and electronics hobbyists in 1986. The letters RK in the title stands for the words Radio ham's Computer (Радиолюбительский компьютер). Design of the computer was published in a series of articles describing its logical structure, electrical circuitry, drawings of printed circuit boards and firmware. The computer could be built entirely out of standard off-the-shelf parts. Later it was also available in a kit form as well as fully assembled form.

Predecessors
The Radio-86RK is the successor of earlier build-it-yourself computer of the same designers, the Micro-80, and has limited compatibility with it. Its description was also published in a series of articles in the Radio magazine in the early 1980s. But its complex design, consisting of several modules and containing about 200 chips, lack of printed circuit board drawings and most importantly lack of chips on sale made the assembly of the computer hard to accomplish. Micro-80 computers were assembled by only a few enthusiasts.

Assembly process
To assemble the computer, it was required to acquire the necessary electronic components, to make two printed circuit boards and mount all components on them. It was mostly a single board computer, as the second board served only as the base to mount the keyboard keys. The main board used a single large connector for power, keyboard, tape recorder and even video output. Hence it was easy to disconnect the board and work on both sides of it outside the case.

Next, the firmware has to be written in two erasable ROM chips using a chip programmer. Also a power supply unit, a keyboard and a computer case were to be made. The computer used a normal domestic TV set connected to a composite video input as a display. As most Soviet TVs of the time did not have video inputs, it was necessary to install a special module or modify the TV's electronics to implement it. The approximate cost of all required components was about 260 rubles.

The circuitry of the Radio-86RK contains only 29 chips and was relatively easy to assemble. However, finding the chips to buy was difficult, as they were scarce and sold in small volumes in major cities of the USSR. It was particularly difficult to find the KR580VG75 video chip, which was produced only in small quantities. This led to the development of a replacement video circuit which contained 19 chips on a separate board, and was similar to the display module of the Micro-80 computer.

The editorial board of Radio magazine received a large amount of mail in response to the publication. In almost every letter, readers noted how difficult it was to find the necessary electronic components. The editorial board published an appeal to the Soviet electronics industry, proposing they begin producing Radio-86RK kits commercially. By the end of the 1980s manufacturing of computer cases, keyboards and main boards for the Radio-86RK, as well as selling electronic components were carried out by numerous cooperatives.

Technical specifications

 * CPU: KR580VM80A (Intel 8080A clone, until mid-1983 was designated as KR580IK80A) clocked at 1.777 MHz. For simplicity's sake the clock generator KR580GF24 (Intel 8224 clone) is used both for CPU and video controller. As 16 MHz clock generator frequency is chosen to generate television compatible signal, the CPU is unable to run at its maximum speed of 2.5 MHz.
 * RAM: 16 KiB in original version, using K565RU3A chips (4116 clone). It is possible to double memory size by mounting additional RAM chips on top of the chips installed on the main board.
 * ROM: 2 KiB erasable ROM of type K573RF5 (2716 clone), contains monitor firmware
 * Video controller: KR580VG75 programmable CRT controller, interfaced with KR580VT57 (Intel 8257 clone) DMA controller. The DMA controller is also used for dynamic memory refresh. Video controller KR580VG75 is a clone of Intel 8275, a rare chip not used in any mainstream system, and originally proposed for terminals.
 * Text mode: 64 x 25 characters, monochrome. Images for the upper case Cyrillic and Latin characters in KOI-7 N2 encoding are stored in the KR573RF1 (2708 clone) erasable ROM.
 * Semigraphics: 2 x 2 dot matrix combinations in the graphic character subset – 128 x 50 dots total. Higher resolutions are available by appropriate video controller programming.
 * Keyboard: 66 keys. The keyboard matrix is attached via programmable peripheral interface chip KR580VV55 (Intel 8255 clone) and scanned by CPU.
 * Sound: CPU pin INTE used as a sound source. This pin is usually used to interface with programmable interrupt controller, but since the computer did not have any interrupt sources, the pin was used for sound generation. CPU commands EI and DI allowed switching the pin state.
 * Storage media: cassette tape. With DMA controller turned on the CPU is unable to measure time intervals precisely, that is required for tape reading and recording. Therefore, during tape operations, the DMA controller turns off. This results in stopping the video controller and memory refresh, so the CPU performs memory refresh programmatically. Signal from recorder is amplified by the К140УД6 (analog of MC1456), negative part is cut away by diode and then the signal is fed to the dedicated TTL input of the same KR580VV55 that serves the keyboard.
 * Recording format: 0 was written as a pair of values 0,1 and 1 was written as 1,0. Hence the overall signal had no constant component and could be stored within the frequency range supported by the tape recorder. A synchronization byte (E6) was written first to synchronize the reading frame. A simple second layer that featured leading zeroes, offset, length and checksum was implemented on the top.
 * Additional I/O: The computer also has a slot for the second chip of the same type. This second chip is meant for various specific projects (amateur radio constructions, consumer electronics controllers, sensors, etc). As long as only the keyboard and tape recorder are required, this second chip does not need to be mounted on the circuit board.
 * Address space: the address space consists of 8 large slots, addressing 8 Kb each. Two or four of them are dedicated for RAM (so 16 or 32 Kb), one for ROM and DMA controller (during write operations, ROM is disconnected from the bus, and data is transferred to the DMA controller; during read operations, DMA controller is disconnected from the bus, and data is transferred from the ROM), one for video controller and two for the interface chips, main and optional. Only RAM actually uses all available addresses, IO devices only use a few cells within they dedicated 8 Kb segment. Separate IO commands that Intel 8080 has are not supported.
 * Stripboards: to give more creative possibilities for amateurs, the main board has the two small stripboards next to the main connector.

Software
The only software available to the user after turning on the computer is a monitor contained in ROM. The monitor supports basic debugging functions, it allows viewing and modifying memory cells, loading and saving memory contents to the tape, entering and running programs in binary code. The monitor is also HAL: programs that access the hardware only by calling the monitor library support both 16Kb and 32 Kb RAM versions and often also Micro-80 predecessor.

Initially, the Radio magazine distributed programs for the Radio-86RK in the form of hexadecimal dumps. After entering the program dump into the computer's memory, it could be saved to the tape. It was easy to make a mistake when typing in large dumps, so the magazine published checksums along with the dumps. It was necessary to execute "O" monitor directive to calculate the checksum.

The magazine published two versions of the BASIC interpreter: an adapted version of Micro-80 BASIC and a version specially developed for the Radio-86RK featuring enhanced editing capabilities, new functions, and other improvements. Other software published in the magazine included assembler, debugger, disassembler, text editor, voice recorder, music editing system. Also, a lot of BASIC programs were published, including calculations for electronic circuits design and games.

Another way of obtaining software was the tape exchange among Radio-86RK owners. In 1988, the law on cooperation in the USSR came into force, which made legal to produce software for profit by individuals and cooperatives. From that moment it became possible to buy software for the Radio-86RK.

Operating systems
In 1989 the RAMDOS operating system was developed for the computer. It uses part of computer's RAM as a RAM drive. The contents of RAM drive can be loaded and saved to the tape. The operating system has a minimalistic user interface with only seven commands; it also adds support for file operations to the BASIC interpreter.

In October 1992, the Radio magazine and TOO Lianozovo company announced a floppy-disk controller for the Radio-86RK and the Microsha. The disk operating system (DOS) was stored in erasable ROM on the controller board. The Radio magazine published only the electrical circuitry of the controller but not the firmware. Radio-86RK owners were invited to buy the fully assembled controller or a kit along with two floppy disks containing external DOS commands, programming languages and text description of the operating system.

Industrial made versions
The first industrially produced version of the Radio-86RK was the computer named Microsha (an abbreviation for the words Microcomputer and School). Initially, the authors had given that name to the original computer, but the editorial board has changed the name to Radio-86RK. Eventually, the name Microsha was given to the industrially produced version of Radio-86RK.

Microsha preparation for serial production went in parallel with Radio-86RK articles publication. The changes authors made to the design and firmware made Microsha incompatible with Radio-86RK. In 1989, the Radio magazine had published new firmware for Microsha that improved software compatibility.

Following magazine publication, a number of factories started industrial production of several home computer models using the Radio-86RK design. Not all models were fully compatible with Radio-86RK and included different improvements, such as expanded memory size, additional character sets, rudimentary color support.

The list of models includes:
 * Alfa-BK
 * Impulse
 * Microsha
 * Electronica KR-01, Electronica KR-02, Electronica KR-03, Electronica KR-04 (electronic kits)
 * Partner 01.01
 * Spektr-001
 * Apogey BK-01
 * Krista
 * UMPK-R-32
 * Sogdiana-1
 * Mikro-88

Volume of production for a number of models:

Successors
The technical capabilities of the Radio-86RK were very modest. It did not have a graphics mode. The RAM expansion was impossible without serious modifications and loss of compatibility. As the volume of production of home computers was small, and the demand for them kept increasing, the editorial board decided to publish a new design for the build-it-yourself computer.

Although the designers of the Radio-86RK had developed a new 16-bit computer, the Micro-16 (based on the K1810VM86 microprocessor, with a CGA-compatible graphics mode that was capable of running software for the CP/M-86 and MS-DOS), the editorial board again opted for a computer based on the 8-bit processor KR580VM80. The main reason for this was the availability of electronic components for purchase and their cost. The publication of articles on the new computer Orion-128 began in January 1990.