PETSCII - PETSCII

PETSCII
PETSCII.png
PETSCII (przesunięte i nieprzesunięte)
Języki) angielski z pseudografiką
Klasyfikacja 8-bitowy rozszerzony wczesny ASCII
Oparte na US-ASCII (wersja 1963)

PETSCII ( PET S tandard C oda z I NFORMACJE I nterchange ), znany również jako CBM ASCII , to zestaw znaków używany w Commodore Business Machines (CBM) „s 8-bitowych komputerach domowych , wychodząc z PET od 1977 roku i wraz z C16 , C64 , C116 , C128 , CBM- II , Plus/4 i VIC-20 .

Historia

Zestaw postaci został w dużej mierze zaprojektowany przez Leonarda Tramiela (syna dyrektora generalnego Commodore Jacka Tramiela ) i projektanta PET Chuck Peddle . Znaki graficzne PETSCII były jednym z rozszerzeń, które Commodore określił dla Commodore BASIC podczas układania pożądanych zmian w istniejącym 6502 BASIC Microsoftu do Microsoftu Ric Weiland w 1977 roku. VIC-20 używał tej samej czcionki piksel na piksel co PET, chociaż postacie wydawały się szersze dzięki 22-kolumnowemu ekranowi VIC. Commodore 64 używał jednak nieco przeprojektowanej, ciężkiej czcionki z dużymi literami, zasadniczo grubszej wersji PET, aby uniknąć artefaktów kolorów tworzonych przez ekran o wyższej rozdzielczości. Małe litery na C64 są identyczne z małymi literami w czcionce systemowej Atari 800 (wydanej kilka lat wcześniej).

Peddle twierdzi, że włączenie symboli kolorów kart było spowodowane żądaniem, aby pisanie gier karcianych na PET (w ramach otrzymanej przez niego listy specyfikacji) było łatwe.

Specyfikacje

Ekran startowy C64 z przesuniętymi i nieprzesuniętymi trybami PETSCII oraz dwoma znakami z ASCII-1963
Wykres PETSCII wyświetlany na C64 w trybie przesuniętym i nieprzesuniętym. (Nie pokazane są kody sterujące, a także znaki z zakresu $C0–$FF, które są standardowymi kodami klawiszy pisanymi wielkimi literami zwracanymi z klawiatury i które są odzwierciedlane w zakresie 60–7 USD.)

PETSCII jest oparty na wersji ASCII z 1963 r. (a nie na wersji z 1967 r. , która jest większością, jeśli nie wszystkimi innymi komputerowymi zestawami znaków opartymi na ASCII). Zakładając, że tryb graficzny nie jest przesunięty , PETSCII ma tylko wielkie litery w stanie włączenia, strzałkę w górę ( ↑ ) zamiast karetki ( ^ ) na pozycji $ 5E i strzałkę w lewo ( ← ) zamiast podkreślenia ( _ ) w pozycji $5F te dwa warianty są powszechne w ASCII-1963. Ponadto, w wersji VIC-20 i C64, odwrotny ukośnik ( \ ) w pozycji $5C jest zajęty przez znak funta brytyjskiego ( £ ) (poprzedza użycie tego samego kodu ASCII przez japońską i koreańską wersję ISO 646 dla ich odpowiednie symbole walut). W trybie nieprzesuniętym kody $60–$7F i $A0–$FF są przydzielane do specyficznych znaków graficznych CBM (linie poziome i pionowe, kreskowania, cienie, trójkąty, okręgi i kolory kart ). Zakresy $00-1F i 80$-9F mają kody kontrolne.

The Commodore PET s”brak programowalnego bitmapy -mode do grafiki komputerowej , a także, że nie mając możliwości redefiniowalnych zestaw znaków, może być jedną z przyczyn PETSCII zostało opracowane; kreatywnie wykorzystując dobrze przemyślaną grafikę blokową, można osiągnąć wyższy stopień zaawansowania grafiki ekranowej niż przy użyciu zwykłych liter/cyfr/znaków interpunkcyjnych ASCII. Oprócz stosunkowo zróżnicowanego zestawu kształtów geometrycznych, które można w ten sposób wytworzyć, PETSCII pozwala na kilka poziomów skali szarości dzięki zapewnieniu różnie kreskowanych kwadratów/ półkwadratów szachownicy . Wreszcie, tryb odwróconego wideo (patrz poniżej) jest używany do uzupełnienia zakresu znaków graficznych, ponieważ zapewnia lustrzane bloki półkwadratowe.

PETSCII ma również tryb tekstowy , w którym małe litery zajmują zakres $41–5$A, a wielkie litery — zakres $C1–$DA. Tryb przełącza się, przytrzymując jeden z klawiszy SHIFT, a następnie naciskając i zwalniając klawisz Commodore . Niezależnie od tego, czy chip przeszedł to graficzne „przesunięcie”, istnieją blokowe znaki graficzne w zakresie $E0-FF. Służy to do odróżnienia PETSCII od tych rodzajów ASCII, które sięgają nie dalej niż ASCII-1967, więc każdy transfer tekstu między 8-bitową maszyną Commodore a taką, która używa ASCII pochodzącego z 1967, spowodowałby tekst, w którym wielkie litery wydają się być małymi , a małe litery wielkie. Nie ma łatwej operacji logicznej , aby zmienić te przypadki na właściwy. Tak więc, podobnie jak w przypadku innych komputerów opartych na niestandardowych zestawach znaków ASCII, konieczna jest konwersja oprogramowania podczas wymiany plików tekstowych i/lub komunikacji ze standardowymi systemami ASCII. Pozostałe zakresy pozostają niezmienione w trybie przesuniętym; oznacza to, że inne znaki dodane w ASCII-1967 poza małymi literami – tj. akcent, nawiasy klamrowe, pionowa kreska i tylda – nie istnieją w PETSCII.

Zawarte w PETSCII to kursor i ekranu kontroli kody, takie jak {HOME}, {CLR}, {RVS ON}i {RVS OFF}(oba aktywacji / dezaktywacji wykazywać charakter odwróconymi wideo). Kody kontrolne pojawiały się w wykazach programów jako znaki graficzne odwróconego wideo, chociaż niektóre czasopisma komputerowe, starając się zapewnić bardziej czytelne wykazy, ładnie wydrukowały kody, używając ich rzeczywistych nazw, jak w powyższych przykładach. Takie imiona były powszechnie ujęte w nawiasach klamrowych w zestawieniach. Zapobiegało to niejasności, ponieważ, jak wspomniano, PETSCII nie ma znaków nawiasów klamrowych. Kody kontrolne ekranu były zasadniczo podobne do kodów ucieczki dla terminali tekstowych.

Jak wskazano powyżej, PETSCII zapewnia przesuwanie między domyślnym (nieprzesuniętym) zestawem znaków graficznych przy włączaniu a alternatywnym (przesuniętym) zestawem małych i wielkich liter (gdzie przesunięty zestaw zawiera podzbiór znaków graficznych blokowych zestawu nieprzesuniętego) . Przełączanie między trybami odbywa się przez POKEing lokalizację 59468 z wartością 14, aby wybrać zestaw alternatywny lub 12, aby powrócić do standardu. W C64 zestawy są zmieniane przez odwrócenie bitu 2 bajtu 53272. W niektórych modelach PET można to również osiągnąć za pomocą specjalnego kodu sterującego, PRINT CHR$(14)który dostosowuje odstępy między wierszami, a także zmienia zestaw znaków; metoda POKE jest nadal dostępna i nie zmienia odstępów między wierszami. W związku z tym zmiany stanu edytora ekranowego, zamiast stosowania oddzielnych kodów ASCII, są używane do wyboru między pojedynczymi literami (wszystkie wielkie litery) a podwójnymi literami. W maszynach VIC-20, C64 i nowszych (nie wliczając komputerów biznesowych CBM) kody kolorów uzupełniają inne kody kontrolne ekranu. (Kolory VIC-20 i C64/128 są wymienione w artykule VIC-II .)

Zestaw znaków

Nie wszystkie znaki zakodowane przez PETSCII są „graficzne” i nie wszystkie mają odpowiednią reprezentację Unicode . W poniższej tabeli przedstawiono dla znaków PETSCII odpowiedni znak Unicode i punkt kodowy . Znaki kontrolne i inne niedrukowalne znaki są reprezentowane przez ich nazwy. Tam, gdzie określony punkt kodowy koduje zarówno znak przesunięty, jak i nieprzesunięty, wyświetlane są oba znaki, z nieprzesuniętym znakiem po lewej i przesuniętym znakiem po prawej stronie. Nagłówki wierszy i kolumn wskazują szesnastkowe kombinacje cyfr w celu uzyskania ośmiobitowej wartości kodu; np. litera L ma wartość kodu 4C.

Zauważ, że poniższa tabela dotyczy Commodore 64 , Commodore 16 i Commodore 128 . Znaki kontrolne różnią się między tymi maszynami i są przedstawione w osobnych tabelach . Inne maszyny Commodore wykorzystywały nieco inne wersje PETSCII, które wykorzystywały różne znaki kontrolne, aw niektórych przypadkach różne znaki graficzne. Na przykład na maszynach CBM wcześniejszych niż VIC-20 znaki $2C i $6C tworzyły znak przecinka, aczkolwiek z nieco inną semantyką.

Rzeczywista pamięć ROM generatora znaków używała innego zestawu przypisań. Na przykład, aby wyświetlić znaki "@ABC" na ekranie przez bezpośrednie wpisanie do pamięci ekranu , należy POKE wartości dziesiętne 0, 1, 2 i 3 zamiast 64, 65, 66 i 67.

PETSCII (Commodore 64, 16 i 128)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _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

0041 0061
B b
0042 0062
C C
0043 0063
D d
0044 0064
E i
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

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
🭵 T
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

251 c

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

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
🭵 T
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

251 c

2597

2514

2510

2582
F_
240

250C

2534

252C

2524

258E

258D
🮈
1FB88
🮂
1FB82
🮃
1FB83

2583
🭿 ✓
1FB7F 2713

2596

259D

2518

2598
π 🮖
03C0 1FB96

  List  Numer  Interpunkcja  Symbol  Inne  Nieokreślony


Klawiatura domyślnie zapewnia dostęp do dolnej połowy strony kodowej. Naciśnięcie Shift+klawisz daje odpowiedni górny punkt kodu połowy.

Postacie kontrolne

Niektóre kody PETSCII nie mogą być drukowane i są używane tylko do wprowadzania danych z klawiatury (np. F1, RUN/STOP).

Układ klawiatury PET 2001 , ilustrujący znaki graficzne PETSCII

Commodore 64 znaki kontrolne

Znaki kontrolne PETSCII (Commodore 64)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_
0
 
 
 
 
 
 
ZATRZYMAĆ

 
 
 
BIAŁY

 
 
 
 
 
SHIFT
WYŁĄCZ

 
ZMIANA
WŁĄCZ

 
 
 
 
 
 
 
POWRÓT

 
TEKST
TRYB

000E
 
 
1_
16
 
 
KURSORA W
DÓŁ

0084
ODWRÓĆ

 
DOM

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CZERWONY

 
KURSORA W
PRAWO

 
ZIELONY

 
NIEBIESKI

 
8_
128
 
 
POMARAŃCZOWY

 
 
 
BIEGAĆ

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIKA

000F
 
 
9_
144
CZARNY

 
KURSOR W
GÓRĘ

008D
ODWRÓCENIE
WYŁĄCZONE

 
CLR

 
WSTAWIĆ

 
BRĄZOWY

 
RÓŻOWY

 
CIEMNY
SZARY

 
ŚREDNI
SZARY

 
JASNO
ZIELONY

 
JASNO
NIEBIESKI

 
JASNY
SZARY

 
PURPUROWY

 
KURSORA W
LEWO

 
ŻÓŁTY

 
NIEBIESKI

 


Commodore 16 znaków kontrolnych

Znaki kontrolne PETSCII (Commodore 16)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_
0
 
 
 
 
 
 
ZATRZYMAĆ

 
 
 
BIAŁY

 
 
 
 
 
SHIFT
WYŁĄCZ

 
ZMIANA
WŁĄCZ

 
 
 
 
 
 
 
POWRÓT

 
TEKST
TRYB

000E
 
 
1_
16
 
 
KURSORA W
DÓŁ

0084
ODWRÓĆ

 
DOM

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
ESC

001B
CZERWONY

 
KURSORA W
PRAWO

 
ZIELONY

 
NIEBIESKI

 
8_
128
 
 
POMARAŃCZOWY

 
MIGA
WŁĄCZONY

 
BIEGAĆ

 
MIGA
WYŁĄCZONA

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
WSPARCIE

 
LF

000A
GRAFIKA

000F
 
 
9_
144
CZARNY

 
KURSOR W
GÓRĘ

008D
ODWRÓCENIE
WYŁĄCZONE

 
CLR

 
WSTAWIĆ

 
BRĄZOWY

 
ŻÓŁTY
ZIELONY

 
RÓŻOWY

 
NIEBIESKI
ZIELONY

 
JASNO
NIEBIESKI

 
CIEMNY
NIEBIESKI

 
JASNO
ZIELONY

 
PURPUROWY

 
KURSORA W
LEWO

 
ŻÓŁTY

 
NIEBIESKI

 


Commodore 128, 40-kolumnowe znaki kontrolne

Znaki kontrolne PETSCII (Commodore 128, tryb 40-kolumnowy)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_
0
 
 
 
 
 
 
ZATRZYMAĆ

 
 
 
BIAŁY

 
 
 
DZWONEK

0007
 
 
HT

0009
LF

000A
ZMIANA
WŁĄCZ

 
SHIFT
WYŁĄCZ

 
POWRÓT

 
TEKST
TRYB

000E
 
 
1_
16
 
 
KURSORA W
DÓŁ

0084
ODWRÓĆ

 
DOM

 
DEL

0008
 
 
 
 
 
 
ZESTAW
ZAKŁADEK / WYCZYŚĆ

0088
 
 
 
 
ESC

001B
CZERWONY

 
KURSORA W
PRAWO

 
ZIELONY

 
NIEBIESKI

 
8_
128
 
 
POMARAŃCZOWY

 
 
 
BIEGAĆ

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIKA

000F
 
 
9_
144
CZARNY

 
KURSOR W
GÓRĘ

008D
ODWRÓCENIE
WYŁĄCZONE

 
CLR

 
WSTAWIĆ

 
BRĄZOWY

 
RÓŻOWY

 
CIEMNY
SZARY

 
ŚREDNI
SZARY

 
JASNO
ZIELONY

 
JASNO
NIEBIESKI

 
JASNY
SZARY

 
PURPUROWY

 
KURSORA W
LEWO

 
ŻÓŁTY

 
NIEBIESKI

 


Commodore 128, 80-kolumnowe znaki kontrolne

Znaki kontrolne PETSCII (Commodore 128, tryb 80-kolumnowy)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_
0
 
 
 
 
PODKREŚLENIE
WŁĄCZONE

 
ZATRZYMAĆ

 
 
 
BIAŁY

 
 
 
DZWONEK

0007
 
 
HT

0009
LF

000A
ZMIANA
WŁĄCZ

 
SHIFT
WYŁĄCZ

 
POWRÓT

 
TEKST
TRYB

000E
MIGA
WŁĄCZONY

 
1_
16
 
 
KURSORA W
DÓŁ

 
ODWRÓĆ

 
DOM

 
DEL

0008
 
 
 
 
 
 
ZESTAW
ZAKŁADEK / WYCZYŚĆ

0088
 
 
 
 
ESC

001B
CZERWONY

 
KURSORA W
PRAWO

 
ZIELONY

 
NIEBIESKI

 
8_
128
 
 
CIEMNY
FIOLETOWY

 
PODKREŚLENIE
WYŁĄCZONE

 
BIEGAĆ

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIKA

000F
MIGA
WYŁĄCZONA

 
9_
144
CZARNY

 
KURSOR W
GÓRĘ

008D
ODWRÓCENIE
WYŁĄCZONE

 
CLR

 
WSTAWIĆ

 
CIEMNO
ŻÓŁTY

 
RÓŻOWY

 
CIEMNY
CYJAN

 
ŚREDNI
SZARY

 
JASNO
ZIELONY

 
JASNO
NIEBIESKI

 
JASNY
SZARY

 
PURPUROWY

 
KURSORA W
LEWO

 
ŻÓŁTY

 
NIEBIESKI

 

Prototyp Commodore 65, 80-kolumnowe znaki kontrolne

Znaki kontrolne PETSCII (prototyp Commodore 65, tryb 80-kolumnowy)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_
0
 
 
 
 
PODKREŚLENIE
WŁĄCZONE

 
ZATRZYMAĆ

 
 
 
BIAŁY

 
 
 
DZWONEK

0007
 
 
HT

0009
LF

000A
ZMIANA
WŁĄCZ

 
SHIFT
WYŁĄCZ

 
POWRÓT

 
TEKST
TRYB

000E
MIGA
WŁĄCZONY

 
1_
16
F9

 
KURSORA W
DÓŁ

 
ODWRÓĆ

 
DOM

 
DEL

0008
F10

 
F11

 
F12

 
ZESTAW
ZAKŁADEK / WYCZYŚĆ

0088
F13

 
F14

 
ESC

001B
CZERWONY

 
KURSORA W
PRAWO

 
ZIELONY

 
NIEBIESKI

 
8_
128
 
 
POMARAŃCZOWY
 
PODKREŚLENIE
WYŁĄCZONE

 
BIEGAĆ

 
WSPARCIE

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIKA

000F
MIGA
WYŁĄCZONA

 
9_
144
CZARNY

 
KURSOR W
GÓRĘ

008D
ODWRÓCENIE
WYŁĄCZONE

 
CLR

 
WSTAWIĆ

 
BRĄZOWY
 
ŚWIATŁO
CZERWONE

 
JASNY
SZARY

 
ŚREDNI
SZARY

 
JASNO
ZIELONY

 
JASNO
NIEBIESKI

 
CIEMNY
SZARY

 
PURPUROWY

 
KURSORA W
LEWO

 
ŻÓŁTY

 
NIEBIESKI

 

Podstawa 128

Spośród pierwszych 192 kodów PETSCII, 164 ma widoczne reprezentacje (dla kodów kontrolnych są one widoczne, gdy są cytowane ): 5 (biały), 17-20 i 28-31 (kolory i kontrolki kursora), 32-90 ( odpowiednik ASCII ) , 91–127 (grafika), 129 (pomarańczowy), 133–140 (klawisze funkcyjne), 144–159 (kolory i sterowanie kursorem) oraz 160–192 (grafika). To teoretycznie pozwala na kodowanie, takie jak base128, w instrukcjach DATA lub być może między maszynami mówiącymi po PETSCII; na przykład 33–127, 160–192.

Zobacz też

Uwagi

  1. ^ Rodzinakomputerówdomowych/osobistychAmigawykorzystuje standard ISO-8859-1.
  2. ^ patrzNa krawędziBrianaBagnalla, ISBN 0-9738649-0-7, str. 43, 54-55.

Bibliografia

Zewnętrzne linki