# MOS KIM-1

El KIM-1, Keyboard Input Monitor (Monitor de Entrada de Teclado), era un pequeño kit de microcomputador basado en el microprocesador 6502, desarrollado y producido por MOS Technology, Inc., y lanzado en 1975. Por su bajo precio fue muy exitoso en su tiempo (debido a que los 6502 eran mucho más baratos que los otros procesadores) y a la expandibilidad de fácil acceso de la tarjeta.

## Historia

El primer procesador de MOS Technology, el 6501, fue producido por un grupo de ingenieros inconformes, encabezados por Chuck Peddle, que habían participado en el desarrollo del procesador 6800. Estos ingenieros abandonaron Motorola para unirse a MOS Technology. El 6501 se podría enchufar en las tarjetas madres existentes que usaban el 6800, permitiendo a los potenciales usuarios, que eran ingenieros y aficionados, tener un sistema de desarrollo en servicio y corriendo muy fácilmente usando el hardware ya existente. Esto enfureció a Motorola, que inmediatamente demandó, forzando a MOS a retirar los 6501 del mercado. El microprocesador 6502 se creó al cambiar la distribución de pines del 6501, estos nuevos procesadores eran "amistosos con respecto al pleito legal". Aparte de la diferente distribución de los pines, el 6502 era idéntico al 6501, sin embargo, los 6502 tenía la desventaja de no tener ninguna máquina en la cual los nuevos usuarios pudieran comenzar a jugar rápidamente con el CPU.
Chuck Peddle, líder del grupo 650x en MOS Technology, diseñó el KIM-1 para llenar esta necesidad. El KIM-1 llegó al mercado en 1976. Mientras que la máquina fue pensada originalmente para ser usada por ingenieros, rápidamente encontró una gran audiencia en el grupo de los aficionados. Con la compra del kit por solamente $245, y después agregando un terminal usado y un grabador de casetes, se podía construir un sistema completo por menos de $500.
Estaban disponibles muchos libros en donde se mostraban pequeños programas en lenguaje ensamblador para el KIM. Un programa de demostración convirtió el KIM en una caja musical al manipular un bit de salida conectado a una pequeño altavoz.
A medida que el sistema era más popular, una de las adiciones comunes era el lenguaje de programación Tiny BASIC. Esto requirió el uso de una fácil expansión memoria "toda la decodificación para los primeros 4 K se proporciona en la tarjeta del KIM. Todo lo que se necesitaba proporcionar eran chips para 4 K adicionales de RAM y de algunos buffers. La parte dura era cargar el BASIC desde la cinta de casete, una penosa tarea que duraba 15 minutos.
La segunda fuente del 6502, Rockwell International, junto con Synertek, lanzaron sus propias tarjetas de evaluación. Rockwel lanzó el AIM 65 en 1976. El AIM incluyó un teclado ASCII completo, una pantalla LED alfanumérica de 20 caracteres de 14 segmentos, y una pequeña impresora similar a las de las cajas registradoras de las tiendas. Un monitor depurador fue proporcionado como firmware estándar para el AIM, y los usuarios también podían comprar chips opcionales de ROM con un ensamblador o un intérprete BASIC de Microsoft.
Finalmente, hubo la variante SYM-1 de Synertek, que podría decirse era una máquina a medio camino entre el KIM y la AIM. Tenía la pequeña pantalla del KIM, y un simple teclado de membrana de 29 teclas compuesto solamente por dígitos hexadecimales y teclas de control, pero proveyó las interfaces de expansión estándar del AIM y una verdadera RS-232 a nivel de voltaje así como también soportó el modo current loop (bucle de corriente).
No mucho después de la introducción del KIM, MOS Technology, Inc. fue comprado por Commodore International. La producción del KIM original duró poco tiempo bajo la etiqueta de CBM antes de que fuera descontinuado. Chuck Peddle comenzó a trabajar en una versión ampliada, con un teclado QWERTY incroporado completo, un grabador de casete, y una pantalla monocromática.
El monitor fue manejado por un nuevo chip controlador de pantalla, significando que no se requería ningún terminal externo. El firmware del ROM fue ampliado para incluir BASIC, así que la máquina estaba en servicio tan pronto como se encendiera. El resultado fue el Commodore PET, lanzado en 1977, uno de los tres históricos computadores caseros/personales que aparecieron ese año. El Apple II, el Commodore PET, y el TRS-80 Model I fueron los tres primeros microcomputadores que conoció masivamente la gente y los que iniciaron la industria del computador personal, fueron los primeros microcomputadores comprados por la gente común y en llegar a ser populares en los hogares, las escuelas y las oficinas.

## Descripción

El KIM-1 consistió de una sola tarjeta de circuito impreso con toda la circuitería en un lado. Incluyó tres circuitos integrados (IC) principales, el CPU 6502 y dos 6530s que contenían 1KB de ROM, 64 bytes de RAM, y varias líneas de I/O (entrada/salida). 1K RAM adicional, que ellos describieron como "1024 bytes completos", fue incluido en circuitos integrados separados. También fueron incluidos seis LED de 7 segmentos (como en una calculadora) y un teclado numérico tipo calculadora con 24 teclas. Muchos de los pines de la porción de I/O de los 6530s llegaban a dos conectores en el borde de la tarjeta, donde podían ser usados como un sistema serial para manejar un terminal o una cinta de papel. Uno de estos conectadores también servía para conectar la fuente de alimentación, e incluía líneas analógicas que se podían unir a un grabador de casetes.
Sistemas de microcomputadores anteriores, tales como la Altair de MITS, usaron una serie de interruptores en el frente de la máquina para entrada de datos y programación. Para hacer cualquier cosa útil, el usuario tenía que, usando estos interruptores, entrar un pequeño programa en la máquina conocido como el "bootstrap loader", un proceso conocido como booting. Una vez cargado, el loader sería usado para cargar un programa más grande de un dispositivo de almacenamiento como un lector de cinta de papel. A menudo tomaba más de cinco minutos cargar el minúsculo programa en memoria, y un solo error mientras se movían los interruptores significaba que el bootstrap loader estrellaría la máquina. Esto podría dejar dañado algo del código del bootstrap loader, por lo que el programador tendría que reentrar de nuevo el código completo y comenzar todo desde el principio.
El KIM-1 incluyó un bootstrap loader algo más complejo llamado TIM, quemado (grabado) en las dos ROM de 1K. Este es el "monitor" al que el nombre se refiere. Este software monitor incluyó la capacidad de correr una cinta de casete para almacenamiento, manejar la pantalla LED, y de leer el teclado numérico. Tan pronto como se encendiera el computador, el monitor se cargaría y el usuario podía comenzar inmediatamente a interactuar con la máquina vía el teclado numérico. El KIM-1 fue una de las primeras computadoras en una simple tarjeta, necesitando solamente una fuente de alimentación externa para permitir su uso como una computadora experimental independiente. Este hecho, más el relativamente bajo costo para comenzar, lo hizo realmente popular entre los aficionados en los últimos años 1970.

## Sistema de vídeo

El diseñador de la TV Typewriter, Don Lancaster, desarrolló un sistema de vídeo para el KIM-1. La tarjeta hija puede mostrar hasta 4000 caracteres en un TV o monitor. Una configuración típica consiste en 16 líneas de 32 caracteres en mayúsculas. La tarjeta consiste en sólo 10 circuitos integrados de bajo coste y usa la memoria del KIM como memoria de vídeo.
El proyecto TVT-6 apareció en la portada de Popular Electronics en julio de 1977. El kit completo podía ser pedido a PAiA Electronics por 34,95$.
Don expandió este diseño para soportar color y unos gráficos simples en The Cheap Video Cookbook.

## Especificaciones

* CPU: MCS6502
* 2x PIO MCS6530 1024 x 8 ROM, un 64 x 8 RAM, 2x puertos de entrada/salida de propósito general de 8 bits con temporizador de intervalos programable
* 8x 6102 de SRAM de 1024 x 1 (1152 bytes)
* 6x visualizadores de siete segmentos LEDs
* Teclado numérico de 24 teclas tipo calculadora
* 2x puertos serie
* Terminal Interface Monitor (TIM), que maneja el arranque (informática), el teclado numérico, los dígitos de 7 segmentos LED y la cinta de casete.

## Formato de cinta

Cada bit es representado por tres tonos largos de 2.484 ms. El primero es siempre de 3700 Hz, el segundo es de 3700 Hz para un "0" o 2400 Hz para un "1", y el último es siempre de 2400 Hz. Esto da una tasa efectiva de transferencia de 134,2 bits/s. La detección se hace a través de un PLL usando el LM565.
El formato de datos en la cinta es: 100 bytes con el valor 0x16 (SYN, Synchronous Idle), un byte con el valor 0x2A ("*"), el número de identificación del registro, la dirección de inicio (dos caracteres para la byte bajo de la dirección, dos caracteres para el byte alto), la dirección de final (en el mismo formato), los datos efectivos, un byte con el valor 0x2F ("/"), una suma de verificación de dos bytes y dos bytes con el valor 0x04 (EOT, End Of Transmission, fin de la transmisión).
Cada byte de memoria es almacenado como una secuencia de caracteres ASCII en la cinta. Por ejemplo, 0xB5 (hexadecimal, 181 en decimal) en memoria será almacenado como la secuencia de caracteres ASCII "B" y "5" (0x42 y 0x35).