Znaková sada ZX Spectrum
Počítač Sinclair ZX Spectrum používá speciální znakovou sadu, která je modifikovaná varianta ASCII z roku 1967 a s jedním znakem ASCII z roku 1963, dva znaky na nestandardním umístění, dále využívá speciálním způsobem řídící znaky a znaky s nejvyšším bit nad rámec standardního 7bitového rozsahu ASCII.
ZX Spectrum používá vlastní sadu řídících příkazů, jako INK a PAPER pro ovládání barvy popředí a pozadí. Jediná podobnost s ASCII je znak „kurzor vlevo“ s kódem 0x08 (v ASCII je to backspace) a „ENTER“ s kódem 0x0D (v ASCII carriage return), který vyvolá i následné odřádkování. „Kurzor dolů“ 0x0A (v ASCII line feed) se může simulovat vypsáním 32 mezer v režimu OVER 1 a „kurzor nahoru“ 0x0B (v ASCII vertical tabulation) se může simulovat 32 znaky backspace. Systémová ROM obsahuje chybu, která způsobuje, že nefunguje „kurzor doprava“ 0x09 (v ASCII horizontal tabulation).
Rozsahy 0x00–0x05, 0x07, 0x0A–0x0C, 0x0E, 0x0F a 0x17–0x1F nejsou definované. Sada tisknutelných znaků v rozsahu 0x20–0x7F je většinou standardní ASCII, výjimku tvoří kód 0x60, který obsahuje znak pro britskou librou šterlinků (£) namísto diakritického znaménka grave ( ` ), a kód 0x7F obsahuje znak copyright (©) namísto řídícího znaku DEL. Znak libry má kód 0x60 namísto kódu 0x23, který je standardní v britské variantě ASCII (ISO-646-GB), takže je možné používat zároveň znaky pro libru i pro číslo (#). Kód 0x5E obsahuje šipku nahoru (↑), stejně jako v ASCII-1963 a na rozdíl od ASCII-1967, ve které byl znak stříšky caret (^), ale zachoval si znak podtržítko s kódem 0x5F namísto šipky vlevo.
Nad kódem 0x7F používá ZX Spectrum sadu s nastaveným nejvyšším bitem s kódy 0x80–0xFF speciálně pro své potřeby. Znaky 0x80–0x8F obsahují blokovou grafiku. Znaky 0x90–0xA4 obsahují znaky User Defined Graphics (UDG), které může uživatel změnit i jednoduchými příkazy z BASICu. Kódy 0xA5–0xFF obsahují klíčová slova BASICu zakódovaná jako slovo uložené v jednom znaku, například zmáčknutí tlačítka P na začátku řádku generuje kód 0xF6, který zobrazí příkaz PRINT z BASICu. Kódy 0xC7–0xC9 obsahují relační matematické operátory <= (menší nebo rovno), >= (větší nebo rovno) a <> (nerovno), na rozdíl od relačních operátorů v ostatních systémech se jedná o samostatné znaky a není možné je zapsat dvěma znaky za sebou.
Mapovat znakovou sadu Spectra na Unicode je sice možné, ale běžně nainstalované fonty neobsahují znaky pro blokovou grafiku.
Tisknutelné znaky od kódu 32 (mezera) do kódu 127 (copyright) jsou uloženy na konci paměti ROM na adresách 15616 (0x3D00) – 16383 (0x3FFF) a odkazuje na ně systémová proměnná CHARS na paměťové adrese 23606/7. Hodnota uložená v CHARS je ale o 256 nižší než první byte znaku mezera, takže výchozí hodnota adresy CHARS je 15360 (0x3C00).
Znaky UDG (Gr-A až Gr-U) se ukládají na konec paměti RAM na adresách 65368 (0xFF58) – 65535 (0xFFFF). Ukládání hodnot na tyto adresy příkazem POKE má okamžitý efekt na podobu grafických znaků. Klíčové slovo USR přistupuje k těmto znakům přímo z jazyka Sinclair BASIC. Podobně jako tisknutelné znaky, adresa znaků UDG je uložena v systémové proměnné UDG.
Počítače TK 90X a TK 95 umožňují editovat znaky UDG pomocí příkazu UDG, který mají tyto počítače navíc proti ZX Spectru.[1]
Znaková sada
Znaková sada počítače ZX Spectrum
|
|
0x PRINT |
0x INKEY$ |
1x |
2x |
3x |
4x |
5x |
6x |
7x |
8x |
9x |
Ax |
Bx |
Cx |
Dx |
Ex |
Fx
|
x0
|
|
|
INK |
|
0 |
@ |
P |
£ |
p |
|
(A) |
(Q) |
VAL |
USR |
FORMAT |
LPRINT |
LIST
|
x1
|
|
|
PAPER |
! |
1 |
A |
Q |
a |
q |
|
(B) |
(R) |
LEN |
STR$ |
MOVE |
LLIST |
LET
|
x2
|
|
|
FLASH |
" |
2 |
B |
R |
b |
r |
|
(C) |
(S) |
SIN |
CHR$ |
ERASE |
STOP |
PAUSE
|
x3
|
|
|
BRIGHT |
# |
3 |
C |
S |
c |
s |
|
(D) |
(T)1 |
COS |
NOT |
OPEN # |
READ |
NEXT
|
x4
|
|
true video |
INVERSE |
$ |
4 |
D |
T |
d |
t |
|
(E) |
(U)2 |
TAN |
BIN |
CLOSE # |
DATA |
POKE
|
x5
|
|
inv video |
OVER |
% |
5 |
E |
U |
e |
u |
|
(F) |
RND |
ASN |
OR |
MERGE |
RESTORE |
PRINT
|
x6
|
čárka |
caps lock |
AT |
& |
6 |
F |
V |
f |
v |
|
(G) |
INKEY$ |
ACS |
AND |
VERIFY |
NEW |
PLOT
|
x7
|
|
edit |
TAB |
' |
7 |
G |
W |
g |
w |
|
(H) |
PI |
ATN |
<= |
BEEP |
BORDER |
RUN
|
x8
|
vlevo |
vlevo |
|
( |
8 |
H |
X |
h |
x |
|
(I) |
FN |
LN |
>= |
CIRCLE |
CONTINUE |
SAVE
|
x9
|
vpravo |
vpravo |
|
) |
9 |
I |
Y |
i |
y |
|
(J) |
POINT |
EXP |
<> |
INK |
DIM |
RANDOMIZE
|
xA
|
|
dolů |
|
* |
: |
J |
Z |
j |
z |
|
(K) |
SCREEN$ |
INT |
LINE |
PAPER |
REM |
IF
|
xB
|
|
nahoru |
|
+ |
; |
K |
[ |
k |
{ |
|
(L) |
ATTR |
SQR |
THEN |
FLASH |
FOR |
CLS
|
xC
|
|
delete |
|
, |
< |
L |
\ |
l |
| |
|
(M) |
AT |
SGN |
TO |
BRIGHT |
GO TO |
DRAW
|
xD
|
enter |
enter |
|
- |
= |
M |
] |
m |
} |
|
(N) |
TAB |
ABS |
STEP |
INVERSE |
GO SUB |
CLEAR
|
xE
|
označení čísla |
extended mode |
|
. |
> |
N |
↑ |
n |
~ |
|
(O) |
VAL$ |
PEEK |
DEF FN |
OVER |
INPUT |
RETURN
|
xF
|
|
graphics mode |
|
/ |
? |
O |
_ |
o |
© |
|
(P) |
CODE |
IN |
CAT |
OUT |
LOAD |
COPY
|
- (x) znaky User Definable Graphics UDG
- 1 příkaz SPECTRUM ve verzi 128K BASIC
- 2 příkaz PLAY ve verzi 128K BASIC
Reference
Související články
Externí odkazy
V tomto článku byl použit překlad textu z článku ZX Spectrum character set na anglické Wikipedii.
Sinclair ZX Spectrum a kompatibilní počítače a další počítače Sinclair | | Sinclair ZX Spectrum (Sinclair Research a Amstrad) | | | Další počítače Sinclair Research a Amstrad | | | Počítače Timex Sinclair |
TS1000, TS1500, TS2068, TS2048, TC2068, TC2048 (prototypy: TS2000, TS2016, TS2048, TS2068, TS2072, TC3256) Přestože některé z prototypovýchh počítačů mají stejné názvy jako sériově vyráběné počítače, nejedná se o stejné počítače. | | Periférie Sinclair Research a Amstrad | | | Periférie Timex Sinclair |
kazetový magnetofon TS2020, tiskárna TS2040, modem TS2050, rozbočovač sběrnice TS2060, varianta ZX Microdrive TS2065, tiskárna TS2080, joystick TS2090, digitální kazetový magnetofon TC2010, tiskárna TC2080, Timex FDD, FDD3000, Interface RS-232, klávesnice TT3000, Joystick-Sound Unit | | Počítače a periférie Didaktik | | | Kompatibilní počítače |
ATM Turbo, Delta-S, Delta-S 128, Dubna 48K, Hobbit, Inves Spectrum+, Kay, Kvorum, Orel BK-08, Pentagon, Pentagon 1024SL, Robik, SAM Coupé, Scorpion ZS-256, Sprinter, TK 90X, TK 95, ZX Evolution, ZX Next, ZX Spectrum Next, ZX Spectrum SE | | Nadstavby Sinclair BASICu | | | Hardware |
| | | Integrované obvody | | | Porty procesoru | |
| | Disketové řadiče a páskové jednotky |
A&J Microdrive, Beta Disk Interface, Byte Drive 500, CS-Disk, Delta Disk, Disciple, +D, FD-68, Kempston Disc Interface, Larken Disk System, MB02, Oliger 2068 Floppy Disk Interface, Opus Discovery, Swiftdisc II, Thurnall Disk System, Triton QD, Viscount disk drive, Wafadrive, ZX Diskface Plus, ZX Diskface Quick | | Joysticky a myši (podle způsobu připojení) | | | Klony počítače Sinclair ZX Spectrum, MK14, Cambridge Z88, Timex Sinclair 3068 Znaková sada ZX Spectrum, Nahrávací rutina ZX Spectra, ROM počítačů ZX Spectrum, Systémové proměnné počítačů ZX Spectrum, IM2, Emulátor počítače ZX Spectrum |
|
|