El Hazeltine 1500 fue un popular terminal inteligente presentado por Hazeltine Corporation en abril de 1977 a un precio de 1.125 dólares (equivalente a 5.700 dólares en 2023). Utilizando un microprocesador y una memoria de acceso aleatorio de semiconductores , implementó las características básicas del anterior Hazeltine 2000 en un sistema mucho más pequeño y menos costoso, a menos de la mitad del precio. Llegó al mercado justo cuando la revolución de los microordenadores estaba despegando, y el 1500 fue muy popular entre los primeros usuarios aficionados.
En junio de 1977 se introdujeron dos versiones modificadas: la Hazeltine 1510 de 1.395 dólares y la Hazeltine 1520 de 1.650 dólares . La 1510 añadió un sistema de modo por lotes sencillo que permitía al usuario escribir valores sin que se enviaran al sistema anfitrión. Cuando se pulsaba la tecla, todos los datos "de primer plano" que se habían escrito se enviaban a la vez. La 1520 era una 1510 con un puerto de impresora añadido que podía admitir impresoras de ordenador en serie o en paralelo . SEND
La última incorporación a la serie 1500 fue la Hazeltine 1552 , presentada en agosto de 1979 a un precio de 1500 dólares . Añadía un modo de emulación VT52 , teclas de cursor independientes y caracteres gráficos. [1]
El modelo 1500 utilizaba un procesador Intel 8080A con 2 kB de ROM para las operaciones básicas y 2 kB de RAM como búfer de caracteres (4 kB en el 1510/1520). Los caracteres se dibujaban utilizando un patrón de 7 columnas por 10 filas dentro de una celda más grande de 9 por 11. La pantalla mostraba 80 columnas por 24 filas, un estándar muy extendido en aquella época. El CRT de 12" utilizaba fósforo "blanco" P4. [2]
Al igual que los modelos anteriores de la línea Hazeltine, el 1500 admitía una interfaz RS-232 , con velocidades desde 110 hasta 19 200 bit/s, así como un bucle de corriente de 20 mA , utilizado por los sistemas de teletipo y todavía común debido al uso generalizado del Teletipo Modelo 33 como terminales ad hoc . [2] 19 200 bit/s era relativamente rápido para la época, la mayoría de los terminales de una antigüedad similar alcanzaban un máximo de 9600. [a]
El conjunto de comandos para terminales Hazeltine era bastante simple, y consistía principalmente en comandos de edición de línea y posicionamiento del cursor. La tilde ~
se utilizaba como carácter de escape , o como ellos lo llamaban, el "código de entrada". El 1510/1520 también permitía ESC
su uso como carácter de entrada. [5]
Comandos simples de una letra después de la introducción incluidos DC2
para cursor-a-inicio (esquina superior izquierda de la pantalla), FF
para cursor arriba, VT
(tabulador vertical) para cursor abajo, BS
(retroceso) para cursor-izquierda y DLE
para cursor-derecha, y FS
(separador de formulario) para limpiar pantalla. [6] SI
borró hasta el final de la línea, ETB
hasta el final de la pantalla. [7] DC3
eliminó la línea y movió cualquier dato debajo de ella hacia arriba mientras SUB
insertó una línea y empujó líneas hacia abajo. [8]
El cursor se podía colocar en cualquier lugar de la pantalla usando DC1
y luego con dos caracteres ASCII para las posiciones X e Y. El ASCII se podía desplazar por cualquier múltiplo de 32, por lo que, por ejemplo, uno se podía mover a la posición Y (fila) 10 enviando LF
, código ASCII 10, o enviando *
, código ASCII 42, 32+10. La ventaja de sumar 32 al valor es que lo desplaza al rango de caracteres imprimibles , lo que es más probable que funcione en todos los enlaces seriales. Lo mismo era cierto para la dirección X, pero debido a que las posiciones eran 0 a 79, en lugar de 0 a 23 para Y, desplazar direcciones más altas de esta manera podría ponerlas fuera del rango imprimible nuevamente. Sugirieron transmitir 0 a 30 usando los códigos 96 a 126. [9] ENQ
devolvería la posición actual del cursor como dos caracteres separados por un retorno de carro. [10]
El envío -
provocó que el terminal enviara un solo carácter a cambio, codificando el estado del terminal en los 6 bits inferiores. Los bits 0, 1 y 7 no se utilizaban y siempre eran cero. El bit 2 indicaba si era half duplex, mientras que el 3 indicaba si era full duplex. El bit 4 era 1 si había un error de paridad en la última transmisión. El 5 y el 6 codificaban el carácter de fin de línea que se estaba utilizando, 00 era CR
, 01 era ETX
, 10 para EOT
, y 11 para ninguno. [11]
Una característica única de los sistemas Hazeltine era la diferencia entre los caracteres de "fondo" de intensidad normal y los caracteres de "primer plano" de mayor intensidad. El sistema estaba normalmente en modo de fondo y cualquier dato que se le enviaba se mostraba normalmente. Al enviar la instrucción "primer plano sigue", US
(separador de unidades), todos los datos siguientes se mostraban en modo de primer plano. Al enviar segundo plano sigue, EM
(fin del medio) se volvía al modo de fondo. [12] Al enviar CAN
se borraba hasta el final de la pantalla como ETB
, pero se llenaba con espacios en primer plano. [7] GS
era similar a borrar pantalla, pero solo eliminaba el primer plano. [13]
Al enviarlo NAK
se bloqueó el teclado y al ACK
desbloquearlo se volvió a bloquear. [8]
Los modelos 1510 y 1520 incluían modificaciones del sistema de primer plano/segundo plano que les permitían funcionar en "modo de formato", lo que se conocería como modo de bloque en la jerga de IBM . En este caso, los datos en primer plano también se denominaban "desprotegidos", mientras que los del segundo plano estaban "protegidos". Al igual que con el modelo básico 1510, se podían borrar solo los datos en primer plano, o todos los datos, y normalmente se borraba solo el primer plano desprotegido de forma predeterminada. [5]
El modo de formato se ingresa con un ~#
. [14] Cuando el terminal se pone en modo de formato y el usuario escribe datos en el terminal, los datos no se envían al host, simplemente se almacenan en un segundo búfer de 2 kB. Cuando el usuario presiona la SEND
tecla, todos los datos en primer plano se envían al host en un solo flujo. El host también podría activar la operación de envío al enviar ~SO
al terminal. El sistema podría configurarse para enviar diferentes bits de datos; enviar ~.
al terminal enviaría de vuelta solo la línea en la que estaba el cursor, ~(
en cambio enviaría todo lo que está en la pantalla desde la posición inicial hasta el cursor. [5]
El modo por lotes es similar al modo de formato, pero se diferencia únicamente en que envía datos cada vez que se completa la entrada de un campo. Cuando el usuario presiona la tecla de retorno o tabulación para avanzar, los datos del campo anterior se envían automáticamente y el cursor avanza al siguiente campo en primer plano. El modo por lotes se ingresa mediante ~%
. [5]
Mientras estaba en modo de formato, el TAB
carácter se usaba para moverse de un campo a otro, saltando cualquier texto que estuviera en estilo de fondo al siguiente campo no utilizado o estilo de primer plano. También agregó una pestaña hacia atrás para moverse hacia atrás a través de los campos, enviando ~DC4
. [11]
El usuario también podía activar la aceptación de nuevos datos al pulsar la LOCAL
tecla. Cuando esta opción estaba activada, el terminal solo aceptaba la entrada desde el teclado, ignorando los datos del host. Este modo finalizaba cuando el usuario pulsaba LOCAL
de nuevo o SEND
. [15]
El carácter de estado cambió en el 1510/1520 para devolver más información. El bit 0 ahora indicaba si el búfer de impresión estaba vacío y el 1 si la impresora estaba o no en modo en línea (repitiendo todo lo que decía el host). Los bits 2 y 3 ahora codificaban el modo de formato: 00 era desactivado, 01 era lote, 10 para página y 11 para línea. [11]
El 1520 incluía un búfer de impresora capaz de contener una pantalla de datos, añadía una selección de comandos para controlarlo y una PRINT
tecla para encenderlo y apagarlo manualmente. [16] El terminal podía configurarse para enviar todos los datos a la pantalla, a la impresora o a ambas: ~/
encender la impresora y enviar datos desde el host a la pantalla y a la impresora, ~*
enviarlos solo a la impresora y ~?
apagar la impresora y enviar datos a la pantalla (el modo predeterminado). Al pulsar la PRINT
tecla o enviar ~RS
desde el host, se volcaba la pantalla actual a la impresora. [17]
El modelo 1500 aparece en la portada del álbum Computer World de Kraftwerk de 1981. El modelo 1500 también apareció en el videoclip Miss Modular de Stereolab . [18]