PETSCII - PETSCII

PETSCII
PETSCII.png
PETSCII (décalé et non décalé)
Langue(s) Anglais avec pseudographie
Classification ASCII précoce étendu 8 bits
Basé sur US-ASCII (version 1963)

PETSCII ( PET S tandard C ode de I nformation I nterchange ), également connu sous le nom ASCII CBM , est le jeu de caractères utilisé dans Commodore Business Machines (MBC) « s 8 bits des ordinateurs à la maison , en commençant par le PET à partir de 1977 et dont le C16 , C64 , C116 , C128 , CBM-II , Plus/4 et VIC-20 .

Histoire

Le jeu de caractères a été en grande partie conçu par Leonard Tramiel (le fils du PDG de Commodore Jack Tramiel ) et le concepteur PET Chuck Peddle . Les caractères graphiques de PETSCII étaient l'une des extensions spécifiées par Commodore pour Commodore BASIC lors de la présentation des modifications souhaitées du 6502 BASIC existant de Microsoft à Ric Weiland de Microsoft en 1977. Le VIC-20 utilisait la même police pixel pour pixel que le PET, bien que les caractères semblaient plus larges en raison de l'écran à 22 colonnes du VIC. Le Commodore 64, cependant, utilisait une police majuscule lourde et légèrement repensée, essentiellement une version plus épaisse des PET, afin d'éviter les artefacts de couleur créés par l'écran à plus haute résolution de la machine. Les caractères minuscules du C64 sont identiques aux caractères minuscules de la police système de l' Atari 800 (sortie plusieurs années auparavant).

Peddle affirme que l'inclusion de symboles de combinaison de cartes a été stimulée par la demande selon laquelle il devrait être facile d'écrire des jeux de cartes sur le PET (dans le cadre de la liste de spécifications qu'il a reçue).

Caractéristiques

Écran de démarrage C64 avec modes décalés et non décalés de PETSCII, et les deux caractères de ASCII-1963
Graphique PETSCII tel qu'affiché sur le C64 en modes décalé et non décalé. (Ne sont pas représentés les codes de contrôle, ainsi que les caractères de la plage $C0–$FF, qui sont les codes de touches majuscules standard renvoyés par le clavier, et qui sont reflétés dans la plage $60–$7F.)

PETSCII est basé sur la version 1963 d'ASCII (plutôt que la version 1967 , qui la plupart sinon tous les autres jeux de caractères informatiques basés sur l'utilisation d'ASCII). En supposant que le mode graphique n'est pas décalé , PETSCII n'a que des lettres majuscules dans son état de mise sous tension, une flèche vers le haut ( ↑ ) au lieu d'un caret ( ^ ) en position $ 5E et une flèche vers la gauche ( ← ) au lieu d'un trait de soulignement ( _ ) en position $5F, ces deux variantes sont communes en ASCII-1963. De plus, dans les versions VIC-20 et C64, la barre oblique inverse ( \ ) en position $5C est occupée par un signe dièse britannique ( £ ) (précédant l'utilisation du même code ASCII par les versions japonaise et coréenne d' ISO 646 pour leur symboles monétaires respectifs). En mode non décalé , les codes $60–$7F et $A0–$FF sont attribués aux caractères graphiques de blocs spécifiques à CBM (lignes horizontales et verticales, hachures, nuances, triangles, cercles et combinaisons de cartes ). Les gammes $00–$1F et $80–$9F ont des codes de contrôle.

L' absence du Commodore PET d'un mode bitmap programmable pour l'infographie , ainsi que l'absence de capacité de jeu de caractères redéfinissable, peuvent être l'une des raisons pour lesquelles PETSCII a été développé ; en utilisant de manière créative les blocs graphiques bien pensés, un degré de sophistication plus élevé dans les graphiques à l'écran est possible qu'en utilisant les caractères ASCII lettre/chiffre/ponctuation. En plus de l'ensemble relativement diversifié de formes géométriques qui peuvent ainsi être produites, le PETSCII permet plusieurs niveaux de gris en prévoyant des carrés/demi-carrés en damier hachurés différemment . Enfin, le mode vidéo inverse (voir ci-dessous) est utilisé pour compléter la gamme de caractères graphiques, en ce sens qu'il fournit des blocs demi-carrés en miroir.

PETSCII dispose également d'un mode texte , dans lequel les lettres minuscules occupent la plage $41–$5A et les lettres majuscules occupent la plage $C1–$DA. Le mode est basculé en maintenant l'une des touches SHIFT, puis en appuyant et en relâchant la touche Commodore . Que la puce ait ou non subi ce "décalage" graphique, il existe des caractères graphiques de bloc dans la plage de $E0-FF. Cela sert à distinguer PETSCII de ces types d'ASCII qui ne remontent pas plus loin que ASCII-1967, donc tout transfert de texte entre une machine Commodore 8 bits et une machine utilisant l'ASCII dérivé de 1967 entraînerait un texte où les lettres majuscules semblent être des minuscules , et les lettres minuscules en majuscule. Il n'y a pas d' opération booléenne facile pour changer ces cas en cas approprié. Ainsi, comme avec d'autres ordinateurs basés sur des jeux de caractères ASCII non standard, une conversion logicielle est nécessaire lors de l'échange de fichiers texte et/ou de la télécommunication avec des systèmes ASCII standard. Les autres plages sont inchangées en mode décalé ; cela signifie que les autres caractères ajoutés en ASCII-1967 en plus des lettres minuscules – c'est-à-dire l'accent grave, les accolades, la barre verticale et le tilde – n'existent pas dans PETSCII.

Le PETSCII comprend des codes de contrôle du curseur et de l'écran, tels que {HOME}, {CLR}, {RVS ON}, et {RVS OFF}(les deux derniers activant/désactivant l'affichage des caractères vidéo inverse). Les codes de contrôle apparaissaient dans les listes de programmes sous forme de caractères graphiques vidéo inversés, bien que certains magazines informatiques, dans leurs efforts pour fournir des listes plus clairement lisibles, aient imprimé les codes en utilisant leurs noms réels, comme les exemples ci-dessus. Ces noms étaient généralement mis entre accolades dans les listes. Cela a empêché l'ambiguïté, puisque, comme mentionné, PETSCII n'avait pas de caractères d'accolade. Les codes de contrôle d'écran étaient essentiellement similaires aux codes d'échappement pour les terminaux informatiques à base de texte.

Comme indiqué ci-dessus, PETSCII permet de basculer entre le jeu de caractères majuscules + graphiques par défaut (non décalé) à la mise sous tension et le jeu de caractères majuscules + minuscules (décalé) (où l'ensemble décalé contient un sous-ensemble des caractères graphiques de bloc de l'ensemble non décalé) . Le changement entre les modes s'effectue en appuyant sur l' emplacement 59468 avec la valeur 14 pour sélectionner l'ensemble alternatif ou 12 pour revenir au standard. Sur C64, les jeux sont alternés en retournant le bit 2 de l'octet 53272. Sur certains modèles de PET, cela peut également être réalisé via un code de contrôle spécial PRINT CHR$(14)qui ajuste l'interligne ainsi que le jeu de caractères ; la méthode POKE est toujours disponible et ne modifie pas l'interligne. Ainsi, les changements d'état de l'éditeur d'écran, plutôt que l'utilisation de codes ASCII séparés, sont utilisés pour choisir entre une casse unique (toutes en majuscules) et une casse double. Dans les machines VIC-20, C64 et ultérieures (à l'exclusion des ordinateurs professionnels CBM), les codes de couleur complètent les autres codes de contrôle d'écran. (Les couleurs des VIC-20 et C64/128 sont listées dans l'article VIC-II .)

Jeu de caractères

Tous les caractères codés par PETSCII ne sont pas « graphiques » et tous n'ont pas une représentation Unicode correspondante . Le tableau suivant indique pour les caractères PETSCII le caractère Unicode et le point de code correspondants . Les caractères de contrôle et autres caractères non imprimables sont représentés par leurs noms. Lorsqu'un point de code particulier code à la fois un caractère décalé et non décalé, les deux caractères sont affichés, avec le caractère non décalé à gauche et le caractère décalé à droite. Les en-têtes de ligne et de colonne indiquent les combinaisons de chiffres hexadécimaux pour produire la valeur du code à huit bits ; par exemple, la lettre L est à la valeur de code 4C.

Notez que le tableau ci - dessous concerne le Commodore 64 , le Commodore 16 et le Commodore 128 . Les caractères de contrôle diffèrent entre ces machines et sont présentés dans des tableaux séparés . D'autres machines Commodore utilisaient des versions légèrement différentes de PETSCII, qui utilisaient des caractères de contrôle différents et, dans certains cas, des caractères graphiques différents. Par exemple, sur les machines CBM antérieures au VIC-20 , les caractères $2C et $6C produisaient tous deux un caractère virgule, bien qu'avec une sémantique légèrement différente.

La ROM du générateur de caractères utilisait un ensemble différent d'affectations. Par exemple, pour afficher les caractères "@ABC" à l'écran en écrivant directement dans la mémoire de l' écran , il faudrait POKE les valeurs décimales 0, 1, 2 et 3 plutôt que 64, 65, 66 et 67.

PETSCII (Commodore 64, 16 et 128)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _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
Je je
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
Je
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
tc 🮖
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
Je
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
tc 🮖
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
tc 🮖
03C0 1FB96

  Lettre  Nombre  Ponctuation  symbole  Autre  Indéfini


Le clavier par défaut donne accès à la moitié inférieure de la page de codes. Appuyer sur maj+touche donne le demi-point de code supérieur correspondant.

Caractères de contrôle

Certains codes PETSCII ne peuvent pas être imprimés et ne sont utilisés que pour la saisie au clavier (par exemple F1, RUN/STOP).

Disposition du clavier PET 2001 , illustrant les caractères graphiques PETSCII

Commodore 64 caractères de contrôle

Caractères de contrôle PETSCII (Commodore 64)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
 
 
 
 
 
 
ARRÊTER

 
 
 
BLANCHE

 
 
 
 
 
SHIFT
DÉSACTIVER

 
MAJ
ACTIVER

 
 
 
 
 
 
 
REVENIR

 

MODE TEXTE

000E
 
 
1_
16
 
 
CURSEUR
BAS

0084
INVERSE
ON

 
DOMICILE

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ROUGE

 
CURSEUR
DROIT

 
VERT

 
BLEU

 
8_
128
 
 
ORANGE

 
 
 
COURS

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
BF

000A
GRAPHIQUES

000F
 
 
9_
144
LE NOIR

 
CURSEUR
HAUT

008D
INVERSION
ARRÊT

 
CLR

 
INSÉRER

 
BRUN

 
ROSE

 

GRIS FONCÉ

 

GRIS MOYEN

 
LUMIÈRE
VERT

 
LUMIÈRE
BLEUE

 
LUMIÈRE
GRAY

 
VIOLET

 
CURSEUR
GAUCHE

 
JAUNE

 
CYAN

 


Commodore 16 personnages de contrôle

Caractères de contrôle PETSCII (Commodore 16)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
 
 
 
 
 
 
ARRÊTER

 
 
 
BLANCHE

 
 
 
 
 
SHIFT
DÉSACTIVER

 
MAJ
ACTIVER

 
 
 
 
 
 
 
REVENIR

 

MODE TEXTE

000E
 
 
1_
16
 
 
CURSEUR
BAS

0084
INVERSE
ON

 
DOMICILE

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
ESC

001B
ROUGE

 
CURSEUR
DROIT

 
VERT

 
BLEU

 
8_
128
 
 
ORANGE

 
CLIGNOTANT
ALLUMÉ

 
COURS

 
CLIGNOTANT
OFF

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
AIDER

 
BF

000A
GRAPHIQUES

000F
 
 
9_
144
LE NOIR

 
CURSEUR
HAUT

008D
INVERSION
ARRÊT

 
CLR

 
INSÉRER

 
BRUN

 
JAUNE
VERT

 
ROSE

 
BLEU
VERT

 
LUMIÈRE
BLEUE

 

BLEU FONCÉ

 
LUMIÈRE
VERT

 
VIOLET

 
CURSEUR
GAUCHE

 
JAUNE

 
CYAN

 


Commodore 128, caractères de contrôle du mode 40 colonnes

Caractères de contrôle PETSCII (Commodore 128, mode 40 colonnes)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
 
 
 
 
 
 
ARRÊTER

 
 
 
BLANCHE

 
 
 
CLOCHE

0007
 
 
HT

0009
BF

000A
MAJ
ACTIVER

 
SHIFT
DÉSACTIVER

 
REVENIR

 

MODE TEXTE

000E
 
 
1_
16
 
 
CURSEUR
BAS

0084
INVERSE
ON

 
DOMICILE

 
DEL

0008
 
 
 
 
 
 
ONGLET SET/
EFFACER

0088
 
 
 
 
ESC

001B
ROUGE

 
CURSEUR
DROIT

 
VERT

 
BLEU

 
8_
128
 
 
ORANGE

 
 
 
COURS

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
BF

000A
GRAPHIQUES

000F
 
 
9_
144
LE NOIR

 
CURSEUR
HAUT

008D
INVERSION
ARRÊT

 
CLR

 
INSÉRER

 
BRUN

 
ROSE

 

GRIS FONCÉ

 

GRIS MOYEN

 
LUMIÈRE
VERT

 
LUMIÈRE
BLEUE

 
LUMIÈRE
GRAY

 
VIOLET

 
CURSEUR
GAUCHE

 
JAUNE

 
CYAN

 


Commodore 128, caractères de contrôle du mode 80 colonnes

Caractères de contrôle PETSCII (Commodore 128, mode 80 colonnes)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
 
 
 
 
SOULIGNER
SUR

 
ARRÊTER

 
 
 
BLANCHE

 
 
 
CLOCHE

0007
 
 
HT

0009
BF

000A
MAJ
ACTIVER

 
SHIFT
DÉSACTIVER

 
REVENIR

 

MODE TEXTE

000E
CLIGNOTANT
ALLUMÉ

 
1_
16
 
 
CURSEUR
BAS

 
INVERSE
ON

 
DOMICILE

 
DEL

0008
 
 
 
 
 
 
ONGLET SET/
EFFACER

0088
 
 
 
 
ESC

001B
ROUGE

 
CURSEUR
DROIT

 
VERT

 
BLEU

 
8_
128
 
 

VIOLET FONCÉ

 
SOULIGNÉ
DÉSACTIVÉ

 
COURS

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
BF

000A
GRAPHIQUES

000F
CLIGNOTANT
OFF

 
9_
144
LE NOIR

 
CURSEUR
HAUT

008D
INVERSION
ARRÊT

 
CLR

 
INSÉRER

 

JAUNE FONCÉ

 
ROSE

 

CYAN FONCÉ

 

GRIS MOYEN

 
LUMIÈRE
VERT

 
LUMIÈRE
BLEUE

 
LUMIÈRE
GRAY

 
VIOLET

 
CURSEUR
GAUCHE

 
JAUNE

 
CYAN

 

Prototype du Commodore 65, caractères de contrôle du mode 80 colonnes

Caractères de contrôle PETSCII (prototype Commodore 65, mode 80 colonnes)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
 
 
 
 
SOULIGNER
SUR

 
ARRÊTER

 
 
 
BLANCHE

 
 
 
CLOCHE

0007
 
 
HT

0009
BF

000A
MAJ
ACTIVER

 
SHIFT
DÉSACTIVER

 
REVENIR

 

MODE TEXTE

000E
CLIGNOTANT
ALLUMÉ

 
1_
16
F9

 
CURSEUR
BAS

 
INVERSE
ON

 
DOMICILE

 
DEL

0008
F10

 
F11

 
F12

 
ONGLET SET/
EFFACER

0088
F13

 
F14

 
ESC

001B
ROUGE

 
CURSEUR
DROIT

 
VERT

 
BLEU

 
8_
128
 
 
ORANGE
 
SOULIGNÉ
DÉSACTIVÉ

 
COURS

 
AIDER

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
BF

000A
GRAPHIQUES

000F
CLIGNOTANT
OFF

 
9_
144
LE NOIR

 
CURSEUR
HAUT

008D
INVERSION
ARRÊT

 
CLR

 
INSÉRER

 
BRUN
 
LUMIÈRE
ROUGE

 
LUMIÈRE
GRAY

 

GRIS MOYEN

 
LUMIÈRE
VERT

 
LUMIÈRE
BLEUE

 

GRIS FONCÉ

 
VIOLET

 
CURSEUR
GAUCHE

 
JAUNE

 
CYAN

 

Base 128

Sur les 192 premiers codes de PETSCII, 164 ont des représentations visibles (pour les codes de contrôle, ceux-ci sont visibles lorsqu'ils sont cités ) : 5 (blanc), 17-20 et 28-31 (couleurs et commandes du curseur), 32-90 ( équivalent ASCII ) , 91 à 127 (graphiques), 129 (orange), 133 à 140 (touches de fonction), 144 à 159 (couleurs et commandes du curseur) et 160 à 192 (graphiques). Cela permet théoriquement des codages, tels que base128, dans des instructions DATA, ou peut-être entre des machines parlant PETSCII ; par exemple, 33-127, 160-192.

Voir également

Remarques

  1. ^ La familleAmigahome/personal computer utilise la norme ISO-8859-1.
  2. ^ voirOn The Edgepar Brian Bagnall, ISBN 0-9738649-0-7, pp. 43, 54-55.

Les références

Liens externes