PETSCII - PETSCII
Línguas) | Inglês com pseudografia |
---|---|
Classificação | ASCII antecipado estendido de 8 bits |
Baseado em | US-ASCII (versão 1963) |
PETSCII ( PET S tandard C ode of I nformation I nterchange ), também conhecido como CBM ASCII , é o conjunto de caracteres usado nos computadores domésticos de 8 bits da Commodore Business Machines (CBM) , começando com o PET de 1977 e incluindo o C16 , C64 , C116 , C128 , CBM-II , Plus / 4 e VIC-20 .
História
O conjunto de personagens foi amplamente projetado por Leonard Tramiel (filho do CEO da Commodore, Jack Tramiel ) e pelo designer de PET Chuck Peddle . Os caracteres gráficos de PETSCII foram uma das extensões que o Commodore especificou para o Commodore BASIC ao apresentar as alterações desejadas do 6502 BASIC da Microsoft para Ric Weiland da Microsoft em 1977. O VIC-20 usava a mesma fonte pixel por pixel do PET, embora os personagens pareciam mais largos devido à tela de 22 colunas do VIC. O Commodore 64, no entanto, usou uma fonte pesada em caixa alta ligeiramente redesenhada, essencialmente uma versão mais espessa do PET, a fim de evitar artefatos de cor criados pela tela de resolução mais alta da máquina. Os caracteres minúsculos do C64 são idênticos aos caracteres minúsculos da fonte do sistema do Atari 800 (lançada vários anos antes).
Peddle afirma que a inclusão de símbolos de naipe de cartas foi estimulada pela exigência de que deveria ser fácil escrever jogos de cartas no PET (como parte da lista de especificações que ele recebeu).
Especificações
PETSCII é baseado na versão de 1963 do ASCII (ao invés da versão de 1967 , que a maioria, senão todos os outros conjuntos de caracteres de computador baseados no uso de ASCII). Supondo que o modo gráfico não seja alterado , PETSCII tem apenas letras maiúsculas em seu estado de inicialização, uma seta para cima (↑) em vez de um acento circunflexo (^) na posição $ 5E e uma seta para a esquerda (←) em vez de um sublinhado (_) na posição $ 5F, essas duas variantes são comuns em ASCII-1963. Além disso, nas versões VIC-20 e C64, a barra invertida (\) na posição $ 5C é ocupada por um símbolo de libra esterlina (£) (precedendo o uso do mesmo código ASCII pelas versões japonesa e coreana do ISO 646 para seus respectivos símbolos de moeda). No modo não alterado , os códigos $ 60– $ 7F e $ A0– $ FF são atribuídos a caracteres gráficos de bloco específicos de CBM (linhas horizontais e verticais, hachuras, sombras, triângulos, círculos e naipes de cartas ). As faixas $ 00– $ 1F e $ 80– $ 9F têm códigos de controle.
A falta de um modo de bitmap programável para computação gráfica no Commodore PET , bem como de não ter capacidade de conjunto de caracteres redefiníveis, pode ser uma das razões pelas quais o PETSCII foi desenvolvido; usando criativamente os gráficos de bloco bem pensados, um maior grau de sofisticação nos gráficos de tela é possível do que usando letras / dígitos / caracteres de pontuação ASCII simples. Além do conjunto relativamente diversificado de formas geométricas que podem, assim, ser produzidos, PETSCII permite vários tons de cinza níveis por sua disposição de modo diferente eclodidos checkerboard quadrados / meia-quadrados. Finalmente, o modo de vídeo reverso (veja abaixo) é usado para completar a gama de caracteres gráficos, na medida em que fornece blocos de meio-quadrado espelhados.
PETSCII também tem um modo de texto , no qual as letras minúsculas ocupam o intervalo $ 41– $ 5A e as letras maiúsculas ocupam o intervalo $ C1– $ DA. O modo é alternado segurando uma das teclas SHIFT e, em seguida, pressionando e liberando a tecla Commodore . Independentemente de o chip ter passado por essa "mudança" gráfica, há caracteres gráficos de bloco na faixa de $ E0-FF. Isso serve para distinguir PETSCII daqueles tipos de ASCII que não remontam a mais de ASCII-1967, portanto, qualquer transferência de texto entre uma máquina Commodore de 8 bits e uma que usa ASCII derivado de 1967 resultaria em um texto em que as letras maiúsculas parecem ser minúsculas e letras minúsculas em maiúsculas. Não existe uma operação booleana fácil para alterar esses casos para o caso adequado. Assim, como com outros computadores baseados em conjuntos de caracteres ASCII não padrão, a conversão de software é necessária ao trocar arquivos de texto e / ou telecomunicação com sistemas ASCII padrão. Os outros intervalos permanecem inalterados no modo alterado; isso significa que os outros caracteres adicionados em ASCII-1967 além de letras minúsculas - ou seja, o acento grave, colchetes, barra vertical e til - não existem em PETSCII.
Incluído no PETSCII são cursor e de controlo de códigos de tela, tais como {HOME}
, {CLR}
, {RVS ON}
, e {RVS OFF}
(os dois últimos a activação / desactivação de exibição de caracteres reversa-vídeo). Os códigos de controle apareciam nas listagens de programas como caracteres gráficos de vídeo reverso, embora algumas revistas de informática, em seus esforços para fornecer listagens legíveis mais claramente, imprimissem os códigos usando seus nomes reais, como os exemplos acima. Esses nomes costumavam ser colocados entre colchetes nas listas. Isso evitou ambigüidades, uma vez que, como mencionado, PETSCII não possuía caracteres de chaves. Os códigos de controle da tela eram essencialmente semelhantes aos códigos de escape para terminais de computador baseados em texto.
Conforme indicado acima, PETSCII fornece a mudança entre o conjunto de caracteres gráficos + letras maiúsculas padrão (não alterado) e o conjunto alternativo (deslocado) inferior + maiúsculo (onde o conjunto deslocado contém um subconjunto dos caracteres gráficos de bloco do conjunto não deslocado) . A mudança entre os modos é feita por POKEing local 59468 com o valor 14 para selecionar o conjunto alternativo ou 12 para reverter para o padrão. No C64, os conjuntos são alternados invertendo o bit 2 do byte 53272. Em alguns modelos de PET, isso também pode ser obtido por meio de um código de controle especial PRINT CHR$(14)
que ajusta o espaçamento entre linhas e também altera o conjunto de caracteres; o método POKE ainda está disponível e não altera o espaçamento entre linhas. Assim, as mudanças de estado do editor de tela, em vez do emprego de códigos ASCII separados, são usadas para escolher entre caso único (todas as maiúsculas) e caso duplo. Nas máquinas VIC-20, C64 e posteriores (sem incluir os computadores comerciais CBM), os códigos de cores complementam os outros códigos de controle de tela. (As cores do VIC-20 e C64 / 128 estão listadas no artigo VIC-II .)
Conjunto de caracteres
Nem todos os caracteres codificados por PETSCII são 'gráficos' e nem todos têm uma representação Unicode correspondente . A tabela a seguir mostra, para caracteres PETSCII, o caractere Unicode correspondente e o ponto de código . Os caracteres de controle e outros caracteres não imprimíveis são representados por seus nomes. Onde um ponto de código específico codifica um caractere deslocado e não deslocado, os dois caracteres são mostrados, com o caractere não deslocado à esquerda e o caractere deslocado à direita. Os cabeçalhos de linha e coluna indicam as combinações de dígitos hexadecimais para produzir o valor do código de oito bits; por exemplo, a letra L está no valor de código $ 4C.
Observe que a tabela abaixo é para o Commodore 64 , Commodore 16 e Commodore 128 . Os caracteres de controle diferem entre essas máquinas e são apresentados em tabelas separadas . Outras máquinas Commodore usavam versões ligeiramente diferentes de PETSCII, que usavam caracteres de controle diferentes e, em alguns casos, caracteres gráficos diferentes. Por exemplo, em máquinas CBM anteriores ao VIC-20 , os caracteres $ 2C e $ 6C produziram um caractere de vírgula, embora com uma semântica ligeiramente diferente.
A ROM do gerador de caracteres real usava um conjunto diferente de atribuições. Por exemplo, para exibir os caracteres "@ABC" na tela, escrevendo diretamente na memória da tela , seria possível POKE os valores decimais 0, 1, 2 e 3 em vez de 64, 65, 66 e 67.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _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 |
I i 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 Pontuação Símbolo De outros Indefinido
O teclado, por padrão, fornece acesso à metade inferior da página de código. Pressionar a tecla shift + fornece a metade superior do ponto de código correspondente.
Personagens de controle
Alguns códigos PETSCII não podem ser impressos e são usados apenas para entrada do teclado (por exemplo, F1, RUN / STOP).
Personagens de controle do Commodore 64
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARE |
|
BRANCO |
|
|
SHIFT DISABLE |
SHIFT ENABLE |
|
|
|
RETORNA |
MODO DE TEXTO 000E |
|
1_ 16 |
|
CURSOR DOWN 0084 |
REVERSE ON |
CASA |
DEL 0008 |
|
|
|
|
|
|
|
VERMELHO |
CURSOR DIREITO |
VERDE |
AZUL |
8_ 128 |
|
LARANJA |
|
CORRE |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
PRETO |
CURSOR UP 008D |
REVERSE OFF |
CLR |
INSERIR |
MARROM |
COR DE ROSA |
DARK GREY |
CINZA MÉDIO |
VERDE CLARO |
AZUL CLARO |
CINZA CLARO |
ROXA |
CURSOR LEFT |
AMARELO |
CIANO |
Personagens de controle do Commodore 16
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARE |
|
BRANCO |
|
|
SHIFT DISABLE |
SHIFT ENABLE |
|
|
|
RETORNA |
MODO DE TEXTO 000E |
|
1_ 16 |
|
CURSOR DOWN 0084 |
REVERSE ON |
CASA |
DEL 0008 |
|
|
|
|
|
|
ESC 001B |
VERMELHO |
CURSOR DIREITO |
VERDE |
AZUL |
8_ 128 |
|
LARANJA |
PISCANDO ON |
CORRE |
PISCANDO OFF |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
AJUDA |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
PRETO |
CURSOR UP 008D |
REVERSE OFF |
CLR |
INSERIR |
MARROM |
VERDE AMARELO |
COR DE ROSA |
VERDE AZUL |
AZUL CLARO |
DARK BLUE |
VERDE CLARO |
ROXA |
CURSOR LEFT |
AMARELO |
CIANO |
Commodore 128, caracteres de controle de modo de 40 colunas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
PARE |
|
BRANCO |
|
BELL 0007 |
|
HT 0009 |
LF 000A |
SHIFT ENABLE |
SHIFT DISABLE |
RETORNA |
MODO DE TEXTO 000E |
|
1_ 16 |
|
CURSOR DOWN 0084 |
REVERSE ON |
CASA |
DEL 0008 |
|
|
|
TAB SET / CLEAR 0088 |
|
|
ESC 001B |
VERMELHO |
CURSOR DIREITO |
VERDE |
AZUL |
8_ 128 |
|
LARANJA |
|
CORRE |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
|
9_ 144 |
PRETO |
CURSOR UP 008D |
REVERSE OFF |
CLR |
INSERIR |
MARROM |
COR DE ROSA |
DARK GREY |
CINZA MÉDIO |
VERDE CLARO |
AZUL CLARO |
CINZA CLARO |
ROXA |
CURSOR LEFT |
AMARELO |
CIANO |
Commodore 128, caracteres de controle de modo de 80 colunas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
SUBLINHAR LIGADO |
PARE |
|
BRANCO |
|
BELL 0007 |
|
HT 0009 |
LF 000A |
SHIFT ENABLE |
SHIFT DISABLE |
RETORNA |
MODO DE TEXTO 000E |
PISCANDO ON |
1_ 16 |
|
CURSOR PARA BAIXO |
REVERSE ON |
CASA |
DEL 0008 |
|
|
|
TAB SET / CLEAR 0088 |
|
|
ESC 001B |
VERMELHO |
CURSOR DIREITO |
VERDE |
AZUL |
8_ 128 |
|
ROXO ESCURO |
UNDERLINE OFF |
CORRE |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
PISCANDO OFF |
9_ 144 |
PRETO |
CURSOR UP 008D |
REVERSE OFF |
CLR |
INSERIR |
AMARELO ESCURO |
COR DE ROSA |
CIANO ESCURO |
CINZA MÉDIO |
VERDE CLARO |
AZUL CLARO |
CINZA CLARO |
ROXA |
CURSOR LEFT |
AMARELO |
CIANO |
Protótipo do Commodore 65, caracteres de controle de modo de 80 colunas
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _UMA | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
SUBLINHAR LIGADO |
PARE |
|
BRANCO |
|
BELL 0007 |
|
HT 0009 |
LF 000A |
SHIFT ENABLE |
SHIFT DISABLE |
RETORNA |
MODO DE TEXTO 000E |
PISCANDO ON |
1_ 16 |
F9 |
CURSOR PARA BAIXO |
REVERSE ON |
CASA |
DEL 0008 |
F10 |
F11 |
F12 |
TAB SET / CLEAR 0088 |
F13 |
F14 |
ESC 001B |
VERMELHO |
CURSOR DIREITO |
VERDE |
AZUL |
8_ 128 |
|
LARANJA |
UNDERLINE OFF |
CORRE |
AJUDA |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRÁFICOS 000F |
PISCANDO OFF |
9_ 144 |
PRETO |
CURSOR UP 008D |
REVERSE OFF |
CLR |
INSERIR |
MARROM |
VERMELHO CLARO |
CINZA CLARO |
CINZA MÉDIO |
VERDE CLARO |
AZUL CLARO |
DARK GREY |
ROXA |
CURSOR LEFT |
AMARELO |
CIANO |
Base 128
Dos primeiros 192 códigos PETSCII, 164 têm representações visíveis (para os códigos de controle, estes são visíveis quando citados ): 5 (branco), 17–20 e 28–31 (cores e controles do cursor), 32–90 ( equivalente em ASCII ) , 91–127 (gráficos), 129 (laranja), 133–140 (teclas de função), 144–159 (cores e controles do cursor) e 160–192 (gráficos). Teoricamente, isso permite codificações, como base128, em instruções DATA ou talvez entre máquinas que falam PETSCII; por exemplo, 33–127, 160–192.
Veja também
- ATASCII
- Conjunto de caracteres Atari ST
- Conjunto de caracteres ZX Spectrum
- ASCII estendido
- Semigráfico de texto
Notas
- ^ Afamília de computadores pessoais / residenciaisAmigausa o padrão ISO-8859-1.
- ^ verOn The Edgede Brian Bagnall, ISBN 0-9738649-0-7, pp. 43, 54-55.
Referências
links externos
- Mapa de caracteres PETSCII, parte 1 , parte 2 , parte 3 ( JPEG )
- Uma tentativa de mapeamento PETSCII para Unicode, sem mudança , deslocada
- Outro mapeamento PETSCII para Unicode e uma fonte TrueType usando esse mapeamento
- Caracteres de controle PETSCII do Commodore 128
- Tipografia em 8 bits: fontes do sistema
- Editor online de arte PETSCII
- PETSCII-art