PETSCII - PETSCII

PETSCII
PETSCII.png
PETSCII (kaydırılmış ve kaydırılmamış)
Diller) İngilizce ile pseudographics
sınıflandırma 8 bit genişletilmiş erken ASCII
Dayalı ABD-ASCII (1963 versiyonu)

PETSCII ( PET S tandard C arasında gazel I nformation ben nterchange ) olarak da bilinen CBM ASCII , kullanılan karakter kümesidir Commodore Business Machines (CBM) 'ın 8 bit ev bilgisayarları ile başlayan PET 1977 den ve dahil C16 , C64 , C116 , C128 , CBM-II , Plus/4 ve VIC-20 .

Tarih

Karakter seti büyük ölçüde Leonard Tramiel ( Comodore CEO'su Jack Tramiel'in oğlu ) ve PET tasarımcısı Chuck Peddle tarafından tasarlandı . PETSCII'nin grafik karakterleri, Commodore'un 1977'de Microsoft'un mevcut 6502 BASIC'inde Microsoft'un Ric Weiland'ında istenen değişiklikleri düzenlerken Commodore BASIC için belirlediği uzantılardan biriydi. VIC-20 , PET ile aynı piksel piksel yazı tipini kullandı. VIC'nin 22 sütunlu ekranı nedeniyle karakterler daha geniş görünüyordu. Ancak Commodore 64, makinenin daha yüksek çözünürlüklü ekranı tarafından oluşturulan renk bozulmalarını önlemek için biraz yeniden tasarlanmış, ağır büyük harfli bir yazı tipi, esasen PET'lerin daha kalın bir versiyonu kullandı. C64'ün küçük harf karakterleri, Atari 800'ün sistem yazı tipindeki (birkaç yıl önce yayınlanmış) küçük harf karakterleriyle aynıdır .

Peddle, kart takımı sembollerinin dahil edilmesinin, PET'e kart oyunları yazmanın kolay olması gerektiği talebiyle (aldığı özellik listesinin bir parçası olarak) teşvik edildiğini iddia ediyor.

Özellikler

PETSCII'nin kaydırılmış ve kaydırılmamış modları ve ASCII-1963'ten iki karakter ile C64 başlangıç ​​ekranı
C64'te kaydırılmış ve kaydırılmamış modlarda görüntülenen PETSCII Tablosu. (Kontrol kodları ve klavyeden döndürülen standart büyük harfli anahtar kodları olan ve $60–$7F aralığına yansıtılan $C0–$FF aralığındaki karakterler gösterilmemiştir.)

PETSCII, ASCII'nin 1963 sürümüne dayanmaktadır ( 1967 sürümü yerine , çoğu diğer bilgisayar karakter kümeleri olmasa da ASCII kullanımına dayalıdır). Grafik modunun kaydırılmamış olduğunu varsayarsak , PETSCII'nin açılış durumunda yalnızca büyük harfler, $ 5E konumunda bir şapka ( ^ ) yerine bir yukarı ok ( ↑ ) ve bir alt çizgi ( _ ) yerine bir sol ok ( ← ) vardır. 5F konumunda, bu iki değişken ASCII-1963'te yaygındır. Ayrıca, VIC-20 ve C64 versiyonunda, $5C konumundaki ters eğik çizgi ( \ ) bir İngiliz sterlini işareti ( £ ) tarafından işgal edilir (aynı ASCII kodunun ISO 646'nın Japonca ve Korece versiyonları tarafından kendi kullanımları için kullanılmasından önce gelir). ilgili para birimi simgeleri). Gelen elenmemiş modunda , $ 60- $ 7F ve $ A0- $ FF kodları blok grafik karakterler (yatay ve dikey çizgiler, kapakları, gölgeler, üçgenler, daireler ve CBM özgü tahsis edilir kart takım elbise ). $00–$1F ve $80–$9F aralıkları kontrol kodlarına sahiptir.

Commodore PET 'in bir programlanabilir eksikliği bit eşlem için biçem bilgisayar grafik hiçbir Yeniden tanımlanabilir karakter kümesi kapasitesine sahip olarak PETSCII geliştirilmiştir nedenlerinden biri olabilir, hem de; iyi düşünülmüş blok grafikleri yaratıcı bir şekilde kullanarak, ekran grafiklerinde düz ASCII'nin harf/rakam/noktalama karakterlerini kullanmaktan daha yüksek derecede gelişmişlik elde edilebilir. Bu şekilde üretilebilen nispeten çeşitli geometrik şekillere ek olarak, PETSCII , farklı şekilde taranmış dama tahtası kareler/yarım kareler sağlayarak birkaç gri tonlama düzeyine izin verir . Son olarak, ters video modu (aşağıya bakın), yansıtılmış yarım kare bloklar sağladığı için grafik karakter aralığını tamamlamak için kullanılır.

PETSCII ayrıca küçük harflerin $41–$5A aralığını ve büyük harflerin $C1–$DA aralığını işgal ettiği bir metin moduna sahiptir . Mod, SHIFT tuşlarından biri basılı tutularak ve ardından Commodore tuşuna basılarak ve bırakılarak değiştirilir . Çipin bu grafik "kaymasını" geçirip geçirmediğine bakılmaksızın, $E0-FF aralığında blok grafik karakterleri vardır. Bu, PETSCII'yi ASCII-1967'den daha geriye gitmeyen ASCII türlerinden ayırmaya yarar, bu nedenle 8-bit Commodore makinesi ile 1967'den türetilen ASCII kullanan bir makine arasındaki herhangi bir metin aktarımı, büyük harflerin küçük göründüğü metinle sonuçlanacaktır. , ve küçük harfler büyük. Bu durumları uygun duruma değiştirmek için kolay bir Boole işlemi yoktur . Bu nedenle, standart olmayan ASCII karakter kümelerine dayalı diğer bilgisayarlarda olduğu gibi, metin dosyalarını değiştirirken ve/veya standart ASCII sistemleriyle telekomünikasyon yaparken yazılım dönüştürmesi gerekir. Diğer aralıklar, kaydırılmış modda değişmez; bu, ASCII-1967'de küçük harflerin yanı sıra eklenen diğer karakterlerin - yani mezar vurgusu, kaşlı ayraçlar, dikey çubuk ve tilde - PETSCII'de bulunmadığı anlamına gelir.

PETSCII'de , , , ve (son iki etkinleştirme/devre dışı bırakma ters video karakter gösterimi) gibi imleç ve ekran kontrol kodları bulunur . Kontrol kodları, program listelerinde ters video grafik karakterleri olarak göründü, ancak bazı bilgisayar dergileri, daha net okunabilir listeler sağlama çabalarında , yukarıdaki örnekler gibi gerçek adlarını kullanarak kodları güzelce yazdırdı . Bu tür isimler genellikle listelerde kaşlı ayraçlar içine alındı. Bu, belirsizliği önledi, çünkü belirtildiği gibi, PETSCII'nin küme ayracı karakterleri yoktu. Ekran kontrol kodları, esasen metin tabanlı bilgisayar terminalleri için kaçış kodlarına benzerdi . {HOME}{CLR}{RVS ON}{RVS OFF}

Yukarıda belirtildiği gibi, PETSCII, açılışta varsayılan (kaydırılmamış) büyük harf+grafik karakter seti ile alternatif (kaydırılmış) küçük+büyük harf seti (kaydırılmış set, kaydırılmamış setin blok grafik karakterlerinin bir alt setini içerir) arasında geçiş sağlar. . Modlar arasındaki geçiş , alternatif grubu seçmek için 14 değeri veya standarda geri dönmek için 12 değeri ile 59468 konumu POKE yapılarak yapılır . C64'te kümeler, bayt 53272'nin bit 2'sinin çevrilmesiyle değiştirilir. Bazı PET modellerinde bu PRINT CHR$(14), karakter kümesini değiştirmenin yanı sıra satır aralığını ayarlayan özel kontrol koduyla da elde edilebilir ; POKE yöntemi hala kullanılabilir ve satır aralığını değiştirmez. Bu nedenle, ayrı ASCII kodlarının kullanılması yerine ekran düzenleyici durum değişiklikleri, tek durum (tüm büyük harfler) ve çift durum arasında seçim yapmak için kullanılır. VIC-20, C64 ve sonraki makinelerde (CBM iş bilgisayarları hariç), renk kodları diğer ekran kontrol kodlarını tamamlar. (VIC-20 ve C64/128'in renkleri VIC-II makalesinde listelenmiştir .)

Karakter seti

PETSCII tarafından kodlanan karakterlerin tümü 'grafik' değildir ve hepsinin karşılık gelen bir Unicode gösterimi yoktur. Aşağıdaki tablo, PETSCII karakterleri için karşılık gelen Unicode karakterini ve kod noktasını gösterir . Kontrol karakterleri ve diğer yazdırılamayan karakterler adlarıyla temsil edilir. Belirli bir kod noktasının hem kaydırılmış hem de kaydırılmamış bir karakteri kodladığı durumlarda, kaydırılmamış karakter solda ve kaydırılmış karakter sağda olacak şekilde her iki karakter de gösterilir. Satır ve sütun başlıkları , sekiz bitlik kod değerini üretmek için onaltılık basamak kombinasyonlarını belirtir ; örneğin, L harfi 4C kod değerindedir.

Aşağıdaki tablonun Commodore 64 , Commodore 16 ve Commodore 128 için olduğunu unutmayın . Kontrol karakterleri bu makineler arasında farklılık gösterir ve ayrı tablolarda sunulur . Diğer Commodore makineleri, farklı kontrol karakterleri ve bazı durumlarda farklı grafik karakterleri kullanan PETSCII'nin biraz farklı versiyonlarını kullandı. Örneğin, VIC-20'den önceki CBM makinelerinde , 2C ve 6C $ karakterlerinin her ikisi de biraz farklı semantiklere sahip olsa da bir virgül karakteri üretti.

Gerçek karakter oluşturucu ROM, farklı bir atama seti kullandı. Örneğin, "@ABC" karakterlerini doğrudan ekran belleğine yazarak ekranda görüntülemek için 64, 65, 66 ve 67 yerine 0, 1, 2 ve 3 ondalık değerleri POKE olacaktır.

PETSCII (Commodore 64, 16 ve 128)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _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
Bir bir
0041 0061
B b
0042 0062
C c
0043 0063
D d
0044 0064
E e
0065 0045
F f
0046 0066
G g
0047 0067
H h
0048 0068
Ben i
0069 0049
J J
004A 006A
K k
004B 006B
L l
004C 006C
E 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
bir
2660 0041
🭲 B
1FB72 0042
🭸 C
1FB78 0043
🭷 D
1FB77 0044
🭶 E
1FB76 0045
🭺 F
1FB7A 0046
🭱 G
1FB71 0047
🭴 H
1FB74 0048
ben
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
0053 2665
🭰 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
bir
2660 0041
🭲 B
1FB72 0042
🭸 C
1FB78 0043
🭷 D
1FB77 0044
🭶 E
1FB76 0045
🭺 F
1FB7A 0046
🭱 G
1FB71 0047
🭴 H
1FB74 0048
ben
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
0053 2665
🭰 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

  Mektup  Sayı  Noktalama  Sembol  Başka  Tanımsız


Klavye varsayılan olarak kod sayfasının alt yarısına erişim sağlar. shift+tuşuna basmak, karşılık gelen üst yarı kod noktasını verir.

Kontrol karakterleri

Bazı PETSCII kodları yazdırılamaz ve yalnızca klavye girişi için kullanılır (örn. F1, RUN/STOP).

PETSCII grafik karakterlerini gösteren PET 2001 klavye düzeni

Commodore 64 kontrol karakterleri

PETSCII kontrol karakterleri (Commodore 64)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _E _F
0_
0
 
 
 
 
 
 
DUR

 
 
 
BEYAZ

 
 
 
 
 
SHIFT
DEVRE DIŞI

 
SHIFT
ETKİN

 
 
 
 
 
 
 
DÖNÜŞ

 
METİN
MODU

000E
 
 
1_
16
 
 
İMLEÇ
AŞAĞI

0084
TERS
AÇIK

 
EV

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
 
 
KIRMIZI

 
İMLEÇ
SAĞ

 
YEŞİL

 
MAVİ

 
8_
128
 
 
TURUNCU

 
 
 
ÇALIŞTIRMAK

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFİK

000F
 
 
9_
144
SİYAH

 
İMLEÇ
YUKARI

008D
TERS
KAPALI

 
CLR

 
SOKMAK

 
KAHVERENGİ

 
PEMBE

 
KOYU
GRİ

 
ORTA
GRİ

 
AÇIK
YEŞİL

 
AÇIK
MAVİ

 
AÇIK
GRİ

 
MOR

 

SOL İMLEÇ

 
SARI

 
camgöbeği

 


Commodore 16 kontrol karakteri

PETSCII kontrol karakterleri (Commodore 16)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _E _F
0_
0
 
 
 
 
 
 
DUR

 
 
 
BEYAZ

 
 
 
 
 
SHIFT
DEVRE DIŞI

 
SHIFT
ETKİN

 
 
 
 
 
 
 
DÖNÜŞ

 
METİN
MODU

000E
 
 
1_
16
 
 
İMLEÇ
AŞAĞI

0084
TERS
AÇIK

 
EV

 
DEL

0008
 
 
 
 
 
 
 
 
 
 
 
 
ESC

001B
KIRMIZI

 
İMLEÇ
SAĞ

 
YEŞİL

 
MAVİ

 
8_
128
 
 
TURUNCU

 
YANIP
YANIYOR

 
ÇALIŞTIRMAK

 
YANIP
KAPALI

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
YARDIM

 
LF

000A
GRAFİK

000F
 
 
9_
144
SİYAH

 
İMLEÇ
YUKARI

008D
TERS
KAPALI

 
CLR

 
SOKMAK

 
KAHVERENGİ

 
SARI
YEŞİL

 
PEMBE

 
MAVİ
YEŞİL

 
AÇIK
MAVİ

 
KOYU
MAVİ

 
AÇIK
YEŞİL

 
MOR

 

SOL İMLEÇ

 
SARI

 
camgöbeği

 


Commodore 128, 40 sütunlu mod kontrol karakterleri

PETSCII kontrol karakterleri (Commodore 128, 40 sütun modu)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _E _F
0_
0
 
 
 
 
 
 
DUR

 
 
 
BEYAZ

 
 
 
ZİL

0007
 
 
HT

0009
LF

000A
SHIFT
ETKİN

 
SHIFT
DEVRE DIŞI

 
DÖNÜŞ

 
METİN
MODU

000E
 
 
1_
16
 
 
İMLEÇ
AŞAĞI

0084
TERS
AÇIK

 
EV

 
DEL

0008
 
 
 
 
 
 
SEKME AYARI/
SİL

0088
 
 
 
 
ESC

001B
KIRMIZI

 
İMLEÇ
SAĞ

 
YEŞİL

 
MAVİ

 
8_
128
 
 
TURUNCU

 
 
 
ÇALIŞTIRMAK

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFİK

000F
 
 
9_
144
SİYAH

 
İMLEÇ
YUKARI

008D
TERS
KAPALI

 
CLR

 
SOKMAK

 
KAHVERENGİ

 
PEMBE

 
KOYU
GRİ

 
ORTA
GRİ

 
AÇIK
YEŞİL

 
AÇIK
MAVİ

 
AÇIK
GRİ

 
MOR

 

SOL İMLEÇ

 
SARI

 
camgöbeği

 


Commodore 128, 80 sütunlu mod kontrol karakterleri

PETSCII kontrol karakterleri (Commodore 128, 80 sütun modu)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _E _F
0_
0
 
 
 
 
ALT ÇİZGİ
AÇIK

 
DUR

 
 
 
BEYAZ

 
 
 
ZİL

0007
 
 
HT

0009
LF

000A
SHIFT
ETKİN

 
SHIFT
DEVRE DIŞI

 
DÖNÜŞ

 
METİN
MODU

000E
YANIP
YANIYOR

 
1_
16
 
 
İMLEÇ
AŞAĞI

 
TERS
AÇIK

 
EV

 
DEL

0008
 
 
 
 
 
 
SEKME AYARI/
SİL

0088
 
 
 
 
ESC

001B
KIRMIZI

 
İMLEÇ
SAĞ

 
YEŞİL

 
MAVİ

 
8_
128
 
 
KOYU
MOR

 
ALT ÇİZGİ
KAPALI

 
ÇALIŞTIRMAK

 
 
 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFİK

000F
YANIP
KAPALI

 
9_
144
SİYAH

 
İMLEÇ
YUKARI

008D
TERS
KAPALI

 
CLR

 
SOKMAK

 
KOYU
SARI

 
PEMBE

 
KOYU
CYAN

 
ORTA
GRİ

 
AÇIK
YEŞİL

 
AÇIK
MAVİ

 
AÇIK
GRİ

 
MOR

 

SOL İMLEÇ

 
SARI

 
camgöbeği

 

Commodore 65 prototip, 80 sütun modu kontrol karakterleri

PETSCII kontrol karakterleri (Commodore 65 prototipi, 80 sütun modu)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _NS _E _F
0_
0
 
 
 
 
ALT ÇİZGİ
AÇIK

 
DUR

 
 
 
BEYAZ

 
 
 
ZİL

0007
 
 
HT

0009
LF

000A
SHIFT
ETKİN

 
SHIFT
DEVRE DIŞI

 
DÖNÜŞ

 
METİN
MODU

000E
YANIP
YANIYOR

 
1_
16
F9

 
İMLEÇ
AŞAĞI

 
TERS
AÇIK

 
EV

 
DEL

0008
F10

 
F11

 
F12

 
SEKME AYARI/
SİL

0088
F13

 
F14

 
ESC

001B
KIRMIZI

 
İMLEÇ
SAĞ

 
YEŞİL

 
MAVİ

 
8_
128
 
 
TURUNCU
 
ALT ÇİZGİ
KAPALI

 
ÇALIŞTIRMAK

 
YARDIM

 
F1

 
F3

 
F5

 
F7

 
F2

 
F4

 
F6

 
F8

 
LF

000A
GRAFİK

000F
YANIP
KAPALI

 
9_
144
SİYAH

 
İMLEÇ
YUKARI

008D
TERS
KAPALI

 
CLR

 
SOKMAK

 
KAHVERENGİ
 
AÇIK
KIRMIZI

 
AÇIK
GRİ

 
ORTA
GRİ

 
AÇIK
YEŞİL

 
AÇIK
MAVİ

 
KOYU
GRİ

 
MOR

 

SOL İMLEÇ

 
SARI

 
camgöbeği

 

Temel 128

PETSCII'nin ilk 192 kodunun 164'ü görünür temsillere sahiptir (kontrol kodları için bunlar alıntı yapıldığında görünür ): 5 (beyaz), 17–20 ve 28–31 (renkler ve imleç kontrolleri), 32–90 ( ASCII eşdeğeri) , 91–127 (grafikler), 129 (turuncu), 133–140 (işlev tuşları), 144–159 (renkler ve imleç kontrolleri) ve 160–192 (grafikler). Bu teorik olarak, DATA ifadelerinde veya belki de PETSCII konuşan makineler arasında base128 gibi kodlamalara izin verir; örneğin, 33-127, 160-192.

Ayrıca bakınız

Notlar

  1. ^ Amigaev / kişisel bilgisayar ailesi standardı ISO-8859-1 kullanır.
  2. ^ bkz.On The Edgeby Brian Bagnall, ISBN 0-9738649-0-7, s. 43, 54–55.

Referanslar

Dış bağlantılar