De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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 , [1] CBM-II , Plus / 4 y VIC-20 .

Historia [ editar ]

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. [1] El VIC-20 usó la misma fuente píxel por píxel.como 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ó). [2]

Especificaciones [ editar ]

Pantalla de inicio de C64 con modos desplazados y no desplazados de PETSCII y los dos caracteres de ASCII-1963
Gráfico PETSCII como se muestra en el C64 en los modos con y sin cambios. (No se muestran los códigos de control, así como los caracteres en el rango $ C0– $ FF, que son los códigos de teclas en mayúsculas estándar devueltos por el teclado y que se reflejan en el rango $ 60– $ 7F).

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. [2] 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 646para sus respectivos símbolos de moneda). 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 la falta de capacidad de juego de caracteres 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, PETSCII permite varios niveles de escala de grises al proporcionar un tablero de ajedrez rayado de manera diferentecuadrados / medios cuadrados. 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 cambia 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 hay un booleano fáciloperación 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 listados de programas como caracteres gráficos de video inverso, aunque algunas revistas de computación, en sus esfuerzos por proporcionar listados más claramente legibles, imprimieron los códigos utilizando 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 espaciado de línea y cambia el conjunto de caracteres; el método POKE todavía está disponible y no altera el interlineado. [3]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 caso único (todo en mayúsculas) y caso doble. 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 ).

Juego de caracteres [ editar ]

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. [4]

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. [5]

  Letra  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.

Caracteres de control [ editar ]

Algunos códigos PETSCII no se pueden imprimir y solo se utilizan para la entrada del teclado (por ejemplo, F1, RUN / STOP).

Disposición del teclado PET 2001 , que ilustra los caracteres gráficos PETSCII

Personajes de control de Commodore 64 [ editar ]


Commodore 16 personajes de control [ editar ]


Commodore 128, caracteres de control de modo de 40 columnas [ editar ]


Commodore 128, caracteres de control de modo de 80 columnas [ editar ]

Prototipo de Commodore 65, caracteres de control de modo de 80 columnas [ editar ]

Base 128 [ editar ]

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 [ editar ]

  • ATASCII
  • Juego de caracteres Atari ST
  • Conjunto de caracteres ZX Spectrum
  • ASCII extendido
  • Semigráficos de texto

Notas [ editar ]

  1. ^ Lafamilia de ordenadores personales / domésticosAmigautiliza el estándar ISO-8859-1.
  2. verOn The Edgede Brian Bagnall,ISBN 0-9738649-0-7, págs. 43, 54–55.

Referencias [ editar ]

  1. ^ Una conversación con Chuck Peddle, Bil Herd, Jeri Ellsworth - parte 3 (videoconferencia de 2009, 06:30) Archivado el 9 de enero de 2011 en Wayback Machine
  2. ^ Jennings, Thomas Daniel (20 de abril de 2016) [1999]. "Un historial anotado de algunos códigos de caracteres o ASCII: Código estándar americano para la infiltración de información" . World Power Systems (WPS) . Archivado desde el original el 22 de mayo de 2016.
  3. ^ EL ARCHIVO COMMODORE PET COMPUTER / PREGUNTAS FRECUENTES - VERSIÓN 1.7 (Actualizado el 25 de noviembre de 2000) POR LARRY ANDERSSON, COMMODORE COLLECTOR Y PET ENTHUSIAST
  4. ^ Commodore Trivia Edition # 26 Respuestas de febrero de 1996
  5. ^ "C64VPRI.TXT", L2 / 19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto al UCS (PDF) , 4 de enero de 2019
  6. ^ a b c d e Oy, Aivosto (2014), conjuntos de caracteres Commodore PETSCII (PDF)
  7. ^ "ReadMe.txt", L2 / 19-025: propuesta para agregar caracteres de computadoras heredadas y teletexto al UCS (PDF) , 4 de enero de 2019
  8. ^ "C64IPRI.TXT", L2 / 19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto al UCS (PDF) , 4 de enero de 2019
  9. ^ "C64IALT.TXT", L2 / 19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto al UCS (PDF) , 4 de enero de 2019
  10. ^ Especificación del sistema C64DX

Enlaces externos [ editar ]

  • 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