Articulo de referencia

Conjunto de caracteres ZX80

El conjunto de caracteres ZX80 es la codificación de caracteres utilizada por el microordenador Sinclair Research ZX80 con su ROM BASIC original de 4K . Esta codificación utiliz...

El conjunto de caracteres ZX80 es la codificación de caracteres utilizada por el microordenador Sinclair Research ZX80 con su ROM BASIC original de 4K . Esta codificación utiliza un byte por carácter para 256 puntos de código. No guarda relación con otras codificaciones previamente establecidas, como ASCII o EBCDIC , pero sí está relacionada, aunque no es idéntica, con el conjunto de caracteres de su sucesor, el ZX81 .

Caracteres imprimibles

Captura de pantalla de un programa BASIC 4K para ZX80CHR$(1) que muestra todos los puntos de código, incluyendo las palabras clave de BASIC y los caracteres no imprimibles. Estos últimos se muestran como signos de interrogación, excepto cuando se muestran como una cadena vacía. Por lo tanto, la primera línea abarca los 33 puntos de código del 0 al 32, las siguientes 5 líneas abarcan 32 cada una, y las últimas líneas con palabras clave abarcan aún menos.

El conjunto de caracteres tiene 64 glifos únicos presentes en los puntos de código 0–63. Con el bit más significativo activado, el carácter se genera en vídeo inverso , correspondiente a los puntos de código 128–191. Estos 128 valores son los únicos que se pueden mostrar en la memoria de vídeo (conocida como archivo de visualización). Los puntos de código restantes (64–127 y 192–255) se utilizan como caracteres de control o palabras clave de Sinclair BASIC , mientras que algunos no se utilizan.

El reducido rango efectivo de tan solo 64 glifos únicos ha llevado a la exclusión de muchos caracteres, incluidas las letras minúsculas latinas y símbolos ampliamente utilizados en informática, como el signo de exclamación y el símbolo de arroba .

Hay 11 caracteres gráficos de bloque , incluyendo el punto de código 0, que también funciona como espacio. Junto con las 11 versiones de vídeo inverso, estos 22 puntos de código proporcionan todas las combinaciones 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 tramado de 1×2 para una resolución de 32×48. Las versiones de 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 comilla doble "cuando se usa en el archivo de visualización, pero de forma exclusiva del ZX80 se usa internamente como carácter terminador 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 ]

Cambios en el ZX81

La ROM BASIC de 8K del modelo ZX81 posterior también estaba disponible como actualización para el ZX80, reemplazando su ROM BASIC de 4K solo para enteros. [ 4 ] Introdujo el conjunto de caracteres ZX81 modificado que tiene 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 añadidos). 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 las versiones posteriores del ZX Spectrum, toda la codificación de caracteres fue reemplazada por el conjunto de caracteres del ZX Spectrum , que es un derivado del ASCII e incluye letras minúsculas y más.

Fuente del sistema

La fuente del sistema ZX80 utiliza una cuadrícula de 8×8 píxeles por carácter, donde la mayoría de los glifos caben en 7×6 píxeles, dejando un píxel de espacio horizontal entre ellos. Esta fuente se modificó en la ROM del ZX81 para que los glifos fueran 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, lo que se aprecia en el *, el 0 tachado y menos redondeado, y los $, C, G y J menos redondeados.

Conjunto de caracteres

La siguiente tabla muestra el conjunto de caracteres del ZX80. Cada carácter se muestra con su posible equivalente Unicode . Los espacios y los caracteres de control se representan mediante las abreviaturas de sus nombres.

  Sinclair BASIC tokeniza las palabras clave en puntos de código de un solo byte.

Notas

  1. 1 2 3 El manual de instrucciones del ZX80 tiene un error y muestra lossímbolos > y < en el orden incorrecto. [ 5 ]
  2. 1 2 El punto de código 1 es el símbolo de comilla doble ("") cuando se usa en la memoria de video (llamada archivo de visualización), pero se usa internamente como elcarácter terminador de cadena [ 1 ] por lo queCHR$(1)devuelve una cadena nula. El punto de código 212,CHR$(212), se traduce al carácter imprimible ".
  3. 1 2 Debido a que son rásteres grises al 50%, los puntos de código 9 y 137 tienen la misma apariencia aunque cada píxel está invertido .
  4. El operador de elevación a una potencia de varios caracteres se tokeniza en un punto de código de un solo byte.

Referencias

  1. 1 2 3 Wearmouth, Geoff. "Listado de ensamblaje de la ROM del Sinclair ZX80" . Archivado del original el 15 de agosto de 2015.
  2. Davenport, Hugo (1980). Un curso de programación BASIC: manual de funcionamiento del Sinclair ZX80 . Science of Cambridge Ltd. págs. 75–77 . Archivado del original el 8 de agosto de 2022. 
  3. 1 2 Davenport, Hugo (1980). Un curso de programación BASIC: manual de funcionamiento del Sinclair ZX80 . Science of Cambridge Ltd. págs. 116–117 . Archivado del original el 8 de agosto de 2022. 
  4. Farrow, Paul. "ZX80 - Actualización de ROM BASIC 8K" . Centro de recursos Sinclair ZX .
  5. "Conjunto de caracteres Sinclair ZX80" . OoCities.org .

Véase también