# TRS-80

El TRS-80 (Tandy Radio Shack Z-80), también cariñosamente o burlonamente conocido como el "Trash-80" ("Basura-80"), era la designación para varias líneas de sistemas de microcomputadores producidos por Tandy Corporation y vendidos a través de sus almacenes Radio Shack a finales de los 70 y en los 80.

## TRS-80 Model I

Anunciado en una rueda de prensa el 2 de febrero de 1977, el Tandy TRS-80 Modelo I fue el punto de entrada de Tandy Corporation en el mercado del computador casero, significando competir directamente contra el Commodore PET 2001 y el Apple II. Fue lanzado el 3 de agosto de 1977. Se vendía en $599 en la forma de un paquete que incluyó un monitor en blanco y negro de 12 pulgadas, grabador/reproductor de cassettes y la unidad central de procesamiento. Fue el producto más costoso que la cadena de tiendas de productos electrónicos de Tandy, Radio Shack, había ofrecido hasta entonces. La gerencia de la compañía estaba insegura de la atracción en el mercado que el computador podría tener y por ello mantuvo la producción inicial en sólo 3000 unidades, de modo que si la computadora no llegaba a venderse, pudiera por lo menos ser utilizada para propósitos de contabilidad dentro de los 3000 almacenes de la cadena. Sin embargo, fue tal su éxito que Tandy terminó vendiendo 10 000 computadores el primer mes y 55 000 el primer año. Antes de descatalogarse en enero de 1981, se vendieron más de 250 000 unidades.

### El computador

El TRS-80 Modelo I fue desarrollado para Tandy por Don French y Steve Leininger. Su teclado era muy grueso en comparación con los que aparecieron en otras máquinas ya que los circuitos del computador estaban en la misma carcasa, ocultos justo debajo del teclado. Fue el primer computador hecho de esa manera, seguido 3 años después por el VIC-20 fabricado por Commodore. Tenía un microprocesador Zilog Z80 corriendo a 1,77 MHz.
Primero apareció el TRS-80 Modelo I Level I, y pronto el TRS-80 Modelo I Level II. La diferencia entre estos modelos era el intérprete BASIC que residía en una memoria ROM. Ambos computadores venían con 4 kiB o 16 kiB de RAM y con o sin teclado numérico. Se vendían kits para convertir un computador con el lenguaje BASIC Level I a Level II. Con el tiempo el TRS-80 Modelo I Level II con 16 kiB de memoria RAM se hizo común. Para expandir el computador se necesitaba comprar una "Expansion Interface" (Interfaz de Expansión).

### Lenguaje BASIC

Había dos versiones del lenguaje de programación BASIC producidos para el Modelo I. El BASIC Level I que ocupaba 4 k ROM, y BASIC Level II que ocupaba 12 kiB de ROM. El Level I realizaba solo cálculos de simple precisión y tenía un pequeño grupo de órdenes. El lenguaje BASIC Level II introdujo coma flotante de doble precisión y tenía un conjunto de órdenes más amplio. El Level II fue posteriormente mejorado cuando se agregó un sistema de discos, y el Disk Based BASIC era cargado. El BASIC Nivel I fue el lenguaje Tiny BASIC, producto de software libre creado antes de la aparición del movimiento del software libre y con copyleft incluido, creado por Li-Chen Wang, que fuera modificado por Tandy Corporation para añadirle funcionalidad.
El BASIC Nivel II fue programado y licenciado a Microsoft. Debido a que el Modelo I tenía solo 12 k de espacio de ROM, el BASIC Nivel II era una versión reducida del Extended BASIC de 16 kiB. Fue aproximadamente un 30 % más rápido que el Level I.
El Disk Based BASIC agregó la capacidad de realizar entradas y salidas de disco, y en algunos casos (como en los sistemas operativos NewDos/80, MultiDOS, DosPlus, LDOS) se agregaron características para clasificar y buscar archivos, edición de pantalla completa, entre otras.
Microsoft también comercializó una versión mejorada del BASIC basada en cintas de casete llamada Level III BASIC. Esta agregó la mayoría de las funciones en la versión completa del Extended BASIC de 16 kiB.

### Teclado

Muchos usuarios se quejaban del teclado del TRS-80, ya que sus contactos sufrieron de "keyboard bounce" (rebote de teclado), un ruido eléctrico que se produce al cerrar un interruptor. Como resultado, al presionar una tecla aparecían accidentalmente múltiples caracteres repetidos de la tecla pulsada. Para evitar esto, se distribuyó un programa en una cinta de casete con rutinas "De-Bounce" (anti-rebote) para el teclado, pero el programa hacía más lento el escrutinio (polling) del teclado para compensar el problema. Eventualmente, esta rutina fue agregada a una revisión posterior de la ROM.
La transferencia de la información al computador sobre qué teclas eran presionadas era inusual, en el sentido que en vez de transferir los datos mediante un dispositivo o chip de I/O (Entrada/Salida), el hardware del TRS-80 Modelo I asignaba el teclado a una localización predefinida en memoria, es decir, no había memoria 'real' en esta localización, pero ejecutando una lectura de esa área de memoria, retornaría el estado de un conjunto particular de teclas.

### Video

El computador venía acompañado con un monitor en blanco y negro, que en realidad era un televisor modificado RCA modelo XL-100 de 12 pulgadas que carecía del sintonizador. Para rellenar el espacio dejado por el selector de canales se colocó una placa identificadora cuya leyenda era "Radio Shack - TRS-80 - Micro Computer System". El color real de la imagen era ligeramente azulado debido al fósforo estándar "P4" usado en los televisores. Eran comunes filtros de color verde y ámbar o tubos de reemplazo para hacer la visibilidad de la pantalla más fácil para los ojos. Debido a problemas en el ancho de banda en la tarjeta de interfaz que substituyó al sintonizador de TV, se perdía sincronización horizontal si eran mostradas grandes áreas blancas en la pantalla. Para corregir eso, se podía aplicar un simple arreglo del hardware, que implicaba menos de media hora de trabajo.
El hardware de vídeo del computador podía mostrar solamente una resolución de 32 o 64 caracteres por 16 líneas de texto solo en mayúsculas (64 x 16 o 32 x 16). Esto se debía a que el sistema de memoria de video tenía un kilobyte, de siete bits de ancho, con el séptimo bit usado para distinguir entre el texto y los caracteres "semigráficos" que eran caracteres como las letras del alfabeto o como los símbolos?, +, &, #, etc. que representaban o simulaban píxels encendidos y apagados (muy similares al teletexto). Con estos caracteres semigráficos se permitía desplegar una forma rudimentaria de gráficos. Los caracteres de texto ocupaban los primeros 64 caracteres y los semigráficos los siguientes 64 caracteres. Había mejoras de hardware para mostrar letras minúsculas, que agregaron un 8.º bit a la memoria de video, y con el uso de un interruptor se podía activarlo o no para cambiar la presentación en la pantalla entre los 7 bits con caracteres semigráficos originales y los 8 bits con caracteres en minúsculas. Estas modificaciones eran muy populares, y eran conocidas como "Electric Pencil Modification" (Modificación de Lápiz Eléctrico) en referencia a un popular procesador de palabras de entonces.
Los caracteres semigráficos representaban una rejilla de bloques 2 x 3. Cada uno de esos 6 bloques representaba un "pixel". Estos píxeles podían estar encendidos o apagados y se necesitaban 64 caracteres semigráficos para poder representar todas las combinaciones posibles de tales píxeles. Como cada uno de los caracteres de la pantalla podía ser un carácter semigráfico, la resolución de los "pixels" de la imagen era una rejilla de 128 x 48. Los programas en BASIC podían escribir directamente, encender o apagar, cualquier pixel de esta rejilla.
Cualquier acceso a la memoria de la pantalla, escribiendo a ella la sentencia PRINT del lenguaje BASIC o accediendo directamente la memoria de la imagen, causaba "parpadeo" en la pantalla. La lógica de arbitraje del bus bloquearía la lógica que generaba la imagen mientras el acceso era dado al CPU causando una corta línea negra. Normalmente los programas en BASIC no eran afectados mucho por esto, sin embargo, programas rápidos hechos en lenguaje ensamblador podían ser gravemente afectados por este efecto si el programa no tomaba este problema en consideración.
A pesar de este primitivo hardware para generar la imagen de la pantalla, muchos juegos estilo arcade estaban disponibles para el Tandy TRS-80 Modelo I.

### Periféricos
#### Grabador de casetes

Los programas y los datos del usuario eran almacenados en casetes de audio usando una grabadora convencional que venía con el computador. Las primeras versiones del TRS-80 Modelo I tenían problemas al leer en las unidades de casete. Tandy eventualmente ofreció una pequeña tarjeta que era instalada en los centros de servicio para corregir los primeros modelos. Las ROM en los últimos modelos fueron modificadas para corregir esto.

#### Interfaz de Expansión

Para ampliar el computador era necesario una "Expansion Interface" (Interfaz de Expansión). La Interfaz de Expansión era una unidad externa que se enchufaba al computador mediante un cable plano. Era colocada debajo del monitor, y contenía, dos puertos para unidades de casetes, un controlador para hasta 4 unidades de discos flexibles, un puerto Centronic para la impresora (puerto paralelo), un reloj de tiempo real, 16 o 32 kiB RAM adicionales, que junto con 16 kiB en el propio computador daba un total de 48 kiB y, opcionalmente una interface serial RS-232.
La Interfaz de Expansión fue la parte más molesta y problemática del sistema. Hubo varias modificaciones de estos circuitos y se dijo que una versión de preproducción se veía totalmente diferente, ya que tenía un soporte para tarjetas S-100. Tenía problemas crónicos de paralizaciones y caídas al azar del computador antes de que el buffer en las líneas del bus de conectores de la tarjeta curara esos problemas. Sus conectores del borde de la tarjeta tendían a corroerse debido al uso de dos diferentes metales en contacto y tenían que ser limpiados periódicamente con un borrador de lápiz.

#### Discos flexibles

Los usuarios de la computadora debían adquirir en forma separada la "Interfaz de Extensión" que permitía conectar una unidad de disquete de simple densidad. La interfaz se basaba en el circuito integrado de Western Digital 1171, pero carecía de un "separador de datos" externo, y por lo tanto era muy poco fiable.
Todos los formatos de disco del TRS-80 eran sectorizados por software con sincronización de índice, en oposición con los formatos del Apple II, que carecían de esa sincronización de índice, ya que muchas unidades de Apple carecían incluso de un detector del agujero del índice, exceptuando algunas de las primeras unidades producidas por Shugart, reconocibles por su posicionador del cabezal tipo "spiral-cam". Todas las unidades de disquete de la TRS-80 eran modelos de 40 pistas y doble densidad. La combinación de 40 pistas, doble densidad, y la sincronización de índice, dieron una capacidad máxima de 180 kB por disquete de una cara, considerablemente mayor que la mayoría de los otros sistemas del momento. Por otra parte, el uso de sincronización de índice significó que para convertir un disquete en un "floppy" era necesario no solo cortar una segunda muesca para permitir escritura, sino también perforar un segundo agujero de índice en la funda del disquete con un gran riesgo de dañar el disco en su interior. Uno podía comprar "floppies" hechos en fábrica, o utilizar el lado trasero para los sistemas informáticos de Apple Computer como lo hicieron algunas empresas de software de entonces.

#### Controlador de disco de doble densidad

La empresa Percom, vendedora de dispositivos periféricos, así como Tandy, LNW y otras empresas ofrecían un separador de datos o un controlador de disco de doble densidad, basados en el circuito integrado de Western Digital 1791. El Doblador de Percom agregó la capacidad de arrancar y utilizar discos blandos de doble densidad, ellos proporcionaron su propio TRSDOS modificado llamado DoubleDOS, e incluyó el Separador de Datos. El LNDoubler agregó la capacidad de leer y escribir desde las unidades de disquete de 8 pulgadas para almacenar sobre 1.2 MB.

#### Impresora de pantalla

Un periférico inusual ofrecido era la "impresora de pantalla", una impresora electrostática rotatoria que exploraba la memoria de video a través del mismo conector del bus utilizado para entrada/salida, e imprimía una imagen de la pantalla sobre papel revestido de aluminio alrededor de un segundo. Desafortunadamente, era incompatible con la versión final de entrada/salida que usaba buffers, y con la interrupción de "latido del corazón" usada por el reloj en tiempo real bajo el BASIC de disco. Esto podía ser superado usando cableado especial, y haciendo un escritura aparente al puerto del dispositivo de casete mientras que se accionaba la impresora.

### Clones

En el mercado aparecieron muchos clones del TRS-80 Modelo I, tales como LOBO Max-80, LNW-80 Modelos I, II, y Team, y el neerlandés Aster CT-80. Tanto Lobo como LNW produjeron sus propias Interfaces de Expansión.
Otra empresa, llamada EACA en Hong Kong hizo un clon que fue comercializado alrededor del mundo bajo diversos nombres. En Australia y Nueva Zelandia era el Dick Smith System-80, en Norteamérica fue el PMC-80, y en Europa occidental era el Video Genie. El bus de expansión fue diferente y EACA también hizo su propia Interfaz de Expansión. Hubo varias versiones que luego fueron divididas en una versión "casera" y una "de negocios", Genie I y II, y System-80 Mark I y II, donde la II tenía un teclado numérico en lugar del grabador de casete integrado. El Color Genie también estaba basado en el TRS-80 Modelo I, pero con gráficos mejorados y otros cambios que lo hicieron no muy compatible, así que los programas basados en las capacidades gráficas originales del TRS-80 no podían ser ejecutados.

## TRS-80 Model II

En mayo de 1979, Tandy produjo el Modelo II que fue diseñado como máquina de negocio. No era una mejora del Modelo I sino un sistema completamente diferente. El Modelo II fue construido usando el chip Z-80A más rápido y tenía incorporada una unidad de disquetes de 8 pulgadas, así como 64 k de memoria.

## TRS-80 Model III

Como continuación al Modelo II, en julio de 1980 Tandy lanzó el Modelo III, un más integrado y muy mejorado Modelo I. Las mejoras del Modelo III incluyeron la incorporación de letras minúsculas, un mejor teclado, un procesador Z-80 más rápido, puertos paralelo, serial y para el casete, pantalla incorporada de 16 líneas x 64 caracteres (64 x 16) y hasta dos unidades de disquete de 5½ pulgadas. Con la introducción del Modelo III, la producción del Modelo I fue finalmente discontinuada, pues no cumplía con nuevas regulaciones de la FCC con respecto a interferencias de radio. De hecho, el Modelo I irradiaba tanta RFI (interferencia de radiofrecuencia) que muchas compañías hicieron sus juegos de tal manera se pudiera poner una radio AM al lado de la computadora y utilizar la interferencia para conseguir sonidos.

## TRS-80 Model 4

El sucesor al Modelo III fue el Modelo 4 (abril de 1983). Tenía un CPU Z80 de 4 MHz, 64 kiB RAM expandible a 128, hasta dos unidades de disquete de 5¼ pulgadas en la misma carcasa, puerto serial RS-232, puerto paralelo y para casetes, pantalla incorporada de 16 líneas por 64 caracteres (64 x 16)) y también 24 líneas por 80 caracteres (80 x 24). Incluyó la capacidad para correr CP/M. Antes del modelo 4, el soporte para el CP/M era solamente posible con una modificación de hardware que remapeaba las ROM BASIC lejos de la dirección cero de memoria por medio de una tarjeta añadida hecha por terceros, comercializada como el Mapper board (tarjeta mapeadora). El modelo 4 también tenía la habilidad de mostrar gráficos de alta resolución con una tarjeta opcional.
Este computador también vino en una versión "luggable" (cargable, transportable) conocida como el Modelo 4P (1984) que estaba diseñado para ser portable, aunque su tamaño era grande, fue una unidad autocontenida que se veía como una pequeña máquina de costura.

## Sistemas de negocios

Tandy lanzó más adelante el TRS-80 Modelo 16, que era la continuación del Modelo II. Era un sistema basado en UNIX (el Xenix de Microsoft) usando el procesador de 16 bits (68000) más el Z80 para compatibilidad con los computadores anteriores. Computadoras posteriores en esta línea fueron el modelo 12 y el modelo 6000. Debido a que los sistemas de negocio fueron diseñados para el trabajo y no para uso casero, hay mucho menos afecto y nostalgia hacia ellos que a los sistemas Z-80 y el Color Computer (Coco).

## Otros sistemas
### TRS-80 Color Computer

El TRS-80 Color Computer (Coco) fue comercializado por Tandy en 1980. Usaba un procesador Motorola 6809 a 0.89 MHz. Venía con 4 kiB RAM y se podía expandir hasta 32 kiB de RAM. Usaba una versión de BASIC escrita por Microsoft llamada Tandy Color BASIC que ocupaba 8 kiB ROM. La salida de video era a través de la pantalla de televisión, en donde se desplegaban 16 líneas de 32 caracteres de texto (32 x 16) solo en mayúsculas (las minúsculas se representaban con los mismos caracteres en mayúsculas pero con video inverso) y gráficos hasta una resolución de 192 líneas con 256 píxels por línea (256 x 192). Tenía un teclado con teclas tipo "chiclets", llamado de esta manera porque, a diferencia de un teclado normal, las teclas eran pequeños rectángulos que parecían Chiclets con cobertura dulce, similares a las teclas de una calculadora.
Luego salieron los computadores Color Computer 2 (1983) y Color Computer 3 (1986), que tenían mejoras con respecto al original, incluyendo un teclado normal, más memoria, y mejores gráficos. Eran un poco más pequeñas que la Color Computer original. La Color Computer 2 venía con 16 kiB RAM y se podía expandir hasta 64 kiB, y la Color Computer 3 venía con 128 kiB RAM expandible hasta 512 kiB.

### TRS-80 MC-10

El TRS-80 MC-10 (TRS-80 Micro Color 10) fue una computadora de Tandy poco conocida y de breve duración (1983-1984) con un precio de $119.95. Era una versión reducida del TRS-80 Color Computer, similar en aspecto y un poco más grande que el Sinclair ZX81.
Era un sistema pequeño basado en el procesador Motorola 6803 corriendo a 0.89 MHz con 4 kiB RAM de memoria. Tenía un interpretador Micro Color BASIC en 8 kiB ROM, salida para TV a través de un modulador de radio frecuencia con una resolución de 32 caracteres por 16 líneas de texto (32 x 16) y capacidades gráficas similares al TRS-80 Color Computer, interface serial RS-232, interfaz para casetes. Un paquete de expansión de 16 kiB RAM y una impresora térmica fueron ofrecidos como una opción.

### Línea del TRS-80 Model 100

Tandy produjo la serie del TRS-80 Model 100, que era la primera línea comercial de computadoras laptop. Tres modelos fueron producidos, los modelos 100, 102 y 200. Tenían una versión del lenguaje BASIC en ROM y con un programa editor de textos, un programa de comunicaciones, un programa para contactos y un calendario, El modelo 200 tenía adicionalmente una versión de la hoja de cálculo Multiplan. Los modelos 100 y 102 mostraban 8 líneas con 40 caracteres (40 x 8)) y el modelo 200 mostraba 16 líneas de 40 caracteres (40 x 16).
Éstos computadores eran populares entre los periodistas. El Modelo 100 fue un esfuerzo común entre Tandy y la división japonesa de Microsoft. Algunas fuentes han dicho que la versión del BASIC fue la última pieza de código que Bill Gates escribió comercialmente.

### TRS-80 Pocket Computer

Tandy comercializó una línea de computadoras de bolsillo que fueron fabricadas, dependiendo del modelo, por Sharp Corporation o por Casio. Tenían procesadores de 4 o de 8 bits, el lenguaje de programación BASIC en ROM y cierta capacidad de expansión. Varias podían expandirse con una impresora, y un grabador de casetes.
Características de las calculadoras de bolsillo TRS-80:
TRS-80 PC-1 Pocket Computer (Sharp PC-1211) :
| Fecha | 1980 |
| CPU | SC43177 y SC43178 (4 bits) |
| RAM | 1.5 kiB? |
| ROM | 11 kiB? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 24 caracteres |
| Dimensiones (mm) | 175 x 70 x 15 |
| Peso | 170 g |
| Accesorios | Casete Interface Printer/Casete Interface |
| Pilas | 4 pilas de mercurio tipo botón |
| Precio | $230 |
| TRS-80 PC-2 Pocket Computer (Sharp PC-1500) ||
| Fecha | 1982 |
| CPU | Sharp LH5801 a 1.3 MHz (8 bits) |
| RAM | 2 kiB (expandible a 10 kiB) |
| ROM | 16 kiB |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 26 caracteres |
| Dimensiones (mm) | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | 4 pilas AA |
| Precio | $280 |
| TRS-80 PC-3 Pocket Computer (Sharp PC-1250) ||
| Fecha | 1983 |
| CPU | SC 61860 |
| RAM | 4 kiB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 24 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |
| TRS-80 PC-4 Pocket Computer (Casio PB-100) ||
| Fecha | 1983 |
| CPU | ? |
| RAM | 2 kiB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 12 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |
| TRS-80 PC-5 Pocket Computer (Casio FX-780P) ||
| Fecha | 198? |
| CPU | ? |
| RAM | 4 KiB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 24 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |
| TRS-80 PC-6 Pocket Computer (Casio FX-790P) ||
| Fecha | 198? |
| CPU | ? |
| RAM | 8 kiB o 16 kiB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 24 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |
| TRS-80 PC-7 Pocket Computer (Casio FX-5200P) ||
| Fecha | 198? |
| CPU | ? |
| RAM | 2 kiB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 12 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |
| TRS-80 PC-8 Pocket Computer (Sharp PC-1246) ||
| Fecha | 198? |
| CPU | ? |
| RAM | 2 kB |
| ROM | ? |
| Programación | BASIC |
| Pantalla | LCD, 1 línea con 16 caracteres |
| Dimensiones | ? |
| Peso | ? |
| Accesorios | ? |
| Pilas | ? |
| Precio | ? |

### Computadoras PC-Compatibles de Tandy

A principios de los 1980s, Tandy comenzó a producir una línea de computadoras que eran más o menos compatibles con las PC. Estos sistemas fueron referidos como Tandy 1000 y Tandy 2000.
Originalmente, Tandy ofrecía computadoras fabricadas por Tandon Corporation, y después comenzó produciendo su propia línea de sistemas.
El sistema Tandy 2000 era similar al Texas Instruments Professional Computer ya que ofrecía gráficos mejores, un procesador más rápido (80186) y unidades de disco de una mayor capacidad (Unidades de 5.25 pulgadas, 80 pistas, doble cara). Sin embargo, la industria se movía lejos de las computadoras compatibles con el MS-DOS (como el Sanyo MBC-550 y el TIPC) y hacia los clones completamente compatibles (como el Compaq, Eagle, Colombia MPC y otros).
A medida que decrecían los márgenes en los clones de PC, Tandy no pudo competir y paró la comercialización de sus propios sistemas.
Los últimos sistemas Tandy 1000 y sus sucesores también fueron comercializados por Digital Equipment Corporation, pues Tandy y DEC tenían un acuerdo común de fabricación.

## Emuladores

* Windows: trs32 Model 1/3/4 Emulator for Win XP (shareware)
* Windows: Windows (shareware) Several TRS-80 Emulators; emulated in 80486+ Assembly
* Linux/Unix: xtrs (open-source)
* Java: Java applet
* Mac OS X: M.E.S.S. Emulator includes TRS-80 emulator
* Mac Classic: TRS-80 Emulator for Mac OS (no sound support) for Mac OS 7.5.5 or higher