ZX81 Zeichensatz - ZX81 character set

Image
Der in der Systemschrift gerenderte Sinclair ZX81-Zeichensatz.

Der ZX81-Zeichensatz ist die Zeichenkodierung, die von der Sinclair Research ZX81- Familie von Mikrocomputern verwendet wird, einschließlich Timex Sinclair 1000 und Timex Sinclair 1500 . Die Codierung verwendet ein Byte pro Zeichen für 256 Codepunkte. Es hat keine Beziehung zu zuvor eingerichteten wie ASCII oder EBCDIC , ist jedoch verwandt, jedoch nicht identisch mit dem Zeichensatz des Vorgängers ZX80 .

Druckbare Zeichen

Image
Screenshot eines ZX81 8K BASIC- Programms, das alle Codepunkte einschließlich BASIC-Schlüsselwörtern und nicht druckbaren Zeichen zeigt, die als Fragezeichen gerendert werden.

Der Zeichensatz enthält 64 eindeutige Glyphen an den Codepunkten 0–63. Wenn das höchstwertige Bit gesetzt ist, wird das Zeichen in einem inversen Video erzeugt . entsprechend den Codepunkten 128–191. Diese 128 Werte sind die einzigen anzeigbaren Werte, die im Videospeicher (als Anzeigedatei bezeichnet) zulässig sind. Die verbleibenden Codepunkte (64–127 und 192–255) werden als Steuerzeichen verwendet, z. B. 118 für Zeilenumbrüche oder, eindeutig für Sinclair BASIC , für Schlüsselwörter, während einige nicht verwendet werden.

Die kleine effektive Reichweite von nur 64 einzigartige Glyphen verbietet Unterstützung für lateinische Kleinbuchstaben Buchstaben und viele Symbole weit verbreitet in der Berechnung wie die verwendeten Ausrufezeichen und dem at - Zeichen . Das Fehlen eines Apostrophs führte dazu, dass einige Software-Autoren stattdessen ein Komma verwendeten.

Es gibt 11 Blockgrafikzeichen , die den Codepunkt 0 zählen, der auch als Leerzeichen dient. Zusammen mit den 11 inversen Videoversionen bieten diese 22 Codepunkte jede Kombination der Zeichenzelle, die in 2 × 2 Schwarz-Weiß-Blockpixel für 64 × 48-Pixel-Grafiken mit niedriger Auflösung oder in 1 × 2 Schwarz, Weiß oder Dithering unterteilt ist graue breite Blockpixel für eine Auflösung von 32 × 48. Die 2 × 2-Versionen davon sind auch im Block Elements Unicode-Block vorhanden .

Codepunkt 11 ist das doppelte Anführungszeichen ("), wenn es in der Anzeigedatei verwendet wird. Die BASIC-Funktion wird CHR$ 192 als dasselbe Zeichen gedruckt, in BASIC-Quelllisten jedoch als" "angezeigt. Sie wird zum Einfügen des Literalzeichens in eine Zeichenfolge verwendet ohne Konflikt mit dem "String-Trennzeichen.

Änderungen gegenüber dem ZX80

Der Zeichensatz im ZX81 wurde vom ZX80-Zeichensatz abgeleitet . Sie haben meistens die gleichen Codepunkte, z. B. für AZ und 0-9, aber die Codepunkte unterscheiden sich für die Blockgrafikzeichen, die Symbole ", -, +, *, /, =,>, <und das Schlüsselwort BASIC Token (mit vielen neuen Hinzufügungen). Es gibt auch Änderungen an den Steuerzeichen. Codepunkt 1 ist kein nicht druckbarer String-Terminator mehr. Das ZX81 8K BASIC ROM war auch als Upgrade für den ZX80 erhältlich und ersetzte sein nur ganzzahliges 4K BASIC ROM.

Die ZX81-Systemschrift verwendet ein 8 × 8-Pixel-pro-Zeichen-Raster, bei dem die meisten Glyphen in 6 × 6 Pixel passen und zwei Pixel horizontalen und vertikalen Abstand zwischen Zeilen und Spalten lassen. Das ROM des ZX80 hatte etwas breitere 7 × 6-Pixel-Glyphen mit nur einem Pixel horizontalen Abstand zwischen ihnen. Einige Glyphen erhielten auch ein anderes Design in der ZX81-Systemschrift, das auf dem *, der durchgestrichenen und weniger gerundeten 0 und den weniger gerundeten $, C, G und J erkennbar ist.

Im späteren Sinclair ZX Spectrum wurde die gesamte Zeichenkodierung durch den ZX Spectrum-Zeichensatz ersetzt , der eine Ableitung von ASCII ist und Kleinbuchstaben und mehr enthält.

Zeichensatz

ZX81 Zeichensatz
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EIN _B _C _D _E _F
0_
0
SP
0020
ZXSpectrum82.svg
2598
ZXSpectrum81.svg
259D
ZXSpectrum83.svg
2580
ZXSpectrum88.svg
2596
ZXSpectrum8a.svg
258C
ZXSpectrum89.svg
259E
ZXSpectrum8b.svg
259B
ZX80-Zeichen 0x09, ZX81-Zeichen 0x08.png
2592
ZX80-Zeichen 0x0A, ZX81-Zeichen 0x09.png
1FB8F
ZX80-Zeichen 0x0B, ZX81-Zeichen 0x0A.png
1FB8E
"
0022
£
00A3
$
0024
:
003A
?
003F
1_
16
(
0028
)
0029
>
003E
<
003C
=
003D
+
002B
-
002D
*
002A
/
002F
;;
003B
,
002C
.
002E
0
0030
1
0031
2
0032
3
0033
2_
32
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
3_
48
K
004B
L
004C
M
004D
N
004E
O
004F
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
4_
64
RND
 
inkey $
 
PI
 
5_
80
6_
96
7_
112
OBEN
 
NIEDER
 
LINKS
 
RECHT
 
Grafik
 
BEARBEITEN
 
Neue Zeile
 
ausradieren
 
K / L-
Modus

Funktion
 
Nummer
 
Mauszeiger
 
8_
128
ZXSpectrum8f.svg
2588
ZXSpectrum8d.svg
259F
ZXSpectrum8e.svg
2599
ZXSpectrum8c.svg
2584
ZXSpectrum87.svg
259C
ZXSpectrum85.svg
2590
ZXSpectrum86.svg
259A
ZXSpectrum84.svg
2597
ZX80-Zeichen 0x89, ZX81-Zeichen 0x88.png
1FB90
ZX80-Zeichen 0x8A, ZX81-Zeichen 0x89.png
1FB91
ZX80-Zeichen 0x8B, ZX81-Zeichen 0x8A.png
1FB92
""
 
£
 
$
 
::
 
?
 
9_
144
((
 
)
 
>
 
<
 
=
 
+
 
- -
 
* *
 
/.
 
;;
 
,
 
.
 
0
 
1
 
2
 
3
 
A_
160
4
 
5
 
6
 
7
 
8
 
9
 
EIN
 
B.
 
C.
 
D.
 
E.
 
F.
 
G
 
H.
 
ich
 
J.
 
B_
176
K.
 
L.
 
M.
 
N.
 
Ö
 
P.
 
Q.
 
R.
 
S.
 
T.
 
U.
 
V.
 
W.
 
X.
 
Y.
 
Z.
 
C_
192
""
 
BEIM
 
TAB
 
CODE
 
VAL
 
LEN
 
SÜNDE
 
COS
 
BRÄUNEN
 
ASN
 
ACS
 
ATN
 
LN
 
EXP
 
INT
 
D_
208
SQR
 
SGN
 
Abs
 
SPÄHEN
 
USR
 
STR $
 
CHR $
 
NICHT
 
** **.
 
ODER
 
UND
 
<=
 
> =
 
<>
 
DANN
 
ZU
 
E_
224
SCHRITT
 
lprint
 
llist
 
HALT
 
SCHLEPPEND
 
SCHNELL
 
NEU
 
scrollen
 
CONT
 
DIM
 
REM
 
ZUM
 
GEHE ZU
 
Gosub
 
Eingang
 
BELASTUNG
 
F_
240
LISTE
 
LASSEN
 
Pause
 
NÄCHSTER
 
SACK
 
drucken
 
HANDLUNG
 
LAUF
 
SPAREN
 
RAND
 
WENN
 
CLS
 
Unplot
 
klar
 
Rückkehr
 
KOPIEREN
 

   Brief    Nummer    Interpunktion    Symbol    Andere    Nicht definiert

Siehe auch

Anmerkungen

Verweise