stringtranslate.com

MASCOTA CIIU

PETSCII ( PET Código estándar de intercambio de información ), 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 a partir de 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 en su lugar el estándar ISO/IEC 8859-1 .

Historia

El conjunto de caracteres 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 . [1] [2] [3] Los caracteres gráficos de PETSCII fueron una de las extensiones que Commodore especificó para Commodore BASIC cuando le presentó a Ric Weiland de Microsoft los cambios deseados al BASIC 6502 existente de Microsoft en 1977. [4] El VIC-20 usó 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, usó una fuente mayúscula pesada ligeramente rediseñada, esencialmente una versión más gruesa de la del PET, para evitar los 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 de las computadoras Atari de 8 bits (lanzada 2,75 años antes).

Peddle afirma que la inclusión de símbolos de los palos de las cartas fue motivada 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]

Presupuesto

Tabla PETSCII tal como se muestra en el Commodore 64 en los modos shifted y no shifted. (No se muestran los códigos de control, así como los caracteres en el rango 0xC0–0xFF, que son los códigos de teclas en mayúsculas estándar que devuelve el teclado y que se duplican en el rango 0x60–0x7F).

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

PETSCII también tiene un modo "cambiado" (también llamado "modo de negocios"), 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 de donde las tiene ASCII. El modo se alterna manteniendo presionada una de las teclas SHIFT y luego presionando y soltando la tecla Commodore . El cambio se puede hacer pulsando la posició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 a través de un código de control especial PRINT CHR$(14)que ajusta el espaciado de línea, así como cambiando el conjunto de caracteres; el método POKE todavía está disponible y no altera el espaciado de línea. [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 o desactivan 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 vídeo inverso, aunque algunas revistas informáticas, en sus esfuerzos por proporcionar listados más legibles, imprimieron los códigos con sus nombres reales entre llaves, como en los ejemplos anteriores. Esto es inequívoco, ya que PETSCII no tiene caracteres de llave.

Se utilizan diferentes asignaciones para almacenar caracteres (la asignación de "intercambio", como la que utiliza CHR$()) y para mostrar caracteres (la asignación de "video"). Por ejemplo, para mostrar los caracteres "@ABC" en la pantalla escribiendo directamente en la memoria de pantalla , se deben introducir los valores decimales 0, 1, 2 y 3 en lugar de 64, 65, 66 y 67. [6] [7]

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

Disposició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 definidos y su definición varía según el sistema. Las tablas siguientes excluyen los caracteres de control; la codificación de los caracteres de control se analiza en § 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 caracteres son visualmente duplicados, son semánticamente diferentes; por ejemplo, en el 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 prácticamente idénticos en todos los sistemas, con la excepción de 0x5C (que se encuentra \en el Commodore PET y £en otros sistemas), 0xDE (que es U+1FB95 CHECKER BOARD FILL en el 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 el Commodore PET). Además, en el conjunto de caracteres modificado del 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

Desplazado

  1. ^ abc Este es el RELLENO DE TABLERO DE CHEQUES U+1FB95 en el VIC-20; y el RELLENO DE TABLERO DE CHEQUES INVERSO U+1FB96 en el Commodore 64 y Commodore 128.

Comodoro PET

Sin cambios

Desplazado

Personajes de control

Si bien los caracteres gráficos se compartían en su mayoría entre los sistemas Commodore, los caracteres 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 y Commodore 128 (modos de 40 y 80 columnas).

Los colores del VIC-20 y C64/128 están enumerados 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 instrucciones DATA, 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 que se definen varían entre sistemas.

La principal aplicación de una codificación "Base 128" es en las instrucciones DATA en Commodore BASIC. Los datos binarios se pueden almacenar con una sobrecarga relativamente baja, lo que permite que un carácter de datos codifique siete bits de datos. En una línea estándar de 80 caracteres, normalmente se utilizan cuatro caracteres para el número de línea y dos caracteres para la instrucción DATA tokenizada. Dado que la coma y los dos puntos son importantes para BASIC, también se necesita un carácter de comillas, lo que deja 73 caracteres para los datos. Con siete bits por carácter, una línea DATA podría almacenar 511 bits de datos binarios, con una eficiencia del 79%. Si se utilizan números de línea de tres dígitos, la eficiencia aumenta al 80%. Si se utilizan números de línea de dos dígitos, la eficiencia es del 82%.

  1. ^ Supongamos que la línea 0 es un GOTO.
  2. ^ ab El número máximo de líneas probablemente esté desfasado por un valor de uno.

Para almacenar datos binarios en Commodore BASIC, parece que los números de línea de dos o tres dígitos suelen ser la mejor opción.

Base 164

Se pueden representar 164 caracteres PETSCII en cadenas entre comillas; en teoría, es posible utilizar Base 164. Esto incluye los valores de color, las teclas de función y los controles del cursor.

Véase 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: Variant Press. págs. 43, 54-55. ISBN 978-0-9738649-0-8.
  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 y 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). "ARCHIVO DE PREGUNTAS FRECUENTES SOBRE LA COMPUTADORA COMMODORE PET". Zimmers.net . 1.7.
  6. ^ abcdefg Oy, Aivosto (2014), "Conjuntos de caracteres Commodore PETSCII" (PDF) , Aivosto
  7. ^ abc Ewell, Doug; Bettencourt, Rebecca; Bánffy, Ricardo; Everson, Michael; Marín Silva, Eduardo; Mårtenson, Elias; Shoulson, Mark; Steele, Shawn; Turner, Rebecca (4 de enero de 2019), "ReadMe.txt", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF) , El Consorcio Unicode
  8. ^ Brain, Jim (16 de marzo de 1996). "Respuestas de Commodore Trivia Edition #26 para febrero de 1996". Zimmers.net . P $195) En las máquinas CBM anteriores a la VIC-20, ¿qué código chr$ genera el mismo carácter que chr$(44), la coma? A $195) 108. P $196) ¿El carácter descrito en $195 tiene alguna utilidad? A $196) Para poner comas en cadenas leídas mediante 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 con INPUT.


  9. ^ Ewell, Doug; Bettencourt, Rebecca; Bánffy, Ricardo; Everson, Michael; Marín Silva, Eduardo; Mårtenson, Elias; Shoulson, Mark; Steele, Shawn; Turner, Rebecca (4 de enero de 2019), L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al 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 antiguas y teletexto al UCS (PDF)
  12. ^ Bettencourt, Rebecca (20 de abril de 2018), "C64IPRI.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF)
  13. ^ Bettencourt, Rebecca (11 de octubre de 2018), "CVICIALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF)
  14. ^ Bettencourt, Rebecca (11 de octubre de 2018), "C64IALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF)
  15. ^ Bettencourt, Rebecca (20 de abril de 2018), "CPETIPRI.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF)
  16. ^ Bettencourt, Rebecca (11 de octubre de 2018), "CPETIALT.TXT", L2/19-025: Propuesta para agregar caracteres de computadoras antiguas y teletexto al UCS (PDF)
  17. ^ Guía de referencia del programador de Commodore 128 (PDF) . Commodore Business Machines, Inc. Febrero de 1986. págs. 666–668. ISBN 0-553-34292-4.

Enlaces externos