PETSCII - PETSCII

PETSCII
PETSCII.png
PETSCII (deslocado e não deslocado)
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

Tela de inicialização do C64 com modos deslocados e não deslocados de PETSCII e os dois caracteres de ASCII-1963
PETSCII Chart conforme exibido no C64 nos modos com e sem mudança. (Não são mostrados os códigos de controle, bem como os caracteres no intervalo $ C0– $ FF, que são os códigos de tecla padrão em maiúsculas retornados do teclado e que são espelhados no intervalo $ 60– $ 7F.)

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.

PETSCII (Commodore 64, 16 e 128)
_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).

Layout de teclado PET 2001 , ilustrando caracteres gráficos PETSCII

Personagens de controle do Commodore 64

Personagens de controle PETSCII (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

Personagens de controle PETSCII (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

Caracteres de controle PETSCII (Commodore 128, 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

Caracteres de controle PETSCII (Commodore 128, 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

Caracteres de controle PETSCII (protótipo do Commodore 65, 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

Notas

  1. ^ Afamília de computadores pessoais / residenciaisAmigausa o padrão ISO-8859-1.
  2. ^ verOn The Edgede Brian Bagnall, ISBN 0-9738649-0-7, pp. 43, 54-55.

Referências

links externos