El conjunto de caracteres ZX80 es la codificación de caracteres utilizada por el microordenador Sinclair Research ZX80 con su ROM BASIC 4K original . La codificación utiliza un byte por carácter para 256 puntos de código. No tiene relación con las establecidas previamente como ASCII o EBCDIC , pero está relacionada aunque no es idéntica al conjunto de caracteres del sucesor ZX81 .
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 archivo de visualización). Los puntos de código restantes (64 a 127 y 192 a 255) se utilizan como caracteres de control o palabras clave de Sinclair BASIC , mientras que algunos no se utilizan.
El pequeño rango efectivo de sólo 64 glifos únicos impide el soporte para letras minúsculas latinas y muchos símbolos ampliamente utilizados en informática, como el signo de exclamación o el signo arroba .
Hay 11 caracteres gráficos en bloque , contando el punto de código 0 que también funciona como espacio. Junto con las 11 versiones de video inverso, estos 22 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 baja resolución de 64 × 48 píxeles, o en píxeles de bloque anchos en blanco, negro o gris difuminado de 1 × 2 para una resolución de 32 × 48. Las versiones 2 × 2 de estos también están presentes en el bloque Unicode de elementos de bloque .
El punto de código 1 es el carácter de comillas dobles "
cuando se utiliza en el archivo de visualización, pero exclusivamente en el ZX80 se utiliza internamente como el carácter de terminación de cadena [1], por lo que la función BASIC CHR$(1)
devuelve una cadena nula; [2] CHR$(212)
se traduce al carácter " imprimible. [3]
La ROM BASIC de 8K del modelo ZX81 posterior también estaba disponible como una actualización para el ZX80, reemplazando su ROM BASIC de 4K con solo números enteros. [4] Introdujo el conjunto de caracteres ZX81 modificado que tiene principalmente los mismos puntos de código, por ejemplo, para AZ y 0-9, pero los puntos de código son diferentes para los caracteres de 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 y el punto de código 1 ya no es un terminador de cadena no imprimible.
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 fuente del sistema ZX80 utiliza una cuadrícula de 8×8 píxeles por carácter, donde la mayoría de los glifos encajan en 7×6 píxeles, dejando un espacio horizontal de un píxel entre ellos. Esta fuente se modificó en la ROM de la ZX81 para incluir glifos ligeramente más estrechos de 6×6 píxeles con dos píxeles de espacio horizontal entre ellos, lo que mejoró el aspecto de los caracteres invertidos individuales al mostrar píxeles invertidos en ambos lados. 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.
La siguiente tabla muestra el conjunto de caracteres del ZX80. 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$(1)
devuelve una cadena nula. El punto de código 212, CHR$(212)
, se traduce al carácter " imprimible.