# Radio-86RK

El ordenador Radio-86RK (en ruso: Радио-86РК) fue una computadora personal pensada para ser construida por uno mismo diseñada en la Unión Soviética . Apareció en los números 4 al 6 del año 1986 de la popular revista Radio (en ruso: Радио) revista para radio-aficionados y aficionados a la electrónica, artículos escritos por D. Horshkov, G. Zelenko, Yu. Ozerov y S. Popov. Las letras RK en el título representan las palabras Ordenador para Radio-aficionados (en ruso: Радиолюбительский компьютер). El diseño de la computadora se publicó en una serie de artículos que describen su estructura lógica, circuitos eléctricos, plantillas fotográficas de las placas de circuito impreso, el firmware en forma de listados en código binario del sistema y algunos programas de aplicación, y consejos de depuración.. La computadora podría construirse completamente con piezas estándar disponibles en el mercado. Más adelante estuvo también disponible en forma de kit, así como en forma completamente ensamblada.

## Antecesores

El Radio-86RK es el sucesor de otra computadora de construcción propia anterior de los mismos diseñadores, el Micro-80, y tiene compatibilidad limitada con él. Su descripción también fue publicada en una serie de artículos en la revista Radio a principios de los 80, pero su complejo diseño que consta de varios módulos y contiene alrededor de 200 chips, la falta de diseños del circuito impreso y, lo que es más importante, la falta de chips a la venta, hizo que el ensamblaje de esta computadora fuera difícil de lograr. Las computadoras Micro-80 fueron ensambladas por solo unos pocos entusiastas.

## Proceso de ensamblaje

Para ensamblar la computadora se requería adquirir los componentes electrónicos necesarios, hacer dos placas de circuito impreso y montar todos los componentes en ellas. En su mayoría era una computadora de una sola placa, ya que la segunda solo servía como base para las teclas del teclado. La placa principal usaba un solo conector grande para la alimentación, el teclado, la grabadora e incluso la salida de video, por tanto era sencillo desconectar las placas y trabajar en ambas fuera de la caja.
A continuación, el firmware debe escribirse en dos chips de EPROM mediante un programador de chips . También se debía fabricar una fuente de alimentación, un teclado y la carcasa del ordenador. La computadora usó un televisor doméstico normal conectado a una entrada de video compuesto como pantalla. Como la mayoría de los televisores soviéticos de la época no tenían entradas de video, fue necesario instalar un módulo especial o modificar la electrónica del televisor para implementarlo. El costo aproximado de todos los componentes necesarios era de unos 260 rublos .
El circuito del Radio-86RK contiene solo 29 chips y era relativamente fácil de ensamblar. Sin embargo, encontrar los chips para comprarlos fue difícil, ya que eran escasos y se vendían en pequeños volúmenes en las principales ciudades de la URSS. Fue particularmente difícil encontrar el chip de video KR580VG75, que se produjo solo en pequeñas cantidades. Esto condujo al desarrollo de un circuito de video de reemplazo que contenía 19 chips en una placa separada y era similar al módulo de visualización de la computadora Micro-80.
El consejo editorial de la revista Radio recibió una gran cantidad de correspondencia en respuesta a la publicación. En casi todas las cartas los lectores informaban de lo difícil que era encontrar los componentes electrónicos necesarios. El consejo editorial publicó un llamamiento a la industria electrónica soviética, proponiendo que comenzaran a producir kits de Radio-86RK comercialmente. A fines de la década de 1980 numerosas cooperativas realizaban la fabricación de cajas de computadora, teclados y placas principales para Radio-86RK, así como la venta de componentes electrónicos.

## Especificaciones técnicas

* CPU: KR580VM80A (clon de Intel 8080A, hasta mediados de 1983 fue designado como KR580IK80A) con velocidad de 1.777 Megahercios. En aras de la simplicidad, el generador de reloj KR580GF24 (clon del Intel 8224) se usa tanto para la CPU como para el controlador de video. Se eligió 16Mhz como frecuencia del generador de reloj para generar una señal compatible con la televisión, la CPU no podía funcionar a su velocidad máxima de 2,5 Megahercios.
* RAM: 16Kb en la versión original, usando chips K565RU3A (clon de las 4116). Era posible duplicar el tamaño de la memoria montando chips RAM adicionales encima de los chips instalados en la placa principal.
* ROM: 2Kb de ROM regrabables del tipo K573RF5 (clon de las 2716), contenían el firmware del programa monitor.
* Controlador de video: controlador de CRT programable KR580VG75, interconectado con un controlador DMA KR580VT57 (clon del Intel 8257 ). El controlador DMA también se utiliza para la actualización dinámica de la memoria. El controlador de video KR580VG75 es un clon del Intel 8275, un chip raro que no se usa en ningún sistema convencional y que originalmente se propuso para terminales.
** Modo texto: 64 x 25 caracteres, monocromo. Las imágenes para los caracteres latinos y cirílicos en mayúsculas en la codificación KOI-7 N2 se almacenan en una EPROM KR573RF1 (clon de la 2708).
** Semigráficos: combinaciones de matriz de puntos de 2x2 en el subconjunto de caracteres gráficos: 128x50 puntos en total. Resoluciones más altas están disponibles mediante la programación adecuada del controlador de video.
* Teclado: 66 teclas. La matriz del teclado se conecta a través del chip de interfaz de periféricos programable KR580VV55 (clon del Intel 8255 ) y se escanea mediante la CPU.
* Sonido: Usando interrupciones de la CPU como fuente de sonido, activando el pin INTE. Este pin generalmente se usa para interactuar con el controlador de interrupción programable, pero como la computadora no tenía ninguna fuente de interrupción, el pin se usó para generar sonido. Los comandos EI y DI de la CPU permitían cambiar el estado de ese pin.
* Medio de almacenamiento: cinta de casete. Con el controlador DMA encendido la CPU no podía medir los intervalos de tiempo con precisión, lo que se requiere para la lectura y grabación de cintas. Por lo tanto, durante las operaciones de cinta el controlador DMA se apaga. Esto daba como resultado la detención del controlador de video y de la actualización de la memoria, por lo que la CPU realiza la actualización de la memoria mediante programación. La señal de la grabadora se amplifica con el К140УД6 (análogo al MC1456), la parte negativa se corta con un diodo y luego la señal se alimenta a la entrada TTL dedicada del mismo KR580VV55 que sirve al teclado.
* Formato de registro: El cero se escribía como el par de valores 0,1 mientras que un uno se escribía como el par 1,0. Por tanto la señal general no tenía un componente constante y podía almacenarse dentro del rango de frecuencia admitido por la grabadora. Primero se escribía un byte de sincronización (E6) para sincronizar el marco de lectura. En la cabecera se implementó una segunda capa simple que presentaba ceros iniciales, desplazamiento, longitud y suma de verificación.
* E/S adicionales: la computadora disponía de una ranura para un segundo chip del mismo tipo. Este segundo chip está destinado a varios proyectos específicos (construcciones de radio-aficionados, controladores de electrónica de consumo, sensores, etc.). Si solo se requería el teclado y la grabadora, no era necesario montar este segundo chip en la placa de circuito.
* Espacio de direcciones: el espacio de direcciones constaba de 8 grandes segmentos, con direcciones de 8 Kb cada uno. Dos o cuatro de ellos están dedicados a la RAM (por tanto 16 o 32 Kb), uno para la ROM y el controlador DMA (durante las operaciones de escritura, la ROM se desconecta del bus y los datos se transfieren al controlador DMA; durante las operaciones de lectura, el controlador DMA se desconecta del bus y los datos se transfieren desde la ROM), uno para el controlador de video y dos para los chips de interfaz, principal y opcional. Solo la RAM usa realmente todas las direcciones disponibles, los dispositivos IO solo usan unas pocas celdas dentro de su segmento dedicado de 8 Kb. Los comandos de E/S separados que tiene Intel 8080 eran compatibles.
* Placas de prototipo: para dar más posibilidades creativas a los aficionados, la placa principal tiene dos pequeñas placas de prototipo junto al conector principal.

## Software

El único software disponible para el usuario trasde encender la computadora es un monitor contenido en la ROM. El monitor admite funciones básicas de depuración, permite ver y modificar celdas de memoria, cargar y guardar contenido de memoria en la cinta, ingresar y ejecutar programas en código binario. El monitor también es HAL: los programas que acceden al hardware solo llamando a la biblioteca del monitor admiten versiones de RAM de 16 Kb y 32 Kb y, a menudo, también del predecesor Micro-80.
Inicialmente, la revista Radio distribuía programas para Radio-86RK en forma de volcados hexadecimales . Después de ingresar el volcado del programa en la memoria de la computadora, podría guardarse en la cinta. Era fácil cometer un error al escribir volcados grandes, por lo que la revista publicó sumas de verificación junto con los volcados. Era necesario ejecutar la directiva de monitor "O" para calcular la suma de comprobación.
La revista publicó dos versiones del intérprete BASIC: una versión adaptada de Micro-80 BASIC y una versión especialmente desarrollada para el Radio-86RK que presenta capacidades de edición mejoradas, nuevas funciones y otras mejoras. Otro software publicado en la revista incluía ensamblador, depurador, des ensamblador, editor de texto, grabadora de voz o sistema de edición de música. Además se publicaron muchos programas en BASIC, incluidos cálculos para el diseño de circuitos electrónicos y juegos.
Otra forma de obtener software fue el intercambio de cintas entre los propietarios del Radio-86RK. En 1988 entró en vigor la ley de cooperación en la URSS, que legalizó la producción de software con fines de lucro por parte de individuos y cooperativas. A partir de ese momento se hizo posible comprar software para Radio-86RK.

### Monitor integrado

Había dos versiones del monitor para variantes del hardware con diferente cantidad de RAM. Difería en la estructura interna y la distribución del espacio de memoria, pero usaba los mismos comandos. El monitor permitía:
* Ver y editar el contenido de las celdas de memoria desde el teclado (la mayoría del software se imprimió en revistas en forma de listados);
* El cálculo de la suma de comprobación de bloques de datos en la RAM (importante para verificar la exactitud de los códigos introducidos en binario o hexadecimal directamente).
* Descargar bloques de datos desde el casete y escribir datos en el casete.
* Copiar bloques de datos de forma permanente (del "disco ROM") a la RAM: directiva R, formato R<адр1>,<адр2>,<адр3>, donde addr1, addr2 son las direcciones inicial y final del bloque de datos en el disco ROM, addr3 es la dirección donde se debe copiar el bloque
* Ejecutar el programa binario que comienza en la dirección especificada en el espacio de memoria.

### Sistemas operativos

En 1989 se desarrolló el sistema operativo RAMDOS para la computadora. Utiliza parte de la memoria RAM de la computadora como una unidad de disco RAM . El contenido de la unidad RAM se podía cargar y guardar en cinta. El sistema operativo tenía una interfaz de usuario minimalista con solo siete comandos; también agregaba soporte para operaciones de archivos al intérprete de BASIC.
En octubre de 1992, la revista Radio y la compañía TOO Lianozovo anunciaron un controlador de disquete para el Radio-86RK y el Microsha. El sistema operativo de disco (DOS) se almacenó en una EPROM en la placa del controlador. La revista Radio publicó solo el circuito eléctrico del controlador pero no el firmware. Se invitó a los propietarios de Radio-86RK a comprar el controlador completamente ensamblado o en kit, junto con dos disquetes que contenían comandos DOS externos, lenguajes de programación y descripciones en texto del sistema operativo.

### Editores

* Editor de memoria (contenido de la memoria en código hexadecimal ) DUMPCOR. Asimismo, la propia revista Radio convocó un concurso para crear una mejor alternativa para este programa.
* Editor de texto MICRON. Sus versiones también incluyeron el desarrollo de programas en lenguaje de ensamblador y macro-ensamblador.

### Intérpretes del lenguaje BASIC

Durante la creación y existencia de Radio-86RK, el lenguaje de programación BASIC era popular entre sus usuarios. Por tanto hubo varias implementaciones del intérprete BASIC. Algunas implementaciones tenían diferencias en el código de máquina según la cantidad de RAM.
* RADIO-86RK BASIC, que fue publicado por primera vez en la revista "Radio".
* MICRON BASIC
* BASIC para RK Micro-80 con código máquina

### Otros lenguajes de programación de alto nivel

* C. Compilador Saratov Best-C. SSU, Física-1989, Kovalenko DI
* Forth. Fuerte Sistema LS-1. NIISCHETMACH LGU, Lady-Soft, 1986.

## Versiones de fabricación industrial

La primera versión producida industrialmente del Radio-86RK fue la computadora llamada Microsha (una abreviatura de las palabras Microcomputadora y Escuela). Inicialmente, los autores le habían dado ese nombre a la computadora original, pero el consejo editorial cambió el nombre a Radio-86RK. Finalmente, se le dio el nombre de Microsha a la versión industrial dle Radio-86RK.
La preparación del Microsha para la producción en serie fue paralela a la publicación de los artículos del Radio-86RK. Los cambios que los autores hicieron en el diseño y el firmware hicieron que el Microsha fuera finalmente incompatible con Radio-86RK. En 1989, la revista Radio había publicado un nuevo firmware para el Microsha que mejoraba la compatibilidad del software.
Después de la publicación de la revista, varias fábricas comenzaron la producción industrial de varios modelos de computadoras domésticas utilizando el diseño del Radio-86RK. No todos los modelos eran totalmente compatibles con el Radio-86RK e incluían diferentes mejoras, como tamaño de memoria ampliado, conjuntos de caracteres adicionales o un rudimentario soporte de color.
La lista de modelos incluye:
* Alfa-BK
* Impulse
* Microsha
* Electrónica KR-01, Electrónica KR-02, Electrónica KR-03, Electrónica KR-04 (kits electrónicos)
* Partner 01.01
* Spektr-001
* Apogey BK-01
* Krista
* UMPK-R-32
* Sogdiana-1
* Micro-88
Volumen de producción de varios modelos:
| Nombre del modelo | Año de inicio de la producción | Precio (rublos) | Volumen de producción (unidades) por año | Volumen de producción (unidades) por año | Volumen de producción (unidades) por año |
| Nombre del modelo | Año de inicio de la producción | Precio (rublos) | 1987 | 1988 (planeado) | 1989 (planeado) |
| Microsha | 1986 | 500 | 3400 | 2450 | 6000 |
| Krista | 1987 | 510 | 200 | 1600 | 2500 |
| Apogey BK-01 | 1988 | 650 | - | - | 3000 |
| Partner 01.01 | 1988 | 650 | - | - | 5000 |

## Sucesores

Las capacidades técnicas del Radio-86RK eran muy modestas. No disponía de un modo gráfico. La expansión de la RAM era imposible sin importantes modificaciones y la pérdida de compatibilidad. Como el volumen de producción de computadoras domésticas era pequeño y la demanda de ellas seguía aumentando, el consejo editorial decidió publicar un nuevo diseño para otra computadora de auto-construcción.
Aunque los diseñadores del Radio-86RK habían desarrollado una nueva computadora de 16 bits, la Micro-16 (basada en el microprocesador K1810VM86, con un modo gráfico compatible con CGA que era capaz de ejecutar software para CP/M-86 y MS-DOS), el consejo editorial optó nuevamente por una computadora basada en el procesador de 8 bits KR580VM80. La razón principal de esto fue la disponibilidad de componentes electrónicos para la compra y su costo. La publicación de artículos sobre la nueva computadora Orion-128 comenzó en enero de 1990.