El conjunto de caracteres ZX80 es la codificación de caracteres utilizada por la microcomputadora 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 otros previamente establecidos como ASCII o EBCDIC , pero está relacionado aunque no es idéntico al conjunto de caracteres del sucesor ZX81 .
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/4/47/ZX80_characters_0x00-3F%2C_0x80-BF.png)
Caracteres imprimibles
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/2/27/ZX80_character_set_demo.png)
CHR$(1)
como una cadena nula. Por lo tanto, la línea superior cubre los 33 puntos de código 0–32, las siguientes 5 líneas cubren 32 cada una, y las últimas líneas con palabras clave cubren aún menos. El conjunto de caracteres tiene 64 glifos únicos presentes en los puntos de código 0–63. Con el conjunto de bits más significativo , 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 visualizar permitidos en la memoria de video (conocido como archivo de pantalla). 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 pequeño rango efectivo de solo 64 glifos únicos excluye la compatibilidad con letras minúsculas latinas y muchos símbolos que se usan ampliamente en informática, como el signo de exclamación o la arroba .
Hay 11 caracteres de gráficos de 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 caracteres dividida en 2 × 2 píxeles de bloque en blanco y negro para gráficos de baja resolución de 64 × 48 píxeles, o en 1 × 2 en negro, blanco o difuminado. píxeles de bloque ancho gris para una resolución de 32 × 48. Las versiones 2 × 2 de estos también están presentes en el bloque Block Elements Unicode .
El punto de código 1 es el carácter de comillas dobles (") cuando se usa en el archivo de visualización, pero únicamente en el ZX80 se usa internamente como el carácter terminador de cadena [1] por lo que la función BASIC CHR$(1)
devuelve una cadena nula; [2] se CHR$(212)
traduce a el carácter imprimible ". [3]
Cambios en la ZX81
La ROM BÁSICA 8K del modelo ZX81 de seguimiento también estaba disponible como una actualización para la ZX80, reemplazando su ROM BÁSICA 4K de solo enteros. [4] Introdujo el conjunto de caracteres ZX81 modificado que tiene casi 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 ", -, +, *, /, =,>,
En el Sinclair ZX Spectrum posterior, toda la codificación de caracteres fue reemplazada por el juego de caracteres ZX Spectrum , que es un derivado de 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 espacio horizontal de un píxel entre ellos. Esta fuente se modificó en la ROM de la ZX81 a glifos de 6 × 6 píxeles ligeramente más estrechos con dos píxeles de espacio horizontal entre ellos, lo que mejoró el aspecto de los caracteres individuales invertidos al mostrar píxeles invertidos en ambos lados. Algunos glifos también recibieron un diseño diferente en la fuente del sistema ZX81, notable en el *, el 0 recortado y menos redondeado, y el $, C, G y J. menos redondeados.
Conjunto de caracteres
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 | SP U + 0020 | " [b] U + 0022 | ![]() U + 258C | ![]() U + 2584 | ![]() U + 2598 | ![]() U + 259D | ![]() U + 2596 | ![]() U + 2597 | ![]() U + 259E | ![]() U + 2592 | ![]() U + 1FB8F | ![]() U + 1FB8E | £ U + 00A3 | $ U + 0024 | : U + 003A | ? U + 003F |
1_ 16 | ( U + 0028 | ) U + 0029 | - U + 002D | + U + 002B | * U + 002A | / U + 002F | = U + 003D | > U + 003E | < U + 003C | ; U + 003B | , U + 002C | . U + 002E | 0 U + 0030 | 1 U + 0031 | 2 U + 0032 | 3 U + 0033 |
2_ 32 | 4 U + 0034 | 5 U + 0035 | 6 U + 0036 | 7 U + 0037 | 8 U + 0038 | 9 U + 0039 | A U + 0041 | B U + 0042 | C U + 0043 | D U + 0044 | E U + 0045 | F U + 0046 | G U + 0047 | H U + 0048 | Yo U + 0049 | J U + 004A |
3_ 48 | K U + 004B | L U + 004C | M U + 004D | N U + 004E | O U + 004F | P U + 0050 | Q U + 0051 | R U + 0052 | S U + 0053 | T U + 0054 | U U + 0055 | V U + 0056 | W U + 0057 | X U + 0058 | Y U + 0059 | Z U + 005A |
4_ 64 | ||||||||||||||||
5_ 80 | ||||||||||||||||
6_ 96 | ||||||||||||||||
7_ 112 | ARRIBA | ABAJO | IZQUIERDA | DERECHO | CASA | EDITAR | nueva línea | borrar | ||||||||
8_ 128 | ![]() U + 2588 | " | ![]() U + 2590 | ![]() U + 2580 | ![]() U + 259F | ![]() U + 2599 | ![]() U + 259C | ![]() U + 259B | ![]() U + 259A | ![]() U + 1FB90 | ![]() U + 1FB91 | ![]() U + 1FB92 | £ | PS | : | ? |
9_ 144 | ( | ) | - | + | * | / | = | > | < | ; | , | . | 0 | 1 | 2 | 3 |
A_ 160 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | mi | F | GRAMO | H | I | J |
B_ 176 | K | L | METRO | norte | O | PAG | Q | R | S | T | U | V | W | X | Y | Z |
C_ 192 | ||||||||||||||||
D_ 208 | " [b] | ENTONCES [d] | PARA [d] | ; | , | ) | ( | NO [d] | - | + | * | / | ||||
E_ 224 | Y [d] | O [d] | ** [e] | = | > [a] | < [a] | LISTA [d] | volver [d] | CLS [d] | DIM [d] | GUARDAR [d] | PARA [d] | ir a [d] | POKE [d] | entrada [d] | aleatorizar [d] |
F_ 240 | DEJAR [d] | SIGUIENTE [d] | imprimir [d] | NUEVO [d] | CORRER [d] | DETENER [d] | continuar [d] | SI [d] | ir sub [d] | CARGAR [d] | claro [d] | REM [d] |
Letra Número Puntuación Símbolo Otro Indefinido
Notas
- ^ a b c El manual de funcionamiento de la ZX80 tiene un error y muestra los símbolos> y
[5] - ^ a b El punto de código 1 es el símbolo de comillas dobles (") cuando se usa en la memoria de video (llamado archivo de pantalla), pero se usa internamente como el carácter terminador de cadena [1], por lo que
CHR$(1)
devuelve una cadena nula. Punto de código 212 ,CHR$(212)
, se traduce en el carácter imprimible ". - ^ a b Debido a que son 50% de rásteres grises, los puntos de código 9 y 137 tienen la misma apariencia aunque todos los píxeles están invertidos .
- ^ Un b c d e f g h i j k l m n o p q r s t u v w x y z aa Sinclair BASIC tokenizes palabras clave en los puntos de código de un solo byte.
- ^ El aumento a un operador de potencia de varios caracteres tokenizado en un punto de código de un solo byte.
Referencias
- ^ a b c Wearmouth, Geoff. "Listado de ensamblaje de la ROM del Sinclair ZX80" . Archivado desde el original el 15 de agosto de 2015.
- ^ Davenport, Hugo (1980). Un curso de programación BÁSICA - Manual de funcionamiento de Sinclair ZX80 . Science of Cambridge Ltd. págs. 75–77.
- ^ a b Davenport, Hugo (1980). Un curso de programación BÁSICA - Manual de funcionamiento de Sinclair ZX80 . Science of Cambridge Ltd. págs. 116-117.
- ^ "ACTUALIZACIÓN DE ROM BÁSICA 8K" .
- ^ Conjunto de caracteres Sinclair ZX80
Ver también
- Conjunto de caracteres ZX81
- Conjunto de caracteres ZX Spectrum
- ATASCII
- Juego de caracteres Atari ST
- PETSCII
- ASCII extendido