El conjunto de caracteres ZX81 es la codificación de caracteres utilizada por la familia de microcomputadoras Sinclair Research ZX81, que incluye los modelos Timex Sinclair 1000 y Timex Sinclair 1500. La codificación utiliza un byte por carácter para 256 puntos de código. No tiene relación con las ya establecidas, como ASCII o EBCDIC , pero está relacionada, aunque no es idéntica, con el conjunto de caracteres del predecesor ZX80 .
El conjunto de caracteres tiene 64 glifos únicos presentes en los puntos de código 0 a 63. Con el bit más significativo establecido, el carácter se genera en video inverso ; correspondiente a los puntos de código 128 a 191. Estos 128 valores son los únicos que se pueden mostrar en la memoria de video (conocida como el archivo de visualización). Los puntos de código restantes (64 a 127 y 192 a 255) se utilizan como caracteres de control, como 118 para nueva línea o, de manera exclusiva en Sinclair BASIC , para palabras clave, mientras que algunos no se utilizan.
El pequeño rango efectivo de solo 64 glifos únicos impide la compatibilidad con letras latinas en minúscula y muchos símbolos de uso generalizado en informática, como el signo de exclamación y la arroba . La falta de un apóstrofo llevó a algunos autores de software a utilizar una coma en su lugar.
Hay 11 caracteres gráficos en bloque , contando el punto de código 0 que también funciona como espacio. Los primeros 8 de estos junto con sus 8 versiones de video inverso (16 puntos de código) proporcionan cada combinación de la celda de carácter dividida en píxeles de bloque en blanco y negro de 2 × 2 para gráficos de píxeles de baja resolución de 64 × 48. Estos bloques de 2 × 2 están presentes en el bloque Unicode de elementos de bloque . 3 caracteres adicionales proporcionan una celda dividida en píxeles de bloque anchos de 1 × 2 en negro, blanco o gris difuminado . Estos, en combinación con sus versiones de video inverso y algunos de los bloques 2 × 2 anteriores, proporcionan una resolución de 32 × 48 con 3 niveles (blanco, gris difuminado, negro). Los 11 caracteres básicos más sus versiones de video inverso, dan como resultado 22 caracteres gráficos en bloque en total. Los caracteres difuminados (de los cuales hay 6) también están disponibles en Unicode (principalmente en el bloque Símbolos para computación heredada ), pero solo en las versiones Unicode 13.0 y más recientes, disponibles a partir de 2020 en adelante.
El punto de código 11 es el símbolo de comillas dobles (") cuando se utiliza en el archivo de visualización. La función BASIC CHR$ 192
se imprime como el mismo carácter, pero se muestra como "" en los listados de fuentes BASIC; se utiliza para incluir el carácter literal " en una cadena sin conflicto con el delimitador de cadena ". [1]
El conjunto de caracteres del ZX81 se deriva del conjunto de caracteres del ZX80 . Tienen en su mayoría los mismos puntos de código, por ejemplo, para AZ y 0-9, pero los puntos de código son diferentes para los caracteres gráficos de bloque, los símbolos ", -, +, *, /, =, >, < y los tokens de palabras clave BASIC (con muchos nuevos agregados). También hay cambios en los caracteres de control. El punto de código 1 ya no es un terminador de cadena no imprimible. La ROM BASIC 8K del ZX81 también estaba disponible como una actualización para el ZX80, reemplazando su ROM BASIC 4K de solo números enteros. [2]
La fuente del sistema ZX81 utiliza una cuadrícula de 8×8 píxeles por carácter, donde la mayoría de los glifos encajan en 6×6 píxeles, dejando dos píxeles de espacio horizontal y vertical entre filas y columnas. La ROM de la ZX80 tenía glifos ligeramente más anchos de 7×6 píxeles con solo un píxel de espacio horizontal entre ellos. Algunos glifos también recibieron un diseño diferente en la fuente del sistema ZX81, que se nota en el *, el 0 con barra y menos redondeado, y los $, C, G y J menos redondeados.
En el posterior ZX Spectrum, toda la codificación de caracteres fue reemplazada por el conjunto de caracteres ZX Spectrum , que es un derivado de ASCII e incluye letras minúsculas y más.
La siguiente tabla muestra el conjunto de caracteres ZX81. Cada carácter se muestra con un equivalente Unicode potencial . Los espacios y los caracteres de control se representan mediante las abreviaturas de sus nombres.
CHR$ 192
, se imprime como el mismo carácter pero se muestra como "" en los listados de BASIC y se utiliza para incluir el carácter literal " en una cadena sin conflicto con el delimitador de cadena ". [1]