PETSCII - PETSCII
Jazyk (y) | Angličtina s pseudografií |
---|---|
Klasifikace | 8bitový rozšířený raný ASCII |
Na základě | US-ASCII (verze 1963) |
PETSCII ( PET S tandard C ode dne I nformace I nterchange ), také známý jako CBM ASCII je znaková sada používá v Commodore Business Machines (CBM) ‚s 8-bitové domácí počítače , počínaje PET od roku 1977 a včetně C16 , C64 , C116 , C128 , CBM-II , Plus/4 a VIC-20 .
Dějiny
Znakovou sadu z velké části navrhli Leonard Tramiel (syn generálního ředitele Commodora Jacka Tramiela ) a designér PET Chuck Peddle . Grafické znaky PETSCII byly jedním z rozšíření, která Commodore specifikovala pro Commodore BASIC při vytyčování požadovaných změn stávajícího Microsoftu 6502 BASIC na Microsoft Ric Weiland v roce 1977. VIC-20 používal stejný font pixel-for-pixel jako PET, ačkoli postavy se zdály širší díky 22sloupcové obrazovce VIC. Commodore 64 však používal mírně přepracované, těžké písmo velkých písmen, v podstatě silnější verzi PET, aby se zabránilo barevným artefaktům vytvořeným obrazovkou s vyšším rozlišením stroje. Malé znaky C64 jsou totožné s malými písmeny v systémovém písmu Atari 800 (vydáno o několik let dříve).
Peddle tvrdí, že zahrnutí symbolů karetních obleků bylo urychleno požadavkem, že by mělo být snadné psát karetní hry na PET (jako součást seznamu specifikací, který obdržel).
Specifikace
PETSCII je založen na verzi ASCII z roku 1963 (spíše než na verzi z roku 1967 , což je většina, ne -li všechny ostatní počítačové znakové sady založené na použití ASCII). Za předpokladu, že grafiku režim je neodstranitelný , PETSCII má jen velká písmena ve svém studeného startu stavu, up-šipkou (↑) místo stříšky (^) v poloze $ 5E a levé šipky (←) namísto podtržítka (_) v pozici $ 5F jsou tyto dvě varianty běžné v ASCII-1963. Také ve verzi VIC-20 a C64 je zpětné lomítko (\) na pozici $ 5C obsazeno znakem britské libry (£) (předcházející použití stejného kódu ASCII japonskou a korejskou verzí ISO 646 pro jejich příslušné měnové symboly). V neposunutém režimu jsou kódy $ 60– $ 7F a $ A0– $ FF přiděleny blokovým grafickým znakům specifickým pro CBM (vodorovné a svislé čáry, šrafy, odstíny, trojúhelníky, kruhy a karty ). Rozsahy $ 00– $ 1F a $ 80– $ 9F mají kontrolní kódy.
The Commodore PET obaly ‚s chybí programovatelného bitmapového režimu SET pro počítačové grafiky , stejně jako to, které nemají redefinable nastavenou schopnost znak, může být jedním z důvodů, proč PETSCII byl vyvinut; kreativním používáním promyšlené blokové grafiky lze dosáhnout vyššího stupně propracovanosti obrazovkové grafiky než pomocí obyčejných znaků ASCII pro písmena/číslice/interpunkční znaménka. Kromě relativně rozmanité sady geometrických tvarů, které lze takto vyrobit, umožňuje PETSCII několik úrovní šedé škály poskytnutím různě šrafovaných šachovnicových čtverců/polovičních čtverců. Nakonec režim reverzního videa (viz níže) slouží k doplnění řady grafických postav v tom, že poskytuje zrcadlené půlkruhové bloky.
PETSCII má také textový režim , ve kterém malá písmena zabírají rozsah $ 41– $ 5A a velká písmena zabírají rozsah $ C1– $ DA. Režim se přepíná podržením jedné z kláves SHIFT a následným stisknutím a uvolněním klávesy Commodore . Bez ohledu na to, zda čip prošel tímto grafickým „posunem“, existují blokové grafické znaky v rozmezí $ E0-FF. To slouží k rozlišení PETSCII od těch typů ASCII, které se nevracejí dále než ASCII-1967, takže jakýkoli přenos textu mezi 8bitovým strojem Commodore a zařízením, které používá ASCII odvozený z roku 1967, by mělo za následek text, kde velká písmena vypadají jako malá písmena , a malá písmena velká. Neexistuje snadná booleovská operace, jak tyto případy změnit na správný případ. Stejně jako u jiných počítačů založených na nestandardních znakových sadách ASCII je při výměně textových souborů a/nebo telekomunikaci se standardními systémy ASCII nutná konverze softwaru. Ostatní rozsahy jsou v posunutém režimu beze změny; to znamená, že ostatní znaky přidané v ASCII-1967 kromě malých písmen-tj. přízvuk hrobu, složené závorky, svislá čára a vlnovka-v PETSCII neexistují.
Zahrnuty do PETSCII jsou kurzor a kontrolní displej kódy, například {HOME}
, {CLR}
, {RVS ON}
a {RVS OFF}
(poslední dva aktivaci / deaktivaci zobrazování znaků reverzní videa). Kontrolní kódy se objevily v programových výpisech jako grafické znaky pro reverzní video, přestože některé počítačové časopisy ve snaze poskytnout jasněji čitelné výpisy kódy pěkně vytiskly pomocí jejich skutečných jmen, jako výše uvedené příklady. Taková jména byla v seznamech běžně uzavřena do složených závorek. To zabránilo nejasnostem, protože, jak již bylo zmíněno, PETSCII neměl žádné kudrnaté rovnátka. Kontrolní kódy obrazovky byly v podstatě podobné únikovým kódům pro textové počítačové terminály.
Jak je uvedeno výše, PETSCII umožňuje přepínání mezi výchozí (neposunutou) sadou velkých+grafických znaků při zapnutí a alternativní (posunutou) dolní+velkou sadou (kde posunutá sada obsahuje podmnožinu blokových grafických znaků neposunuté sady) . Přepínání mezi režimy se provádí umístěním POKEing 59468 s hodnotou 14 pro výběr alternativní sady nebo 12 pro návrat ke standardu. Na C64 se sady střídají překlápěním bitu 2 bajtu 53272. U některých modelů PET toho lze dosáhnout také pomocí speciálního řídicího kódu, PRINT CHR$(14)
který upravuje řádkování a také změnu znakové sady; metoda POKE je stále k dispozici a nemění řádkování. K volbě mezi jednoduchými (všemi velkými písmeny) a dvojitými písmeny se tedy místo změny samostatných kódů ASCII používají změny stavu editoru obrazovky. V počítačích VIC-20, C64 a novějších (bez počítačů CBM business) doplňují barevné kódy další kódy ovládání obrazovky. (Barvy VIC-20 a C64/128 jsou uvedeny v článku VIC-II .)
Sada znaků
Ne všechny znaky kódované v PETSCII jsou „grafické“ a ne všechny mají odpovídající reprezentaci Unicode . Následující tabulka ukazuje pro znaky PETSCII odpovídající znak Unicode a bod kódu . Kontrolní znaky a další netisknoucí znaky jsou reprezentovány jejich jmény. Kde konkrétní kódový bod kóduje posunutý i neposunutý znak, zobrazí se oba znaky, přičemž posunutý znak je vlevo a posunutý znak vpravo. Záhlaví řádků a sloupců označují kombinace hexadecimálních číslic pro vytvoření hodnoty osmibitového kódu; např. písmeno L má kódovou hodnotu $ 4C.
Níže uvedená tabulka je pro Commodore 64 , Commodore 16 a Commodore 128 . Řídicí znaky se mezi těmito stroji liší a jsou uvedeny v samostatných tabulkách . Jiné stroje Commodore používaly mírně odlišné verze PETSCII, které používaly různé řídicí znaky a v některých případech různé grafické znaky. Například na strojích CBM před VIC-20 produkovaly znaky $ 2C a $ 6C znak čárky, i když s mírně odlišnou sémantikou.
ROM ROM generátoru skutečných znaků používala jinou sadu přiřazení. Chcete -li například zobrazit znaky „@ABC“ na obrazovce přímým zápisem do paměti obrazovky , je třeba POKE POKE desetinné hodnoty 0, 1, 2 a 3, nikoli 64, 65, 66 a 67.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _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 |
26 A 2660 0041 |
1 B 1FB72 0042 |
🭸 C 1FB78 0043 |
🭷 D 1FB77 0044 |
🭶 E 1FB76 0045 |
1 F 1FB7A 0046 |
1 G 1FB71 0047 |
🭴 H 1FB74 0048 |
256 I 256E 0049 |
╰ J 2570 004A |
256 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 |
256 U 256D 0055 |
╳ V 2573 0056 |
○ W 25CB 0057 |
26 X 2663 0058 |
🭵 Y 1FB75 0059 |
♦ Z 2666 005A |
┼ 253C |
🮌 1FB8C |
│ 2502 |
π 🮖 03C0 1FB96 |
E 🮘 25E5 1FB98 |
8_ 128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9_ 144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A_ 160 |
NBSP 00A0 |
▌ 258C |
▄ 2584 |
▔ 2594 |
81 2581 |
▏ 258F |
92 2592 |
2595 ▕ |
🮏 1FB8F |
E 🮙 25E4 1FB99 |
🮇 1FB87 |
├ 251C |
97 2597 |
14 2514 |
10 2510 |
▂ 2582 |
B_ 176 |
┌ 250C |
34 2534 |
┬ 252C |
┤ 2524 |
▎ 258E |
▍ 258D |
🮈 1FB88 |
🮂 1FB82 |
🮃 1FB83 |
2583 ▃ |
🭿 ✓ 1FB7F 2713 |
2596 ▖ |
▝ 259D |
18 2518 |
2598 ▘ |
▚ 259A |
C_ 192 |
🭹 1FB79 |
26 A 2660 0041 |
1 B 1FB72 0042 |
🭸 C 1FB78 0043 |
🭷 D 1FB77 0044 |
🭶 E 1FB76 0045 |
1 F 1FB7A 0046 |
1 G 1FB71 0047 |
🭴 H 1FB74 0048 |
256 I 256E 0049 |
╰ J 2570 004A |
256 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 |
256 U 256D 0055 |
╳ V 2573 0056 |
○ W 25CB 0057 |
26 X 2663 0058 |
🭵 Y 1FB75 0059 |
♦ Z 2666 005A |
┼ 253C |
🮌 1FB8C |
│ 2502 |
π 🮖 03C0 1FB96 |
E 🮘 25E5 1FB98 |
E_ 224 |
NBSP 00A0 |
▌ 258C |
▄ 2584 |
▔ 2594 |
81 2581 |
▏ 258F |
92 2592 |
2595 ▕ |
🮏 1FB8F |
E 🮙 25E4 1FB99 |
🮇 1FB87 |
├ 251C |
97 2597 |
14 2514 |
10 2510 |
▂ 2582 |
F_ 240 |
┌ 250C |
34 2534 |
┬ 252C |
┤ 2524 |
▎ 258E |
▍ 258D |
🮈 1FB88 |
🮂 1FB82 |
🮃 1FB83 |
2583 ▃ |
🭿 ✓ 1FB7F 2713 |
2596 ▖ |
▝ 259D |
18 2518 |
2598 ▘ |
π 🮖 03C0 1FB96 |
Dopis Číslo Interpunkce Symbol jiný Nedefinováno
Klávesnice ve výchozím nastavení poskytuje přístup k dolní polovině kódové stránky. Stisknutím klávesy Shift+získáte odpovídající horní polovinu kódu.
Ovládací znaky
Některé kódy PETSCII nelze vytisknout a používají se pouze pro vstup z klávesnice (např. F1, RUN/STOP).
Commodore 64 řídicích znaků
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
STOP |
|
BÍLÝ |
|
|
SHIFT ZAKÁZÁN |
POSUN POVOLEN |
|
|
|
VRÁTIT SE |
TEXTOVÝ REŽIM 000E |
|
1_ 16 |
|
KURZOR DOLŮ 0084 |
REVERSE ON |
DOMOV |
DEL 0008 |
|
|
|
|
|
|
|
ČERVENÉ |
KURZOR PRÁVO |
ZELENÁ |
MODRÝ |
8_ 128 |
|
ORANŽOVÝ |
|
BĚH |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRAFIKA 000F |
|
9_ 144 |
ČERNÁ |
KURZOR NAHORU 008D |
VYPNOUT ZPĚT |
CLR |
VLOŽIT |
HNĚDÝ |
RŮŽOVÝ |
TMAVĚ ŠEDÁ |
STŘEDNÍ ŠEDÁ |
SVĚTLE ZELENÁ |
SVĚTLE MODRÁ |
SVĚTLE ŠEDÁ |
NACHOVÝ |
KURZOR VLEVO |
ŽLUTÁ |
TYRKYSOVÁ |
Commodore 16 ovládacích znaků
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
STOP |
|
BÍLÝ |
|
|
SHIFT ZAKÁZÁN |
POSUN POVOLEN |
|
|
|
VRÁTIT SE |
TEXTOVÝ REŽIM 000E |
|
1_ 16 |
|
KURZOR DOLŮ 0084 |
REVERSE ON |
DOMOV |
DEL 0008 |
|
|
|
|
|
|
ESC 001B |
ČERVENÉ |
KURZOR PRÁVO |
ZELENÁ |
MODRÝ |
8_ 128 |
|
ORANŽOVÝ |
Bliká NA |
BĚH |
BLIKÁ VYPNUTO |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
POMOC |
LF 000A |
GRAFIKA 000F |
|
9_ 144 |
ČERNÁ |
KURZOR NAHORU 008D |
VYPNOUT ZPĚT |
CLR |
VLOŽIT |
HNĚDÝ |
ŽLUTO ZELENÁ |
RŮŽOVÝ |
MODRÁ ZELENÁ |
SVĚTLE MODRÁ |
TMAVĚ MODRÁ |
SVĚTLE ZELENÁ |
NACHOVÝ |
KURZOR VLEVO |
ŽLUTÁ |
TYRKYSOVÁ |
Řídicí znaky Commodore 128, 40 sloupců
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
|
STOP |
|
BÍLÝ |
|
ZVONEK 0007 |
|
HT 0009 |
LF 000A |
POSUN POVOLEN |
SHIFT ZAKÁZÁN |
VRÁTIT SE |
TEXTOVÝ REŽIM 000E |
|
1_ 16 |
|
KURZOR DOLŮ 0084 |
REVERSE ON |
DOMOV |
DEL 0008 |
|
|
|
SADA TABULEK / VYMAZAT 0088 |
|
|
ESC 001B |
ČERVENÉ |
KURZOR PRÁVO |
ZELENÁ |
MODRÝ |
8_ 128 |
|
ORANŽOVÝ |
|
BĚH |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRAFIKA 000F |
|
9_ 144 |
ČERNÁ |
KURZOR NAHORU 008D |
VYPNOUT ZPĚT |
CLR |
VLOŽIT |
HNĚDÝ |
RŮŽOVÝ |
TMAVĚ ŠEDÁ |
STŘEDNÍ ŠEDÁ |
SVĚTLE ZELENÁ |
SVĚTLE MODRÁ |
SVĚTLE ŠEDÁ |
NACHOVÝ |
KURZOR VLEVO |
ŽLUTÁ |
TYRKYSOVÁ |
Řídicí znaky Commodore 128, 80 sloupců
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
PODČÍREJTE ZAPNUTO |
STOP |
|
BÍLÝ |
|
ZVONEK 0007 |
|
HT 0009 |
LF 000A |
POSUN POVOLEN |
SHIFT ZAKÁZÁN |
VRÁTIT SE |
TEXTOVÝ REŽIM 000E |
Bliká NA |
1_ 16 |
|
KURZOR DOLŮ |
REVERSE ON |
DOMOV |
DEL 0008 |
|
|
|
SADA TABULEK / VYMAZAT 0088 |
|
|
ESC 001B |
ČERVENÉ |
KURZOR PRÁVO |
ZELENÁ |
MODRÝ |
8_ 128 |
|
DARK PURPLE |
PODČÍRAT VYPNUTO |
BĚH |
|
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRAFIKA 000F |
BLIKÁ VYPNUTO |
9_ 144 |
ČERNÁ |
KURZOR NAHORU 008D |
VYPNOUT ZPĚT |
CLR |
VLOŽIT |
TMAVĚ ŽLUTÁ |
RŮŽOVÝ |
TMAVÝ KYAN |
STŘEDNÍ ŠEDÁ |
SVĚTLE ZELENÁ |
SVĚTLE MODRÁ |
SVĚTLE ŠEDÁ |
NACHOVÝ |
KURZOR VLEVO |
ŽLUTÁ |
TYRKYSOVÁ |
Commodore 65 prototyp, 80-sloupcový režim řídící znaky
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
|
|
PODČÍREJTE ZAPNUTO |
STOP |
|
BÍLÝ |
|
ZVONEK 0007 |
|
HT 0009 |
LF 000A |
POSUN POVOLEN |
SHIFT ZAKÁZÁN |
VRÁTIT SE |
TEXTOVÝ REŽIM 000E |
Bliká NA |
1_ 16 |
F9 |
KURZOR DOLŮ |
REVERSE ON |
DOMOV |
DEL 0008 |
F10 |
F11 |
F12 |
SADA TABULEK / VYMAZAT 0088 |
F13 |
F14 |
ESC 001B |
ČERVENÉ |
KURZOR PRÁVO |
ZELENÁ |
MODRÝ |
8_ 128 |
|
ORANŽOVÝ |
PODČÍRAT VYPNUTO |
BĚH |
POMOC |
F1 |
F3 |
F5 |
F7 |
F2 |
F4 |
F6 |
F8 |
LF 000A |
GRAFIKA 000F |
BLIKÁ VYPNUTO |
9_ 144 |
ČERNÁ |
KURZOR NAHORU 008D |
VYPNOUT ZPĚT |
CLR |
VLOŽIT |
HNĚDÝ |
SVĚTLE ČERVENÁ |
SVĚTLE ŠEDÁ |
STŘEDNÍ ŠEDÁ |
SVĚTLE ZELENÁ |
SVĚTLE MODRÁ |
TMAVĚ ŠEDÁ |
NACHOVÝ |
KURZOR VLEVO |
ŽLUTÁ |
TYRKYSOVÁ |
Základna 128
Z prvních 192 kódů PETSCII má 164 viditelné vyobrazení (u kontrolních kódů jsou viditelné při uvozovkách ): 5 (bílé), 17–20 a 28–31 (barvy a ovládací prvky kurzoru), 32–90 ( ekvivalent ASCII ) , 91–127 (grafika), 129 (oranžová), 133–140 (funkční klávesy), 144–159 (barvy a ovládání kurzoru) a 160–192 (grafika). To teoreticky umožňuje kódování, jako je base128, v příkazech DATA nebo snad mezi stroji mluvícími PETSCII; například 33–127, 160–192.
Viz také
Poznámky
Reference
externí odkazy
- Mapa znaků PETSCII, část 1 , část 2 , část 3 ( JPEG )
- Pokus o mapování PETSCII na Unicode, neposunutý , posunutý
- Další mapování PETSCII na Unicode a písmo TrueType používající toto mapování
- Řídicí znaky Commodore 128 PETSCII
- Typografie v 8 bitech: Systémová písma
- Online editor umění PETSCII
- PETSCII-art