PETSCII - PETSCII
Idioma (s) | Inglés con pseudográficos |
---|---|
Clasificación | ASCII temprano extendido de 8 bits |
Residencia en | US-ASCII (versión de 1963) |
PETSCII ( PET S stándar C oda de I nformación que nterchange ), también conocido como CBM ASCII , es el conjunto de caracteres utilizado en Commodore Business Machines (CBM) 's de 8 bits ordenadores domésticos , empezando por el PET a partir de 1977 e incluyendo el C16 , C64 , C116 , C128 , CBM-II , Plus / 4 y VIC-20 .
Historia
El conjunto de personajes fue diseñado en gran parte por Leonard Tramiel (el hijo del CEO de Commodore, Jack Tramiel ) y el diseñador de PET Chuck Peddle . Los caracteres gráficos de PETSCII fueron una de las extensiones que Commodore especificó para Commodore BASIC al diseñar los cambios deseados en el 6502 BASIC existente de Microsoft en Ric Weiland de Microsoft en 1977. El VIC-20 usó la misma fuente píxel por píxel que el PET, aunque los personajes parecían más anchos debido a la pantalla de 22 columnas del VIC. El Commodore 64, sin embargo, usó una fuente en mayúscula pesada ligeramente rediseñada, esencialmente una versión más gruesa de la PET, para evitar artefactos de color creados por la pantalla de mayor resolución de la máquina. Los caracteres en minúscula del C64 son idénticos a los caracteres en minúscula de la fuente del sistema del Atari 800 (lanzado varios años antes).
Peddle afirma que la inclusión de los símbolos de los palos de cartas fue impulsada por la demanda de que debería ser fácil escribir juegos de cartas en el PET (como parte de la lista de especificaciones que recibió).
Especificaciones
PETSCII se basa en la versión 1963 de ASCII (en lugar de la versión de 1967 , que la mayoría, si no todos los demás juegos de caracteres de computadora, se basan en el uso de ASCII). Suponiendo que el modo de gráficos no se cambia , PETSCII solo tiene letras mayúsculas en su estado de encendido, una flecha hacia arriba (↑) en lugar de un signo de intercalación (^) en la posición $ 5E y una flecha hacia la izquierda (←) en lugar de un guión bajo (_) en la posición $ 5F, estas dos variantes son comunes en ASCII-1963. Además, en las versiones VIC-20 y C64, la barra invertida (\) en la posición $ 5C está ocupada por un signo de libra esterlina (£) (que precede al uso del mismo código ASCII por las versiones japonesa y coreana de ISO 646 para su símbolos de moneda respectivos). En el modo sin cambios , los códigos $ 60– $ 7F y $ A0– $ FF se asignan a caracteres gráficos de bloques específicos de CBM (líneas horizontales y verticales, tramas, sombras, triángulos, círculos y juegos de cartas ). Los rangos $ 00– $ 1F y $ 80– $ 9F tienen códigos de control.
La falta de Commodore PET de un modo de mapa de bits programable para gráficos por computadora , así como su capacidad de juego de caracteres no redefinible, puede ser una de las razones por las que se desarrolló PETSCII; Al usar creativamente los gráficos de bloques bien pensados, se puede lograr un mayor grado de sofisticación en los gráficos de la pantalla que usando caracteres ASCII simples de letras, dígitos y signos de puntuación. Además del conjunto relativamente diverso de formas geométricas que se pueden producir de esta manera, PETSCII permite varios niveles de escala de grises mediante la provisión de cuadrados / medios cuadrados de tablero de ajedrez rayados de manera diferente . Finalmente, el modo de video inverso (ver más abajo) se usa para completar la gama de caracteres gráficos, ya que proporciona bloques de medio cuadrado reflejados.
PETSCII también tiene un modo de texto , en el que las letras minúsculas ocupan el rango $ 41– $ 5A, y las letras mayúsculas ocupan el rango $ C1– $ DA. El modo se alterna manteniendo presionada una de las teclas SHIFT y luego presionando y soltando la tecla Commodore . Independientemente de si el chip ha sufrido este "cambio" gráfico, hay caracteres gráficos de bloque en el rango de $ E0-FF. Esto sirve para distinguir PETSCII de aquellos tipos de ASCII que no se remontan más allá de ASCII-1967, por lo que cualquier transferencia de texto entre una máquina Commodore de 8 bits y una que usa ASCII derivado de 1967 daría como resultado un texto donde las letras mayúsculas parecen estar en minúsculas. y letras minúsculas en mayúscula. No existe una operación booleana fácil para cambiar estos casos al caso adecuado. Por lo tanto, al igual que con otras computadoras basadas en juegos de caracteres ASCII no estándar, la conversión de software es necesaria al intercambiar archivos de texto y / o comunicarse con sistemas ASCII estándar. Los otros rangos no se modifican en modo desplazado; esto significa que los otros caracteres agregados en ASCII-1967 además de las letras minúsculas, es decir, el acento grave, las llaves, la barra vertical y la tilde, no existen en PETSCII.
Se incluyen en PETSCII son de cursor y de control de pantalla de códigos, como {HOME}
, {CLR}
, {RVS ON}
, y {RVS OFF}
(los dos últimos activar / desactivar la visualización de caracteres de vídeo inverso). Los códigos de control aparecían en los listados de programas como caracteres gráficos de video inverso, aunque algunas revistas de informática, en sus esfuerzos por proporcionar listados más claramente legibles, imprimieron los códigos con sus nombres reales, como en los ejemplos anteriores. Estos nombres se incluían comúnmente entre llaves en los listados. Esto evitó la ambigüedad, ya que, como se mencionó, PETSCII no tenía caracteres de llaves. Los códigos de control de pantalla eran esencialmente similares a los códigos de escape para terminales de computadora basados en texto.
Como se indicó anteriormente, PETSCII proporciona el cambio entre el conjunto de caracteres de gráficos + mayúsculas y minúsculas predeterminado de encendido (sin cambiar) y el conjunto alternativo (desplazado) de minúsculas + mayúsculas (donde el conjunto cambiado contiene un subconjunto de los caracteres gráficos de bloque del conjunto sin cambiar) . El cambio entre modos se realiza presionando la ubicación 59468 con el valor 14 para seleccionar el conjunto alternativo o 12 para volver al estándar. En C64, los conjuntos se alternan volteando el bit 2 del byte 53272. En algunos modelos de PET, esto también se puede lograr mediante un código de control especial PRINT CHR$(14)
que ajusta el espacio entre líneas y cambia el conjunto de caracteres; el método POKE todavía está disponible y no altera el interlineado. Por lo tanto, los cambios de estado del editor de pantalla, en lugar del empleo de códigos ASCII separados, se utilizan para elegir entre mayúsculas y minúsculas (todo en mayúsculas) y mayúsculas y minúsculas. En las máquinas VIC-20, C64 y posteriores (sin incluir las computadoras comerciales CBM), los códigos de color complementan los demás códigos de control de pantalla. (Los colores de VIC-20 y C64 / 128 se enumeran en el artículo VIC-II ).
Conjunto de caracteres
No todos los caracteres codificados por PETSCII son 'gráficos' y no todos tienen una representación Unicode correspondiente . La siguiente tabla muestra para los caracteres PETSCII el carácter Unicode y el punto de código correspondientes . Los caracteres de control y otros caracteres que no se imprimen están representados por sus nombres. Cuando un punto de código en particular codifica tanto un carácter desplazado como un carácter no desplazado, se muestran ambos caracteres, con el carácter no desplazado a la izquierda y el carácter desplazado a la derecha. Los encabezados de fila y columna indican las combinaciones de dígitos hexadecimales para producir el valor del código de ocho bits; por ejemplo, la letra L tiene un valor de código $ 4C.
Tenga en cuenta que la siguiente tabla es para Commodore 64 , Commodore 16 y Commodore 128 . Los caracteres de control difieren entre estas máquinas y se presentan en tablas separadas . Otras máquinas Commodore usaban versiones ligeramente diferentes de PETSCII, que usaban diferentes caracteres de control y, en algunos casos, diferentes caracteres gráficos. Por ejemplo, en las máquinas CBM anteriores al VIC-20 , los caracteres $ 2C y $ 6C producían un carácter de coma, aunque con una semántica ligeramente diferente.
La ROM generadora de caracteres real utilizó un conjunto diferente de asignaciones. Por ejemplo, para mostrar los caracteres "@ABC" en la pantalla escribiendo directamente en la memoria de la pantalla , se presionarían los valores decimales 0, 1, 2 y 3 en lugar de 64, 65, 66 y 67.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1_ 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2_ 32 |
SP 0020 |
! 0021 |
" 0022 |
# 0023 |
$ 0024 |
% 0025 |
& 0026 |
« 0027 |
( 0028 |
) 0029 |
* 002A |
+ 002B |
, 002C |
- 002D |
. 002E |
/ 002F |
3_ 48 |
0 0030 |
1 0031 |
2 0032 |
3 0033 |
4 0034 |
5 0035 |
6 0036 |
7 0037 |
8 0038 |
9 0039 |
: 003A |
; 003B |
< 003C |
= 003D |
> 003E |
? 003F |
4_ 64 |
@ 0040 |
A a 0041 0061 |
B b 0042 0062 |
C c 0043 0063 |
D d 0044 0064 |
E e 0045 0065 |
F f 0046 0066 |
G g 0047 0067 |
H h 0048 0068 |
Yo yo 0049 0069 |
J j 004A 006A |
K k 004B 006B |
L l 004C 006C |
M m 004D 006D |
N n 004E 006E |
O o 004F 006F |
5_ 80 |
P p 0050 0070 |
Q q 0051 0071 |
R r 0052 0072 |
S s 0053 0073 |
T t 0054 0074 |
U u 0055 0075 |
V v 0056 0076 |
W w 0057 0077 |
X x 0058 0078 |
Y y 0059 0079 |
Z z 005A 007A |
[ 005B |
£ 00A3 |
] 005D |
↑ 2191 |
← 2190 |
6_ 96 |
🭹 1FB79 |
♠ A 2660 0041 |
🭲 B 1FB72 0042 |
🭸 C 1FB78 0043 |
🭷 D 1FB77 0044 |
🭶 E 1FB76 0045 |
🭺 F 1FB7A 0046 |
🭱 G 1FB71 0047 |
🭴 H 1FB74 0048 |
╮ I 256E 0049 |
╰ J 2570 004A |
╯ K 256F 004B |
🭼 L 1FB7C 004C |
╲ M 2572 004D |
╱ N 2571 004E |
🭽 O 1FB7D 004F |
7_ 112 |
🭾 P 1FB7E 0050 |
● Q 25CF 0051 |
🭻 R 1FB7B 0052 |
♥ S 2665 0053 |
🭰 T 1FB70 0054 |
╭ U 256D 0055 |
╳ V 2573 0056 |
○ W 25CB 0057 |
♣ X 2663 0058 |
🭵 Y 1FB75 0059 |
♦ Z 2666 005A |
┼ 253C |
🮌 1FB8C |
│ 2502 |
π 🮖 03C0 1FB96 |
◥ 🮘 25E5 1FB98 |
8_ 128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9_ 144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A_ 160 |
NBSP 00A0 |
▌ 258C |
▄ 2584 |
▔ 2594 |
▁ 2581 |
▏ 258F |
▒ 2592 |
▕ 2595 |
🮏 1FB8F |
◤ 🮙 25E4 1FB99 |
🮇 1FB87 |
├ 251C |
▗ 2597 |
└ 2514 |
┐ 2510 |
▂ 2582 |
B_ 176 |
┌ 250C |
┴ 2534 |
┬ 252C |
┤ 2524 |
▎ 258E |
▍ 258D |
🮈 1FB88 |
🮂 1FB82 |
🮃 1FB83 |
▃ 2583 |
🭿 ✓ 1FB7F 2713 |
▖ 2596 |
▝ 259D |
┘ 2518 |
▘ 2598 |
▚ 259A |
C_ 192 |
🭹 1FB79 |
♠ A 2660 0041 |
🭲 B 1FB72 0042 |
🭸 C 1FB78 0043 |
🭷 D 1FB77 0044 |
🭶 E 1FB76 0045 |
🭺 F 1FB7A 0046 |
🭱 G 1FB71 0047 |
🭴 H 1FB74 0048 |
╮ I 256E 0049 |
╰ J 2570 004A |
╯ K 256F 004B |
🭼 L 1FB7C 004C |
╲ M 2572 004D |
╱ N 2571 004E |
🭽 O 1FB7D 004F |
D_ 208 |
🭾 P 1FB7E 0050 |
● Q 25CF 0051 |
🭻 R 1FB7B 0052 |
♥ S 2665 0053 |
🭰 T 1FB70 0054 |
╭ U 256D 0055 |
╳ V 2573 0056 |
○ W 25CB 0057 |
♣ X 2663 0058 |
🭵 Y 1FB75 0059 |
♦ Z 2666 005A |
┼ 253C |
🮌 1FB8C |
│ 2502 |
π 🮖 03C0 1FB96 |
◥ 🮘 25E5 1FB98 |
E_ 224 |
NBSP 00A0 |
▌ 258C |
▄ 2584 |
▔ 2594 |
▁ 2581 |
▏ 258F |
▒ 2592 |
▕ 2595 |
🮏 1FB8F |
◤ 🮙 25E4 1FB99 |
🮇 1FB87 |
├ 251C |
▗ 2597 |
└ 2514 |
┐ 2510 |
▂ 2582 |
F_ 240 |
┌ 250C |
┴ 2534 |
┬ 252C |
┤ 2524 |
▎ 258E |
▍ 258D |
🮈 1FB88 |
🮂 1FB82 |
🮃 1FB83 |
▃ 2583 |
🭿 ✓ 1FB7F 2713 |
▖ 2596 |
▝ 259D |
┘ 2518 |
▘ 2598 |
π 🮖 03C0 1FB96 |
Carta Número Puntuación Símbolo Otro Indefinido
El teclado de forma predeterminada proporciona acceso a la mitad inferior de la página de códigos. Al presionar la tecla shift + se obtiene el correspondiente punto de código de la mitad superior.
Personajes de control
Algunos códigos PETSCII no se pueden imprimir y solo se utilizan para la entrada del teclado (por ejemplo, F1, RUN / STOP).
Personajes de control de Commodore 64
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARADA |
|
BLANCO |
|
|
SHIFT DISABLE |
HABILITAR SHIFT |
|
|
|
REGRESO |
MODO TEXTO 000E |
|
1_ 16 |
|
CURSOR HACIA ABAJO 0084 |
INVERTIR EN |
HOGAR |
DEL 0008 |
|
|
|
|
|
|
|
ROJO |
CURSOR DERECHA |
VERDE |
AZUL |
8_ 128 |
|
NARANJA |
|
CORRER |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
NEGRO |
CURSOR ARRIBA 008D |
INVERTIR APAGADO |
CLR |
INSERTAR |
MARRÓN |
ROSADO |
GRIS OSCURO |
GRIS MEDIO |
LUZ VERDE |
LUZ AZUL |
LUZ GRIS |
PÚRPURA |
CURSOR IZQUIERDO |
AMARILLO |
CYAN |
Commodore 16 personajes de control
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARADA |
|
BLANCO |
|
|
SHIFT DISABLE |
HABILITAR SHIFT |
|
|
|
REGRESO |
MODO TEXTO 000E |
|
1_ 16 |
|
CURSOR HACIA ABAJO 0084 |
INVERTIR EN |
HOGAR |
DEL 0008 |
|
|
|
|
|
|
ESC 001B |
ROJO |
CURSOR DERECHA |
VERDE |
AZUL |
8_ 128 |
|
NARANJA |
INTERMITENTE EN |
CORRER |
INTERMITENTE APAGADO |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
AYUDA |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
NEGRO |
CURSOR ARRIBA 008D |
INVERTIR APAGADO |
CLR |
INSERTAR |
MARRÓN |
AMARILLO VERDE |
ROSADO |
AZUL VERDE |
LUZ AZUL |
AZUL OSCURO |
LUZ VERDE |
PÚRPURA |
CURSOR IZQUIERDO |
AMARILLO |
CYAN |
Commodore 128, caracteres de control de modo de 40 columnas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARADA |
|
BLANCO |
|
CAMPANA 0007 |
|
HT 0009 |
LF 000A |
HABILITAR SHIFT |
SHIFT DISABLE |
REGRESO |
MODO TEXTO 000E |
|
1_ 16 |
|
CURSOR HACIA ABAJO 0084 |
INVERTIR EN |
HOGAR |
DEL 0008 |
|
|
|
AJUSTE PESTAÑA / BORRAR 0088 |
|
|
ESC 001B |
ROJO |
CURSOR DERECHA |
VERDE |
AZUL |
8_ 128 |
|
NARANJA |
|
CORRER |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
NEGRO |
CURSOR ARRIBA 008D |
INVERTIR APAGADO |
CLR |
INSERTAR |
MARRÓN |
ROSADO |
GRIS OSCURO |
GRIS MEDIO |
LUZ VERDE |
LUZ AZUL |
LUZ GRIS |
PÚRPURA |
CURSOR IZQUIERDO |
AMARILLO |
CYAN |
Commodore 128, caracteres de control de modo de 80 columnas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
SUBRAYADO EN |
PARADA |
|
BLANCO |
|
CAMPANA 0007 |
|
HT 0009 |
LF 000A |
HABILITAR SHIFT |
SHIFT DISABLE |
REGRESO |
MODO TEXTO 000E |
INTERMITENTE EN |
1_ 16 |
|
CURSOR HACIA ABAJO |
INVERTIR EN |
HOGAR |
DEL 0008 |
|
|
|
AJUSTE PESTAÑA / BORRAR 0088 |
|
|
ESC 001B |
ROJO |
CURSOR DERECHA |
VERDE |
AZUL |
8_ 128 |
|
PÚRPURA OSCURO |
SUBRAYADO DESACTIVADO |
CORRER |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
INTERMITENTE APAGADO |
9_ 144 |
NEGRO |
CURSOR ARRIBA 008D |
INVERTIR APAGADO |
CLR |
INSERTAR |
AMARILLO OSCURO |
ROSADO |
CIAN OSCURO |
GRIS MEDIO |
LUZ VERDE |
LUZ AZUL |
LUZ GRIS |
PÚRPURA |
CURSOR IZQUIERDO |
AMARILLO |
CYAN |
Prototipo de Commodore 65, personajes de control de modo de 80 columnas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
SUBRAYADO EN |
PARADA |
|
BLANCO |
|
CAMPANA 0007 |
|
HT 0009 |
LF 000A |
HABILITAR SHIFT |
SHIFT DISABLE |
REGRESO |
MODO TEXTO 000E |
INTERMITENTE EN |
1_ 16 |
F9 |
CURSOR HACIA ABAJO |
INVERTIR EN |
HOGAR |
DEL 0008 |
F10 |
F11 |
F12 |
AJUSTE PESTAÑA / BORRAR 0088 |
F13 |
F14 |
ESC 001B |
ROJO |
CURSOR DERECHA |
VERDE |
AZUL |
8_ 128 |
|
NARANJA |
SUBRAYADO DESACTIVADO |
CORRER |
AYUDA |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
INTERMITENTE APAGADO |
9_ 144 |
NEGRO |
CURSOR ARRIBA 008D |
INVERTIR APAGADO |
CLR |
INSERTAR |
MARRÓN |
ROJO CLARO |
LUZ GRIS |
GRIS MEDIO |
LUZ VERDE |
LUZ AZUL |
GRIS OSCURO |
PÚRPURA |
CURSOR IZQUIERDO |
AMARILLO |
CYAN |
Base 128
De los primeros 192 códigos de PETSCII, 164 tienen representaciones visibles (para los códigos de control, estos son visibles cuando se citan ): 5 (blanco), 17–20 y 28–31 (colores y controles del cursor), 32–90 ( equivalente ASCII ) , 91–127 (gráficos), 129 (naranja), 133–140 (teclas de función), 144–159 (colores y controles del cursor) y 160–192 (gráficos). En teoría, esto permite codificaciones, como base128, en declaraciones DATA, o quizás entre máquinas que hablan PETSCII; por ejemplo, 33-127, 160-192.
Ver también
- ATASCII
- Juego de caracteres Atari ST
- Conjunto de caracteres ZX Spectrum
- ASCII extendido
- Semigráficos de texto
Notas
- ^ Lafamilia de ordenadores personales / domésticosAmigautiliza el estándar ISO-8859-1.
- ↑ verOn The Edgede Brian Bagnall, ISBN 0-9738649-0-7, págs. 43, 54–55.
Referencias
enlaces externos
- Mapa de caracteres PETSCII, parte 1 , parte 2 , parte 3 ( JPEG )
- Un intento de mapeo de PETSCII a Unicode, sin desplazar , desplazado
- Otro mapeo de PETSCII a Unicode y una fuente TrueType usando ese mapeo
- Personajes de control de Commodore 128 PETSCII
- Tipografía en 8 bits: fuentes del sistema
- Editor de arte PETSCII en línea
- PETSCII-arte