Tandy TRS-80 Model I

Tandy TRS-80 Model I

El Tandy TRS-80 fue creado por Don French, un comprador de Tandy y cofundador de la Homebrew Computer Association, y Steve Leininger, también miembro de la HCA, a la que también pertenecían personajes tan importantes como Steve Wozniak, Adam Osborne y Lee Felsenstein. Fue anunciado en una rueda de prensa por Radio Shack el 3 de agosto de 1977. El Level II fue anunciado un año después. Inicialmente el primer ordenador de Tandy Radio Shack se denominó simplemente TRS-80 (TRS por Tandy Radio Shack y 80 por el procesador utilizado, el Z80), hasta el verano de 1979, cuando Radio Shack anunció su segundo modelo, el TRS-80 Model II. A partir de entonces el TRS-80 pasó a ser el TRS-80 Model I.

Radio Shack anunció el TRS-80 (Model I) por un precio de 599 US$, y un plazo de entrega de un par de semanas. Sólo esperaba vender entre 600 y 1000 unidades de “este producto” al año. Además, como era el producto más caro que Radio Shack vendía, solicitaba un depósito de 100 US$ para realizar el pedido. Sin embargo, el éxito del TRS-80 fue tal que se vendieron 10.000 unidades en el primer mes, lo que provocó que el tiempo de entrega fuera de varios meses. El TRS-80 Model I dejó de fabricarse en 1981 al no poder cumplir las normas de interferencia de radio de la FCC. En total se vendieron alrededor de 250.000 unidades.

El TRS-80 Model I Level I utiliza como procesador un Zilog Z-80 a 1,77MHz, 4KB de RAM, menos de 1Kb de Video RAM y 4KB de ROM. Incluía en el precio un monitor B/N (una TV sin sintonizador y con una tarjeta de interfaz) y una unidad de casete, con todos los cables y adaptadores. Como curiosidad, el TRS-80 está pintado en color “Plata Mercedes”.

Tandy TRS-80 Model I
Tandy TRS-80 Model I Virtueel Computer Historisch Museum

En los 4KB de ROM se incluye el Radio Shack’s Level I BASIC, una versión de BASIC basado en el Palo Alto Tiny BASIC, una versión de 2K del Tiny BASIC, de dominio público. Steve Leininger utilizándolo como base, le añadió instrucciones de manejo del casete (250 baudios), aritmética de punto flotante con 6 dígitos de precisión, matrices numéricas, variables de cadena limitadas y rutinas de video. El tamaño del código original se duplicó hasta 4BK. La pantalla muestra 16 líneas de 64 caracteres o una resolución gráfica de 128×48 pixeles. Soporta también abreviaturas de comandos y códigos de error.

En 1978 Tandy lanzó el TRS-80 Model I Level II, que incluye el Radio Shack’s Level II BASIC. El Level I se actualizó para incluir un teclado numérico y 16KB de RAM. En total hubo 4 versiones de TRS-80 Model I, aunque las primeras versiones no llevaban la denominación Level:

  • Level I 4K: (P/N: 26-1051) 4KB de RAM y 4 KB de ROM.
  • Level I 16K: (P/N: 26-1053) 16KB de RAM y 4 KB de ROM.
  • Level II 4K: (P/N: 26-1054) 4KB de RAM y 12 KB de ROM.
  • Level II 16K: (P/N: 26-1056) 16KB de RAM y 12 KB de ROM.

El Level II BASIC se vendió como una versión extendida del Level I que se ejecutaba un 30% más rápido. Fue escrito por Microsoft y ocupaba 12KB de ROM. El propio Bill Gates descría el Level II BASIC como un híbrido entre sus dos versiones, la de 8K y la versión Extendida. Permite elegir un formato de pantalla con 16 líneas y 32 o 64 caracteres, con scroll automático. La velocidad de lectura y escritura del cassete se ha duplicado, siendo ahora de 500 baudios. Además, el Level II ofrece matrices multidimensionales, manejo de strings, numeración automática de líneas, rastreo (tracing), comandos PEEK y POKE, llamada de rutinas en lenguaje máquina, comandos de impresora y 23 mensajes de error específicos.

Tandy TRS-80 Model I
Tandy TRS-80 Model I (Source: Virtueel Computer Historisch Museum)

Posee comandos de edición que permiten modificar fácilmente los programas. El Level II ofrece una mayor precisión numérica, de hasta 16 dígitos significativos, y las funciones intrínsecas mantienen una precisión de 6 dígitos. Las líneas de programa, las líneas lógicas y las variables de cadena (string) pueden tener una longitud de hasta 255 caracteres. En caso de desbordamiento se traslada a la siguiente línea de pantalla. Posee un formato de almacenamiento comprimido que permite que algunos programas se almacenen ocupando menos bytes de memoria que en el Level I.

Poco después del lanzamiento del Level II apareció el Expansion Interface, que se conectaba al conector de expansión de 40 pines, que proporcionaba espacio para dos bancos opcionales de 16KB de RAM y una tarjeta RS-232. También contiene un controlador de discos flexibles y un circuito de control que permite conectar y manejar dos cassettes. El Expansion Interface se había anunciado originalmente que sería una caja de expansión con un chasis y 5 slots S-100. Las unidades de disco, que aparecieron un año después al precio de 500$, eran drives Shugart SA400 con 80KB de espacio de almacenamiento. También apareció una impresora de líneas con interface Centronics.

Ambas versiones podían ampliarse oficialmente hasta 16KB de RAM, o 48KB con el Expansion Interface, aunque los aficionados crearon modificaciones para ampliarlos hasta 48KB.

El Model I usa como memoria de vídeo o framebuffer 7 circuitos integrados de SRAM 2102 (1Kb x 1), por lo que solo puede mostrar caracteres en mayúsculas. Sin embargo, una gran mayoría de equipos fueron modificados para obtener caracteres en minúsculas, para lo cual se añadía un octavo chip de 1Kb (en piggyback sobre uno de los existentes.

Tandy TRS-80 Model I
Tandy TRS-80 Model I (Source: Virtueel Computer Historisch Museum)

En la parte trasera, además de un conector de borde de tarjeta de 40 pines, incluye 3 puertos: de cassette, salida de video y conector de alimentación. Hay que tener cuidado, ya que los 3 puertos utilizan un conector DIN-5. Además la salida de vídeo tiene un pin que proporciona 5V CC.

Características técnicas
NombreTRS-80 Model I Level I / Level II
FabricanteTandy Radio Shack
PaisEE.UU.
Año1977
CPUZilog Z-80 @ 1.78 MHz
RAM4KB Level I ampliable a 16KB.
16KB Level II.
32KB adicionales mediante el Expansion Interface.
ROM4KB R/S BASIC Level I
12KB R/S BASIC Level II
Modos de texto64×16
32×16
Modos Gráficos128×48
Lenguaje integradoRadio Shack BASIC Level I
Radio Shack BASIC Level II
Sistemas Operativos
Teclado53 teclas. El Level II incluye un keypad numérico con 12 teclas.
Puertos E/S
Fuente de alimentaciónExterna
Periféricos

El monitor suministrado con el TRS-80 Model I era una televisión RCA en blanco y negro sin la parte de sintonización. Como el chasis del monitor estaba conectado directamente a la fuente de corriente, Radio Shack añadió un opto-acoplador para prevenir corrientazos. Estos 5V suministrados junto con la señal de vídeo compuesto se usaban para alimentar el opto-acoplador.

Tengo 2 TRS-80 Model I:

El primero es un 16 K Level II (P/N: 26-1006) de acuerdo a la etiqueta que tiene justo encima del slot de ampliación. Tiene la RAM ampliada a 48KB, mediante una modificación “casera“, en el que han cambiado los 8 chips de memoria original (4116 para el modelo de 16K) por integrados de 64KB (en este caso 4164 Mostek MK4564N-25IRL, 64K x 1 bit y 250ns). Aunque estos chips en teoría proporcionan 64KB, el Model I solo soporta un máximo de 48KB, ya que los otros 16KB de memoria están reservados para ROM. En la modificación, todos los MK4564N tienen fuera de la placa el pin 9 (A7), y están interconectados todos ellos con un hilo metálico y junto con varios pines de diferentes integrados de parte lógica, están conectados a una plaquita con 3 integrados.

Al encenderlo muestra caracteres raros en pantalla. El fallo más habitual es que falle algún chip de la DRAM (8x MK4564N) o de la SRAM que actúa cómo frame-buffer o VRAM (7x MM2102AN-4L). He desoldado tanto los chips de la VRAM como de la RAM, para probarlos. Toda la DRAM da correcta en el RCT salvo un integrado que tiene el pin 9 roto. La SRAM funciona toda. He probado a sustituir los chips de RAM por KM4164B-12, que en teoría son compatibles (salvo la velocidad) y no funcionan. Al final he tenido que romper un poco el encapsulado del chip que tenía el pin roto, para acceder al pin y así poder soldar el alambre.


Tandy TRS-80 Model I Level II
ModeloTRS-80 16K Level II
VersionR/S L2 BASIC
Model num.26-1006
S/N127188
FuncionaSI
AlimentaciónExterna
ComentarioAmpliado a 48KB

Al encenderlo funciona pero fallan las teclas. El cable plano que une el teclado con la placa madre es de tipo membrana (dos láminas plásticas con pistas de carbón) de 20 hilos, y no dan continuidad en la mayoría de las pistas. Lo he sustituido por un cable plano que he encontrado en Aliexpress “Cable plano redondo AMP Jumper Flex PCB soldadura FFC 2,54 MM paso Conductor sólido a través de agujeros 24 pines PET“. Le he cortado 4 hilos, lo he soldado y al encenderlo ya funciona todo el teclado.

Al encenderlo muestra en pantalla MEM SIZE? y al pulsar <Intro>, muestra la versión R/S BASIC Level II. Este mensaje indica que es la versión 1.3, que ocupa 12KB de ROM en 2 integrados: un 2332 de 4KB y otro 2364 de 8KB. Al ejecutar un PRINT MEM devuelve 48338.

La versión 1.3, lanzada en julio de 1980, fue la revisión más grande de la ROM del Model I y la única versión que Radio Shack reconoció oficialmente. Con respecto a la versión anterior, hay dos cambios muy visibles. :

  • El mensaje de inicio “MEMORY SIZE?” se ha acortado a “MEM SIZE?
  • El mensaje “RADIO SHACK LEVEL II BASIC” se ha acortado a “R/S L2 BASIC

Entre las mejoras:

  • Se incorpora una rutina que elimina el rebote de las teclas (debouncing), lo que permite eliminar la necesidad del programa KBFIX.
  • Se cambia el controlador del teclado para permitir que caracteres de control utilizando la combinación de las teclas SHIFT+DOWN+tecla.
  • El comando PRINT se ha mejorado para permitir múltiples especificadores @, como por ej. PRINT@10,“A”,@74,“B”,@138,“C”.
  • Se corrige un error de las rutinas de casete mejorando la confiabilidad de las transferencias de casete.
  • El valor máximo de la función TAB se incrementa de 64 a 127.
  • El comando CLOAD puede especificar un nombre de archivo cuando se utiliza el Disk BASIC.

Se han añadido también unas limitaciones menores:

  • El comando CLOAD se ha limitado a una unidad de casete, en lugar de las dos que se podían utilizar en las versiones anteriores.
  • La memoria libre se ha reducido en 2 bytes.

El segundo (P/N: 26-10041) inicialmente solo muestra caracteres aleatorios en pantalla, si no que la imagen está moviéndose continuamente. En la placa vienen dos potenciómetros de 100K que controlan el sincronismo vertical (R21) y horizontal (R20) (https://mattpilz.com/trs-80-model-1-repair-guide/). Si no se consigue ajustar, hay que revisar la circuitería asociada al sincronismo, que son los integrados Z5 (74C00), y Z6 y Z57 (74C04). Los he comprobado y un 78C04 está mal. Tras sustituirlo, se puede ajustar el sincronismo, ya la pantalla se queda fija.

Tandy TRS-80 Model I Level I

ModeloTRS-80
VersionPAL
Model num.26-10041
S/N024720
FuncionaNo
AlimentaciónExterna

Igual que en el otro, desueldo los 6 chips de la SRAM (el séptimo está en zócalo, al haberse puesto otro chip de SRAM en piggyback para añadir caracteres en minúsculas supongo). También he comprobado los chips de RAM, que vienen en zócalo. Uno de los chips de SRAM falla, y 5 de los de RAM, que esta compuesta por integrados Motorola 8041016 (la numeración corresponde a Tandy, ya que son integrados Motorola MCM4116).

Sin embargo, un día ya no enciende. Mirando las tensiones, faltan las de + y – 5V. Algo se ha ido estos días de pruebas….

Pinout
Alimentación
1 14 VAC @ 1A
2 19,8 VDC @ 350mA
3 14 VAC @ 1A
4 GND
5 NC

En realidad da entre 19 y 21V AC entre los pines 1 y 3
19-21V CC19 volts CC
Video
1 +5V DC (30 mA max)
2 NC
3 NC
4 Video Compuesto
5 GND
Cassette
1 – Motor relay
2 – GND
3 – Motor relay
4 – Casete IN
5 – Casete OUT

Show files

Versiones de las ROM’s. Los ficheros estan en https://github.com/RetroStack

  • Model 1 Level 1
    • Z33 ROMA MM2716E 4K Part Number 3108011
    • Z34 ROMB MM2716E 4K Part Number 3108012
  • Model 1 Level 2
    • Z1 ROMA MM2716E 4K Part Number 3108013
    • Z2 ROMB MM2716E 4K Part Number 3108014
    • Z3 ROMC MM2716E 4K Part Number 3108015
  • Model 1 Level 2 Mother Board Revision G – 2 ROM Set
    • Z33 ROMA&B 8044364 8K Part Number 7807
    • Z34 ROMC 8044732 4K Part Number 7804
  • Model 1 Level 2 Mother Board Revision G – Single ROM
    • Z33 ROM 8044364 12K Part Number 7809 BASIC I

https://mattpilz.com/trs-80-model-1-repair-guide

Model 1 Internals

Revisión de las diferentes versiones de ‘motherboard’

https://github.com/RetroStack/TRS-80-Model-I

https://github.com/RetroStack

https://www.cz-retrotik.com/en/CZRT-VG3-01-expander.html

https://www.fabsitesuk.com/tandy/downloads.html

Se fabricaron varios clones del TRS-80 Model I:

TRS-80 Model 1 Microcomputer clones

https://www.glensstuff.com/trs80/trs80.htm


Publicado

en

, , ,

por

Etiquetas: