PETSCII - PETSCII

PETSCII
PETSCII.png
PETSCII (forskudt og uskiftet)
Sprog) Engelsk med pseudografi
Klassifikation 8-bit forlænget tidligt ASCII
Baseret på US-ASCII (version 1963)

PETSCII ( PET S tandard C ode of I nformation I nterchange ), også kendt som CBM ASCII , er tegnsættet, der bruges i Commodore Business Machines (CBM) s 8-bit hjemmecomputere , startende med PET fra 1977 og inklusive C16 , C64 , C116 , C128 , CBM-II , Plus/4 og VIC-20 .

Historie

Tegnsættet blev stort set designet af Leonard Tramiel (søn af Commodore CEO Jack Tramiel ) og PET -designer Chuck Peddle . De grafiske tegn i PETSCII var en af ​​de udvidelser, Commodore specificerede til Commodore BASIC, når de lagde ønskede ændringer til Microsofts eksisterende 6502 BASIC til Microsofts Ric Weiland i 1977. VIC-20 brugte den samme pixel-for-pixel skrifttype som PET, selvom tegnene syntes bredere på grund af VIC's 22-kolonne skærm. Commodore 64 brugte imidlertid en let omdesignet, tung store bogstaver, hovedsagelig en tykkere version af PET'erne, for at undgå farvegenstande skabt af maskinens skærm med højere opløsning. C64's små bogstaver er identiske med små bogstaver i Atari 800 's systemskrifttype (udgivet flere år tidligere).

Peddle hævder, at inkluderingen af ​​kortdragssymboler blev ansporet af kravet om, at det skulle være let at skrive kortspil på PET (som en del af den specifikationsliste, han modtog).

specifikationer

Image
C64 startskærm med skiftede og ikke-skiftede tilstande til PETSCII og de to tegn fra ASCII-1963
Image
PETSCII -diagram som vist på C64 i skiftede og ikke -skiftede tilstande. (Ikke vist er kontrolkoder samt tegn i $ C0– $ FF -området, som er de generelle tastaturkoder, der returneres fra tastaturet, og som er spejlet til området $ 60– $ 7F.)

PETSCII er baseret på 1963 -versionen af ​​ASCII (snarere end 1967 -versionen, som de fleste, hvis ikke alle andre computer -tegnsæt baseret på ASCII -brug ). Forudsat at grafikfunktionen ikke er forskudt , har PETSCII kun store bogstaver i sin opstartstilstand, en pil op (↑) i stedet for en markering ( ^) i position $ 5E og en venstre-pil (←) i stedet for en understregning (_) i position $ 5F er disse to varianter almindelige i ASCII-1963. Også i VIC-20 og C64-versionen er bagsiden (\) i position $ 5C optaget af et britisk pundtegn (£) (forud for brug af den samme ASCII-kode af den japanske og koreanske version af ISO 646 for deres respektive valutasymboler). I uskiftet tilstand tildeles koder $ 60– $ 7F og $ A0– $ FF til CBM-specifikke blokgrafiktegn (vandrette og lodrette linjer, luger, nuancer, trekanter, cirkler og kortdragter ). Intervaller $ 00– $ 1F og $ 80– $ 9F har kontrolkoder.

Den Commodore PET 's manglende en programmerbar bitmap -tilstand for computergrafik , såvel som det ikke har nogen redefinable tegnsæt kapacitet, kan være en af grundene til PETSCII blev udviklet; ved kreativt at bruge den gennemtænkte blokgrafik opnås en højere grad af raffinement i skærmgrafik end ved at bruge almindelige ASCII's bogstav/ciffer/tegnsætningstegn. Ud over det relativt forskellige sæt geometriske former, der således kan fremstilles, tillader PETSCII flere gråtoner ved at tilvejebringe forskelligt udklækkede tavler /firkanter. Endelig bruges omvendt-videotilstand (se nedenfor) til at fuldføre rækken af ​​grafiske tegn, idet den giver spejlede halv kvadratiske blokke.

PETSCII har også en teksttilstand , hvor små bogstaver indtager intervallet $ 41– $ 5A, og store bogstaver indtager intervallet $ C1– $ DA. Tilstanden skiftes ved at holde en af ​​SHIFT -tasterne nede og derefter trykke på og slippe Commodore -tasten. Uanset om chippen har gennemgået dette grafiske "skift", er der blokgrafiske tegn i intervallet $ E0-FF. Dette tjener til at skelne PETSCII fra den slags ASCII, der ikke går længere tilbage end ASCII-1967, så enhver tekstoverførsel mellem en 8-bit Commodore-maskine og en, der bruger 1967-afledt ASCII, ville resultere i tekst, hvor store bogstaver ser ud til at være små bogstaver og små bogstaver. Der er ingen let boolsk betjening af at ændre disse sager til den korrekte sag. Som med andre computere baseret på ikke-standard-ASCII-tegnsæt er software-konvertering således nødvendig ved udveksling af tekstfiler og/eller telekommunikation med standard ASCII-systemer. De andre intervaller er uændrede i skiftet tilstand; dette betyder, at de andre tegn, der tilføjes i ASCII-1967 udover små bogstaver-dvs. grav accent, krøllede seler, lodrette bjælker og tilde-ikke findes i PETSCII.

Inkluderet i PETSCII er markøren og skærm kontrolkoder, såsom {HOME}, {CLR}, {RVS ON}og {RVS OFF}(de to sidstnævnte aktivering / deaktivering omvendt video tegns display). Kontrolkoderne optrådte i programoversigter som omvendte video-grafiske tegn, selvom nogle computermagasiner i deres bestræbelser på at levere mere klart læselige fortegnelser temmelig printede koderne ved hjælp af deres faktiske navne, som eksemplerne ovenfor. Sådanne navne var almindeligt indesluttet i krøllede seler i fortegnelserne. Dette forhindrede tvetydighed, da, som nævnt, PETSCII ikke havde nogen krøllede seler. Skærmkontrolkoderne lignede i det væsentlige flugtkoder for tekstbaserede computerterminaler.

Som angivet ovenfor giver PETSCII mulighed for at skifte mellem start-up (ikke-forskudt) stort+stort grafik-tegnsæt og det alternative (skiftede) lavere+store bogstav-sæt (hvor det skiftede sæt indeholder en delmængde af de blokgrafiske tegn i det ikke-skiftede sæt) . Skiftet mellem tilstande udføres af POKEing -placering 59468 med værdien 14 for at vælge det alternative sæt eller 12 for at vende tilbage til standarden. På C64 skiftes sættene ved at vende bit 2 i byte 53272. På nogle modeller af PET kan dette også opnås via speciel kontrolkode, PRINT CHR$(14)der justerer linjeafstanden samt ændrer tegnsættet; POKE -metoden er stadig tilgængelig og ændrer ikke linjeafstanden. Således ændres tilstandsændringer på skærmredigeringsprogrammet i stedet for at anvende separate ASCII-koder til at vælge mellem enkeltsager (alle store) og dobbelte sager. I VIC-20, C64 og senere maskiner (ikke inklusive CBM-forretningscomputere) supplerer farvekoder de andre skærmkontrolkoder. (Farverne på VIC-20 og C64/128 er angivet i VIC-II- artiklen.)

Tegnsæt

Ikke alle de tegn, der kodes af PETSCII, er 'grafiske', og ikke alle har en tilsvarende Unicode -repræsentation. Følgende tabel viser det tilsvarende Unicode -tegn og kodepunkt for PETSCII -tegn . Kontroltegn og andre tegn, der ikke udskrives, repræsenteres ved deres navne. Hvor et bestemt kodepunkt koder for både et forskudt og et forskudt tegn, vises begge tegn med det uskiftede tegn til venstre og det skiftede tegn til højre. Række- og kolonneoverskrifter angiver de hexadecimale cifferkombinationer for at producere otte-bit kodeværdien; f.eks. er bogstavet L til kodeværdien $ 4C.

Bemærk, at nedenstående tabel er for Commodore 64 , Commodore 16 og Commodore 128 . Kontroltegn er forskellige mellem disse maskiner og præsenteres i separate tabeller . Andre Commodore -maskiner brugte lidt forskellige versioner af PETSCII, som brugte forskellige kontroltegn og i nogle tilfælde forskellige grafiske tegn. For eksempel producerede tegn $ 2C og $ 6C på CBM-maskiner før VIC-20 begge et komma-tegn, omend med lidt anderledes semantik.

Den egentlige karaktergenerator ROM brugte et andet sæt tildelinger. For eksempel, for at vise tegnene "@ABC" på skærmen ved direkte at skrive ind i skærmens hukommelse , ville man POKE decimalværdierne 0, 1, 2 og 3 frem for 64, 65, 66 og 67.

PETSCII (Commodore 64, 16 og 128)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _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
S s.
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
B
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
8
2581

258F

2592
95
2595
🮏
1FB8F
◤ 🮙
25E4 1FB99
🮇
1FB87

251C
97
2597
14
2514

2510

2582
B_
176

250C

2534

252C

2524

258E

258D
🮈
1FB88
🮂
1FB82
🮃
1FB83

2583
🭿 ✓
1FB7F 2713
96
2596

259D
18
2518
98
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
B
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
8
2581

258F

2592
95
2595
🮏
1FB8F
◤ 🮙
25E4 1FB99
🮇
1FB87

251C
97
2597
14
2514

2510

2582
F_
240

250C

2534

252C

2524

258E

258D
🮈
1FB88
🮂
1FB82
🮃
1FB83

2583
🭿 ✓
1FB7F 2713
96
2596

259D
18
2518
98
2598
π 🮖
03C0 1FB96

  Brev  Nummer  Tegnsætning  Symbol  Andet  Udefineret


Tastaturet giver som standard adgang til den nederste halvdel af kodesiden. Tryk på shift+-tasten giver det tilsvarende øvre halve kodepunkt.

Kontroltegn

Nogle PETSCII -koder kan ikke udskrives og bruges kun til tastaturindgang (f.eks. F1, RUN/STOP).

Image
PET 2001 tastaturlayout, der illustrerer PETSCII grafiske tegn

Commodore 64 kontroltegn

PETSCII -kontroltegn (Commodore 64)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _B _C _D _E _F
0_
0
 
 
 
 
 
 
HOLD OP

 
 
 
HVID

 
 
 
 
 
SKIFT
Deaktiveret

 
SKIFT
AKTIVERET

 
 
 
 
 
 
 
VEND TILBAGE

 
TEKST
MODE

000 E. coli pr
 
 
1_
16
 
 
CURSOR
NED

0084
BAGVEND
TIL

 
HJEM

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RØD

 
CURSOR
HØJRE

 
GRØN

 
BLÅ

 
8_
128
 
 
ORANGE

 
 
 
LØB

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIK

000F
 
 
9_
144
SORT

 
CURSOR
UP

008D
OMVENDT
OFF

 
CLR

 
INDSÆT

 
BRUN

 
LYSERØD

 
MØRK
GRÅ

 
MEDIUM
GRÅ

 
LYS
GRØN

 
LYS
BLÅ

 
LET
GRÅ

 
LILLE

 
CURSOR
VENSTRE

 
GUL

 
CYAN

 


Commodore 16 kontroltegn

PETSCII -kontroltegn (Commodore 16)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _B _C _D _E _F
0_
0
 
 
 
 
 
 
HOLD OP

 
 
 
HVID

 
 
 
 
 
SKIFT
Deaktiveret

 
SKIFT
AKTIVERET

 
 
 
 
 
 
 
VEND TILBAGE

 
TEKST
MODE

000 E. coli pr
 
 
1_
16
 
 
CURSOR
NED

0084
BAGVEND
TIL

 
HJEM

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
ESC

001B
RØD

 
CURSOR
HØJRE

 
GRØN

 
BLÅ

 
8_
128
 
 
ORANGE

 
BLINKER
TIL

 
LØB

 
BLINKER
FRA

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
HJÆLP

 
LF

000A
GRAFIK

000F
 
 
9_
144
SORT

 
CURSOR
UP

008D
OMVENDT
OFF

 
CLR

 
INDSÆT

 
BRUN

 
GUL
GRØN

 
LYSERØD

 
BLÅ
GRØN

 
LYS
BLÅ

 
MØRK
BLÅ

 
LYS
GRØN

 
LILLE

 
CURSOR
VENSTRE

 
GUL

 
CYAN

 


Commodore 128, 40-kolonnen tilstand kontrol tegn

PETSCII-kontroltegn (Commodore 128, 40-kolonne-tilstand)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _B _C _D _E _F
0_
0
 
 
 
 
 
 
HOLD OP

 
 
 
HVID

 
 
 
BELL

0007
 
 
HT

0009
LF

000A
SKIFT
AKTIVERET

 
SKIFT
Deaktiveret

 
VEND TILBAGE

 
TEKST
MODE

000 E. coli pr
 
 
1_
16
 
 
CURSOR
NED

0084
BAGVEND
TIL

 
HJEM

 
DEL

0008
 
 
 
 
 
 
TAB SET/
CLEAR

0088
 
 
 
 
ESC

001B
RØD

 
CURSOR
HØJRE

 
GRØN

 
BLÅ

 
8_
128
 
 
ORANGE

 
 
 
LØB

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIK

000F
 
 
9_
144
SORT

 
CURSOR
UP

008D
OMVENDT
OFF

 
CLR

 
INDSÆT

 
BRUN

 
LYSERØD

 
MØRK
GRÅ

 
MEDIUM
GRÅ

 
LYS
GRØN

 
LYS
BLÅ

 
LET
GRÅ

 
LILLE

 
CURSOR
VENSTRE

 
GUL

 
CYAN

 


Commodore 128, 80-søjles tilstandskontroltegn

PETSCII-kontroltegn (Commodore 128, 80-kolonne-tilstand)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _B _C _D _E _F
0_
0
 
 
 
 
UNDERLINE
TIL

 
HOLD OP

 
 
 
HVID

 
 
 
BELL

0007
 
 
HT

0009
LF

000A
SKIFT
AKTIVERET

 
SKIFT
Deaktiveret

 
VEND TILBAGE

 
TEKST
MODE

000 E. coli pr
BLINKER
TIL

 
1_
16
 
 
CURSOR
NED

 
BAGVEND
TIL

 
HJEM

 
DEL

0008
 
 
 
 
 
 
TAB SET/
CLEAR

0088
 
 
 
 
ESC

001B
RØD

 
CURSOR
HØJRE

 
GRØN

 
BLÅ

 
8_
128
 
 
MØRK
LILLE

 
UNDERLINE
OFF

 
LØB

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIK

000F
BLINKER
FRA

 
9_
144
SORT

 
CURSOR
UP

008D
OMVENDT
OFF

 
CLR

 
INDSÆT

 
MØRK
GUL

 
LYSERØD

 
MØRK
CYAN

 
MEDIUM
GRÅ

 
LYS
GRØN

 
LYS
BLÅ

 
LET
GRÅ

 
LILLE

 
CURSOR
VENSTRE

 
GUL

 
CYAN

 

Commodore 65 prototype, 80-søjle mode kontrol tegn

PETSCII-kontroltegn (Commodore 65 prototype, 80-kolonne-tilstand)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EN _B _C _D _E _F
0_
0
 
 
 
 
UNDERLINE
TIL

 
HOLD OP

 
 
 
HVID

 
 
 
BELL

0007
 
 
HT

0009
LF

000A
SKIFT
AKTIVERET

 
SKIFT
Deaktiveret

 
VEND TILBAGE

 
TEKST
MODE

000 E. coli pr
BLINKER
TIL

 
1_
16
F9

 
CURSOR
NED

 
BAGVEND
TIL

 
HJEM

 
DEL

0008
F10

 
F11

 
F12

 
TAB SET/
CLEAR

0088
F13

 
F14

 
ESC

001B
RØD

 
CURSOR
HØJRE

 
GRØN

 
BLÅ

 
8_
128
 
 
ORANGE
 
UNDERLINE
OFF

 
LØB

 
HJÆLP

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFIK

000F
BLINKER
FRA

 
9_
144
SORT

 
CURSOR
UP

008D
OMVENDT
OFF

 
CLR

 
INDSÆT

 
BRUN
 
LYS
RØD

 
LET
GRÅ

 
MEDIUM
GRÅ

 
LYS
GRØN

 
LYS
BLÅ

 
MØRK
GRÅ

 
LILLE

 
CURSOR
VENSTRE

 
GUL

 
CYAN

 

Base 128

Ud af PETSCIIs første 192 koder har 164 synlige repræsentationer (for kontrolkoderne er disse synlige, når de citeres ): 5 (hvid), 17–20 og 28–31 (farver og markørstyringer), 32–90 ( ASCII -ækvivalent) , 91–127 (grafik), 129 (orange), 133–140 (funktionstaster), 144–159 (farver og markørstyringer) og 160–192 (grafik). Dette tillader teoretisk kodning, såsom base128, i DATA-sætninger eller måske mellem PETSCII-talende maskiner; for eksempel 33–127, 160–192.

Se også

Noter

  1. ^ DenAmigahjem / personlig computer familie bruger standard ISO-8859-1.
  2. ^ seOn The Edgeaf Brian Bagnall, ISBN 0-9738649-0-7, s. 43, 54–55.

Referencer

eksterne links