stringtranslate.com

PETSCII

PETSCII ( Código estándar de intercambio de información PET ) , también conocido como CBM ASCII , es el conjunto de caracteres utilizado en las computadoras domésticas de 8 bits de Commodore Business Machines .

Este conjunto de caracteres fue utilizado por primera vez por el PET en 1977, y posteriormente fue utilizado por el CBM-II , VIC-20 , Commodore 64 , Commodore 16 , Commodore 116 , Plus/4 y Commodore 128 . Sin embargo, la familia de computadoras personales Amiga utiliza el estándar ISO/IEC 8859-1 .

Historia

El conjunto de personajes fue diseñado en gran parte por Leonard Tramiel (el hijo del director ejecutivo de Commodore, Jack Tramiel ) y el diseñador de PET, Chuck Peddle . [1] [2] [3] Los caracteres gráficos de PETSCII fueron una de las extensiones que Commodore especificó para Commodore BASIC cuando presentó los cambios deseados al 6502 BASIC existente de Microsoft para Ric Weiland de Microsoft en 1977. [4] El VIC-20 usó el La misma fuente píxel por píxel que el PET, aunque los caracteres parecían más anchos debido a la pantalla de 22 columnas del VIC. El Commodore 64, sin embargo, utilizó una fuente en mayúsculas pesada y 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 Atari 800 (lanzado varios años antes).

Peddle afirma que la inclusión de símbolos de palos de cartas fue impulsada por la demanda de que fuera fácil escribir juegos de cartas en el PET (como parte de la lista de especificaciones que recibió). [2]

Especificaciones

Carta PETSCII como se muestra en el Commodore 64 en modos con y sin cambios. (No se muestran los códigos de control, ni los caracteres en el rango 0xC0–0xFF, que son los códigos de teclas en mayúsculas estándar devueltos por el teclado y que están duplicados en el rango 0x60–0x7F).

PETSCII "sin cambios" se basa en la versión de 1963 de ASCII (en lugar de la versión de 1967, que es la que utiliza la mayoría, si no todos, los demás conjuntos de caracteres de computadora basados ​​en ASCII). Solo tiene letras mayúsculas , una flecha hacia arriba ⟨ ↑⟩ en lugar de un signo de intercalación ⟨^⟩ en 0x 5E y una flecha hacia la izquierda ⟨←⟩ en lugar de un guión bajo ⟨_⟩ en 0x5F. En todas las versiones, excepto en el Commodore PET original, también tiene un signo de libra británica ⟨£⟩ en lugar de la barra invertida ⟨\⟩ en 0x5C. Otros caracteres agregados en ASCII-1967 (letras minúsculas, acento grave , llaves , barra vertical y tilde) no existen en PETSCII. Los códigos 0xA0–0xDF se asignan a caracteres gráficos en bloques específicos de CBM : líneas horizontales y verticales, sombreados, sombras, triángulos, círculos y palos de cartas .

PETSCII también tiene un modo "desplazado" (también llamado "modo comercial"), que cambia las letras mayúsculas en 0x41–0x5A a minúsculas y cambia los gráficos en 0xC1–0xDA a letras mayúsculas. Las mayúsculas y minúsculas se intercambian desde donde las tiene ASCII. El modo se cambia manteniendo presionada una de las teclas SHIFT y luego presionando y soltando la tecla Commodore . El cambio se puede realizar POKEando la ubicación 59468 con el valor 14 para seleccionar el conjunto alternativo o 12 para volver al estándar. En el Commodore 64, los conjuntos se alternan invirtiendo 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. [5]

En PETSCII se incluyen códigos de control de cursor y pantalla, como {HOME}, {CLR}, {RVS ON}y {RVS OFF}(los dos últimos activan/desactivan 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 vídeo inverso, aunque algunas revistas de informática, en sus esfuerzos por proporcionar listados más claramente legibles, imprimieron los códigos utilizando sus nombres reales entre llaves, como en los ejemplos anteriores. Esto no es ambiguo ya que PETSCII no tiene caracteres de llave.

Se utilizan diferentes asignaciones para almacenar caracteres (la asignación de "intercambio", como la usa CHR$()) y mostrar caracteres (la asignación de "vídeo"). Por ejemplo, para mostrar los caracteres "@ABC" en la pantalla escribiéndolos directamente en la memoria de la pantalla , se deben PINCHAR los valores decimales 0, 1, 2 y 3 en lugar de 64, 65, 66 y 67. [6] [ 7]

De forma predeterminada, el teclado proporciona acceso a la mitad inferior de la página de códigos. Al presionar Shift y una tecla se obtiene el punto de código de la mitad superior correspondiente. Algunos puntos de código PETSCII no se pueden imprimir y sólo se utilizan para la entrada del teclado (por ejemplo, F1, RUN/STOP).

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

Conjunto de caracteres

Las tablas siguientes representan la codificación PETSCII de "intercambio", tal como la utiliza CHR$().

Los caracteres de control se definen en los rangos 0x00–0x1F y 0x80–0x9F, aunque los caracteres de control se definen y cómo se definen varían entre sistemas. Las tablas siguientes excluyen los caracteres de control; la codificación de los caracteres de control se analiza en la sección Caracteres de control.

Los rangos 0x60–0x7F y 0xE0–0xFF son rangos duplicados, aunque lo que duplican varía entre sistemas. En el Commodore PET, duplican 0x20–0x3F y 0xA0–0xBF, respectivamente; en el Commodore VIC-20, 64, 16 y 128 duplican 0xC0–0xDF y 0xA0–0xBF, respectivamente. [6] Si bien estos personajes están visualmente duplicados, son semánticamente diferentes; por ejemplo, en Commodore PET, los puntos de código 0x2C y 0x6C producen un carácter de coma, pero solo 0x2C funciona como delimitador entre campos de entrada. [8]

Los caracteres gráficos son en su mayoría idénticos en todos los sistemas, con las excepciones de 0x5C (que está \en Commodore PET y £en otros sistemas), 0xD0 (que es U+1FB95 CHECKER BOARD FILL en Commodore PET y VIC-20, y U+1FB96 INVERSE CHECKER BOARD FILL en otros sistemas) y el rango 0x60–0x7F (que duplica un rango diferente en Commodore PET). Además, en el conjunto de caracteres desplazados de Commodore PET 2001 , las letras mayúsculas y minúsculas se intercambian en relación con otros sistemas.

Los símbolos de compatibilidad para caracteres PETSCII se agregaron a Unicode 13.0 como parte del bloque Símbolos para computación heredada . [9]

Estándar

Las siguientes tablas representan la codificación PETSCII utilizada en Commodore VIC-20, 64, 16 y 128.

sin cambios

Desplazada

  1. ^ ab Este es el LLENADO DEL TABLERO DE VERIFICACIÓN U+1FB95 en el VIC-20; y U+1FB96 INVERSE CHECKER BOARD FILL en Commodore 64 y Commodore 128.

mascota comodoro

sin cambios

Desplazada

personajes de control

Si bien los personajes gráficos se compartían principalmente entre los sistemas Commodore, los personajes de control variaban con frecuencia. La siguiente tabla describe lo que representan los caracteres de control en Commodore PET 2001 , Commodore PET 8032, VIC-20 , Commodore 64 , Commodore 16 , Commodore 128 (modos de 40 y 80 columnas).

Los colores del VIC-20 y C64/128 se enumeran en el artículo VIC-II .

base 128

De los primeros 192 códigos de PETSCII, hay 128 caracteres gráficos: 32–127 y 160–192. Esto permite codificaciones de estilo "base128" en declaraciones de DATOS, o quizás entre máquinas que hablan PETSCII. Esto también puede incluir caracteres de control, que son visibles cuando se citan, aunque los caracteres de control definidos varían según el sistema.

Ver también

Referencias

  1. ^ Reunanen, Markku; Heikkinen, Tero; Carlsson, Anders (22 de noviembre de 2018). "PETSCII: un conjunto de personajes y una plataforma creativa" (PDF) . Repetición. La revista polaca de estudios de juegos . 5 (1): 27–47. doi :10.18778/2391-8551.05.02.
  2. ^ ab Bagnall, Brian (2007). Al límite: el espectacular ascenso y caída de Commodore . Winnipeg: Prensa variante. págs. 43, 54-55. ISBN 0-9738649-0-7.
  3. ^ Tramiel, Leonard (27 de diciembre de 2021). "Creación de PETSCII". Historias de computadoras antiguas . Blogspot.
  4. ^ "Una conversación con Chuck Peddle, Bil Herd, Jeri Ellsworth - parte 3 - BIOS - blip.tv". blip.tv. _ 5 de septiembre de 2010 [2009]. 6:30. Archivado desde el original el 9 de enero de 2011.(espejo)
  5. ^ Andersson, Larry (25 de noviembre de 2000). "EL ARCHIVO DE PREGUNTAS FRECUENTES DE LA COMPUTADORA PARA MASCOTAS COMMODORE". Zimmers.net . 1.7.
  6. ^ abcdefg Oy, Aivosto (2014), "Conjuntos de caracteres Commodore PETSCII" (PDF) , Aivosto
  7. ^ abc Ewell, Doug; Bettencourt, Rebeca; Banffy, Ricardo; Everson, Michael; Marín Silva, Eduardo; Martenson, Elías; Shoulson, Marcos; Steele, Shawn; Turner, Rebecca (4 de enero de 2019), "ReadMe.txt", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto al UCS (PDF) , The Unicode Consortium
  8. ^ Cerebro, Jim (16 de marzo de 1996). "Respuestas de Commodore Trivia Edition n.º 26 de febrero de 1996". Zimmers.net . Q $195) En máquinas CBM anteriores a la VIC-20, el código chr$ genera el mismo carácter que chr$(44), la coma. A $195) 108. P $196) ¿El personaje descrito en $195 tiene alguna utilidad? A $196) Para poner comas en cadenas leídas vía INPUT. Recuerde, INPUT trata una coma (chr$(44)) como un delimitador entre campos de entrada, pero chr$(108) no produce el mismo efecto, por lo que podría reemplazar 44 con 108 en los datos escritos en el disco y leerlos en con ENTRADA.


  9. ^ Bueno, Doug; Bettencourt, Rebeca; Banffy, Ricardo; Everson, Michael; Marín Silva, Eduardo; Martenson, Elías; Shoulson, Marcos; Steele, Shawn; Turner, Rebecca (4 de enero de 2019), L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF) , The Unicode Consortium
  10. ^ ab Bettencourt, Rebecca G. "Mapeo de PETSCII a Unicode". KreativeKorp .
  11. ^ Bettencourt, Rebecca (20 de abril de 2018), "CVICIPRI.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  12. ^ Bettencourt, Rebecca (20 de abril de 2018), "C64IPRI.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  13. ^ Bettencourt, Rebecca (11 de octubre de 2018), "CVICIALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  14. ^ Bettencourt, Rebecca (11 de octubre de 2018), "C64IALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  15. ^ Bettencourt, Rebecca (20 de abril de 2018), "CPETIPRI.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  16. ^ Bettencourt, Rebecca (11 de octubre de 2018), "CPETIALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras heredadas y teletexto a la UCS (PDF)
  17. ^ Guía de referencia del programador Commodore 128 (PDF) . Commodore Business Machines, Inc. Febrero de 1986. págs. 666–668. ISBN 0-553-34292-4.

enlaces externos