El conjunto de caracteres ATASCII , de ATARI Standard Code for Information Interchange , o AT ARI ASCII , es una codificación de caracteres utilizada en los ordenadores domésticos Atari de 8 bits . ATASCII se basa en ASCII , pero no es totalmente compatible con él .
Las primeras computadoras de la serie Atari de 8 bits son las Atari 400 y 800, lanzadas en 1979, y los modelos posteriores se lanzaron a lo largo de la década de 1980. La última computadora en usar el conjunto de caracteres ATASCII es la Atari XEGS , que se lanzó en 1987 y se discontinuó en 1992. La familia de computadoras Atari ST usa el conjunto de caracteres Atari ST diferente .
Al igual que la mayoría de las otras variantes de ASCII, ATASCII tiene sus propios caracteres distintivos (flechas, bloques, caracteres que dibujan cajas , palos de naipes , etc.) en lugar de los códigos de control C0 en ASCII (caracteres 0-31), además de reemplazar algunos otros puntos de código ASCII.
Los sistemas Atari de 8 bits tienen tres conjuntos distintos de códigos: códigos de intercambio (ATASCII), códigos internos (también llamados códigos de pantalla) y códigos de teclado. [1] [2]
Los códigos de teclado representan los códigos enviados por el teclado. Al presionar una de las dos teclas modificadoras ( Shift y Control ) se modifica el valor ingresado al presionar otras teclas. Debido a que hay dos teclas modificadoras, hay cuatro códigos de teclado distintos que pueden ser enviados por cada carácter; sin embargo, varias teclas (las teclas exactas dependen del modelo) no envían un código de control si se presionan mientras se mantienen presionadas las teclas Shift y Control. [1] Al ingresar texto, el controlador de teclado de Atari convierte estas señales en ATASCII. [3]
Los códigos ATASCII y los códigos internos contienen el mismo conjunto de caracteres, pero indexados de forma diferente. Los códigos ATASCII son utilizados por BASIC , mientras que los códigos internos se utilizan para buscar cómo representar el carácter en la pantalla. [1]
Los sistemas Atari de 8 bits tienen varios modos gráficos distintos; estos modos se pueden clasificar como modos de texto puro, modos gráficos puros o modos mixtos. Los modos 0, 1 y 2 representan modos de texto puro, mientras que los modos 3 y superiores representan modos gráficos puros o mixtos (el número exacto de modos distintos depende del modelo). [4] El modo 0 muestra caracteres en el tamaño predeterminado, el modo 1 los muestra con el doble de ancho (pero la misma altura) y el modo 2 los muestra con el doble de ancho y el doble de altura. [4] El modo 0 es el modo gráfico predeterminado y admite 128 caracteres únicos en uno de dos colores ( video normal o inverso , según el bit superior); los modos 1 y 2 solo admiten 64 caracteres únicos, pero admiten cuatro colores diferentes (ya que utilizan los dos bits superiores como información de color). [2] Los 64 caracteres disponibles en los modos 1 y 2 son los primeros 64 caracteres en el código interno, que corresponden a los códigos ATASCII 32 a 95 (0x20 a 0x5F). [3] Esto incluye todas las letras mayúsculas y signos de puntuación, pero excluye las letras minúsculas y los caracteres gráficos.
El editor de pantalla de Atari implementa el cursor de texto simplemente invirtiendo el carácter en la posición del cursor (mediante XOR con 0x80). No parpadea.
ATASCII solo tiene 128 caracteres gráficos únicos, y los 128 caracteres gráficos superiores (índice 128 a 255) son variantes de video inversas de los 128 caracteres gráficos inferiores (índice 0 a 127). Si el bit de orden superior está configurado en un carácter (es decir, si el valor de byte del carácter está entre 128 y 255), el carácter generalmente se representa como la variante de video inversa de su contraparte entre 0 y 127, utilizando una negación bit a bit del glifo del carácter. Esto lo hace el chip ANTIC .
Debido a este comportamiento, existe una asimetría en la selección de caracteres que se dibujan en bloques. En un video normal, hay triángulos inferiores pero no superiores, un bloque de la mitad izquierda pero no derecho, y un bloque de la mitad inferior pero no superior; estos caracteres aparentemente faltantes se pueden mostrar utilizando un video inverso.
Las computadoras Atari de 8 bits, a través del coprocesador ANTIC , admitían la indirección de los gráficos del conjunto de caracteres, lo que permitía que un programa redefiniera los glifos gráficos que aparecen para cada carácter ATASCII. [2] Esto se puede utilizar como una nueva fuente para texto, para admitir un conjunto de caracteres adicional o para gráficos de mosaico en un videojuego u otra aplicación. El ciclo entre varios conjuntos de caracteres redefinidos se puede utilizar para proporcionar una animación simple con un costo muy bajo de CPU (a cambio de la memoria utilizada para almacenar los datos del conjunto de caracteres). La alteración de un conjunto de caracteres en la RAM también se puede utilizar para la animación.
En las líneas XL y XE , la ROM del sistema operativo Atari incluye un "conjunto de caracteres internacionales" que reemplaza 29 de los glifos gráficos con caracteres alfabéticos latinos que contienen diacríticos , como e-agudo (é). El sistema operativo integrado en el Atari 1200XL , el único modelo Atari de 8 bits con teclas de función , permitía a los usuarios cambiar entre los conjuntos de caracteres estándar y alternativos presionando CTRL+ F4. [5] Los modelos XL y XE posteriores requerían que el usuario actualizara un registro en la RAM (por ejemplo, a través de un comando POKE en BASIC ). [2]
En algunas regiones, se incluyó un conjunto de caracteres diferente en lugar del conjunto de caracteres internacionales predeterminado, para adaptarse mejor al mercado objetivo, incluido el polaco, el árabe y el hebreo. Los sistemas Atari 192XT y 256XT distribuidos en Europa del Este por PZKaren tenían un conjunto de caracteres polacos en lugar del conjunto de caracteres internacionales. [6] [7] El Atari 65XE Najm, que se distribuyó en Oriente Medio, tiene una codificación de caracteres árabes como codificación predeterminada y muestra el texto de derecha a izquierda , mientras que el conjunto de caracteres internacionales fue reemplazado por la codificación estándar ATASCII. [7] [8] [9] [10] Las versiones hebreas del Atari 600XL y 800XL se distribuyeron en Israel, que tenían un conjunto de caracteres hebreos en lugar del conjunto de caracteres internacionales. El conjunto de caracteres hebreos tenía letras hebreas en lugar de letras latinas minúsculas, pero conservaba las letras latinas mayúsculas. Al escribir en modo hebreo, escribir letras latinas avanza el cursor hacia la derecha, mientras que escribir letras hebreas avanza el cursor hacia la izquierda. [7] [11]
La siguiente tabla muestra el conjunto de caracteres ATASCII predeterminado. Los caracteres de control con una representación gráfica se muestran utilizando esa representación. Cada carácter se muestra con un equivalente Unicode .
Los caracteres que se dibujan en el cuadro están dispuestos en relación con las teclas de las letras correspondientes en el teclado de Atari y aparecen 64 puntos de código antes que la letra mayúscula correspondiente. Por ejemplo, ┌, ┬ y ┐ son los caracteres gráficos que se encuentran en las teclas Q, W y E de la esquina superior izquierda y aparecen 64 puntos de código antes de esas letras mayúsculas en ATASCII.
La siguiente tabla muestra la mitad inferior del conjunto de caracteres internacionales ATASCII. La mitad superior son variantes de vídeo inversas de la mitad inferior, exactamente de la misma manera que el conjunto de caracteres ATASCII estándar.
ATASCII tiene 16 caracteres de control, definidos en cuatro rangos separados (0x1B a 0x1F, 0x7D a 0x7F, 0x8B a 0x8F y 0xFD a 0xFF). [15] Esta es una diferencia clave entre ASCII y ATASCII: en ASCII, hay 32 caracteres de control, definidos en el rango de 0 a 31 (0x00 a 0x1F).
Todos los caracteres de control ATASCII, excepto el de fin de línea (0x9B), tienen una representación gráfica, que se puede generar al omitir ese carácter presionando la tecla Escape antes de ingresar ese carácter de control. [15] Por ejemplo, al escribir "Escape" seguido de "cursor derecha" se generará una flecha hacia la derecha. El carácter de control de fin de línea siempre genera una nueva línea, independientemente de la presencia de un carácter de escape anterior. [15]
Las diferencias en la representación de caracteres pueden causar problemas durante la comunicación por módem entre Ataris y otras computadoras. Los comandos de movimiento del cursor (e incluso los retornos de carro y los saltos de línea) de computadoras que no utilizan ATASCII no tendrán sentido en un Atari, y viceversa. Los programas de terminal necesitan traducir entre ATASCII y ASCII estándar.
Algunos BBS basados en Atari explotaban esta diferencia pidiendo al cliente que pulsara la tecla "Retorno". Si obtenía 13 (ASCII CR), se utilizaría el ASCII estándar. Si obtenía 155 (ATASCII CR), cambiaría a ATASCII, lo que permitiría el uso completo del conjunto de gráficos ATASCII. Algunos BBS de Atari también bloqueaban funciones (o incluso bloqueaban el acceso por completo) para usuarios que no fueran de Atari. [ cita requerida ]
Los archivos de texto codificados en ATASCII también necesitan conversión para poder verse en computadoras modernas y viceversa: existen utilidades disponibles para facilitar esto. [16]
Los códigos de control de ATASCII se pueden transmitir a otros ordenadores, como los BBS, y es posible realizar animaciones rudimentarias. Estas animaciones, también conocidas como "películas de ruptura", suelen adoptar la forma de dibujos animados cortos y fueron una característica popular de los BBS de Atari en su apogeo. [17]
Debido a que las operaciones de control del cursor se representan con un solo carácter (a diferencia de las secuencias de varios bytes que eran comunes en otros esquemas, como ANSI o VT100 ), es bastante fácil hacer estas animaciones. Se pueden crear con un programa BASIC corto que captura los comandos del teclado, los repite en la pantalla y los guarda en un archivo. [18] El Atari también permitía escribir y capturar comandos como parte de su sistema operativo. Por supuesto, esto requería cuidado para hacerlo bien, pero después de unos pocos intentos normalmente se volvió bastante fácil. Los programas de captura simples no tenían funciones de edición, por lo que las películas ATASCII con frecuencia tenían errores que se corregían reposicionando el cursor e imprimiendo sobre el error.
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )