Systémové proměnné počítačů Sinclair ZX Spectrum jsou místa v paměti tohoto počítače, která ovlivňují chování jeho základního programového vybavení v jeho paměti ROM. V paměti počítače jsou umístěny od adresy 23552 po adresu 23733. Pokud je k počítači připojen ZX Interface 1, jsou vytvořeny další systémové proměnné v oblasti od adresy 23734 po adresu 23791.Organizacja pamięci ZX Spectrum 48/+ na spectrum.8bit.pl, cit. 2014-03-30 Tyto systémové proměnné jsou vytvořeny až při vložení příkazu pro ZX Interface 1 nebo při pokusu o vložení řádku se syntaktickou chybou. Počítače ZX Spectrum 128K/+2/+2A/+3 mají další systémové proměnné umístěné v oblasti tiskové vyrovnávací paměti tiskárny ZX Printer (tyto počítače v režimu 128 Basic, resp. +3 Basic ZX Printer nevyužívají).
Systém ZX Spectra využívá jako ukazatel na systémové proměnné registr IY (obsahuje vždy hodnotu 23610 desítkově, 5C3A šestnáctkově, ukazuje tedy přímo na systémovou proměnnou ERRNR), jeho hodnotu je nutné zachovat při využívání některých podprogramů v ROM a při využívání přerušení v módu IM1. Dvoubytové systémové proměnné jsou uloženy ve tvaru nejdříve nejméně významný bajt a po něm nejvíce významný bajt.
Systémové proměnné disketových jednotek Didaktik 40 a Didaktik 80 jsou umístěny v jejich vlastní paměti RAM od adresy 14336 po adresu 16383.
Přehled systémových proměnných název adresa velikost význam KSTATE 23552 5C00 8 dočasné hodnoty při vyhodnocování stisknuté klávesy LAST_K 23560 5C08 1 kód poslední stisknuté klávesy REPDEL 23561 5C09 1 doba stisku klávesy po jejíž uplynutí bude držení klávesy vyhodnoceno jako opakovaný stisk (v padesátinách sekundy) REPPER 23562 5C0A 1 pauza mezi jednotlivými vyhodnoceními opakovaného stisknutí klávesy při jejím držení (v padesátinách sekundy) DEFADD 23563 5C0B 2 adresa argumentu uživatelem definované funkce DEF FN při vyhodnocování této funkce. Pokud není vyhodnocována uživatelem definovaná funkce, tato systémová proměnná obsahuje nulu. K_DATA 23565 5C0D 1 informace o barvách vložených jako řídicí znaky z klávesnice TVDATA 23565 5C0E 1 informace o barvách a pozicování AT a TAB při tisku na obrazovku STRMS 23568 5C10 38 adresy kanálů připojených na jednotlivé linky CHARS 23606 5C36 2 adresa definice znakové sady od mezery po znak ©. Adresa ale ukazuje na znak s kódem nula (v případě standardního ASCII by se jednalo o znak NULL), proto do systémové proměnné musí být uložena hodnota o 256 menší, než je skutečný začátek definice znakové sady. RASP 23608 5C38 1 délka zvuku varovného bzučáku PIP 23609 5C39 1 délka pípnutí po stisku klávesy ERRNR 23610 5C3A 1 číslo chybového hlášení zmenšené o 1 (takže chybovému hlášení 0 OK odpovídá hodnota -1, tj. 255) FLAGS 23611 5C3B 1 různé příznaky pro práci Basicu, blíže nespecifikovatelné TVFLAG 23612 5C3C 1 příznaky využívané při tisku na obrazovku ERR_SP 23613 5C3D 2 adresa adresy, na kterou se skočí v případě výskytu chybového hlášení (rst 08) LIST_SP 23615 5C3F 2 adresa adresy, na kterou se skočí po ukončení výpisu programu. Obvykle je hodnota této systémové proměnné shodná s hodnotou ERR_SP. MODE 23617 5C41 1 určuje režim kurzoru při editaci řádku a při vkládání dat příkazu INPUT. Hodnoty 0, 1, 2 a 4 nastaví režim L/C, E, G a K. NEWPPC 23618 5C42 2 číslo řádku, na který skočí příkaz GO TO nebo GO SUB NSPPC 23620 5C44 1 pořadí příkazu v rámci řádku, na který se skočí. Nastavením této systémové proměnné lze simulovat příkaz GO TO na daný příkaz v řádku PPC 23621 5C45 2 číslo právě vykonávaného řádku SUBPPC 23623 5C47 1 pořadí právě vykonávaného příkazu v rámci řádku BORDCR 23624 5C48 1 barva okraje (borderu) a editační části obrazovky E_PPC 23625 5C49 2 číslo řádku s programovým kurzorem (řádek, který je přesunut do editační oblasti při stisku klávesy EDIT) VARS 23627 5C4B 2 adresa začátku oblasti, ve které jsou uloženy hodnoty proměnných Basicu DEST 23629 5C4D 2 adresa právě používané proměnné CHANS 23631 5C4F 2 adresa informací o kanálech CURCHL 23633 5C51 2 adresa kanálu, který je právě otevřen PROG 23635 5C53 2 adresa začátku oblasti paměti, ve které je uložen Basicový program NXTLIN 23637 5C55 2 adresa dalšího řádku v programu DATADD 23639 5C57 2 adresa konce naposledy čtené položky u příkazu DATA E_LINE 23641 5C59 2 adresa právě zapisovaného příkazu K_CUR 23643 5C5B 2 adresa kurzoru CH_ADD 23645 5C5D 2 adresa následujícího znaku, který se bude interpretovat X_PTR 23647 5C5F 2 adresa výskytu syntaktické chyby WORKSP 23649 5C61 2 adresa dočasného pracovního prostoru STKBOT 23651 5C63 2 adresa začátku zásobníku kalkulátoru STKEND 23653 5C65 2 adresa vrcholu zásobníku kalkulátoru, začátek volného místa BREG 23655 5C67 1 registr B kalkulátoru MEM 23656 5C68 2 adresa oblasti používané kalkulátorem, obvykle adresa oblasti MEMBOT, ale ne vždy FLAGS2 23658 5C6A 1 další příznaky používané při práci Basicu. Bit 3 této systémové proměnné určuje, zda je zapnutý caps lock. DF_SZ 23659 5C6B 1 počet řádků v editační části obrazovky. Pokud je počet řádků nastavený na 0 a mělo by dojít k obvyklému využití této části, např. pro výpis chybového hlášení, systém ZX Spectra se zhroutí, proto je lepší pro výpis textu v dolní části obrazovky použít PRINT #1. S_TOP 23660 5C6C 2 číslo řádku programu, který je vypsán jako první při automatickém výpisu programu na obrazovku OLDPPC 23662 5C6E 2 číslo řádku, na který skočí příkaz CONTINUE OSPPC 23664 5C70 1 pořadí příkazu, na který skočí příkaz CONTINUE FLAGX 23665 5C71 1 různé příznaky STRLEN 23666 5C72 2 délka právě vyhodnocovaného řetězce T_ADDR 23668 5C74 2 adresa následující položky v syntaktické tabulce SEED 23670 5C76 2 nastavení generátoru náhodných čísel FRAMES 23672 5C78 3 doba od zapnutí počítače (v padesátinách sekundy) UDG 23675 5C7B 2 adresa definice znaků UDG COORDS 23677 5C7D 1 souřadnice x posledního nakresleného bodu 23678 5C7E 1 souřadnice y posledního nakresleného bodu P_POSN 23679 5C7F 1 číslo sloupce v tiskové vyrovnávací paměti PRCC 23680 5C80 2 adresa v tiskovém bufferu, na kterou se zapíše další znak při tisku na tiskárně. Vyšší bajt na adrese 23681, obsahuje vždy hodnotu 91 (desítkově). Tato systémová proměnná není používána u ZX Specter 128K+/+2/+2A/+3 v režimu 128 Basic, resp. +3 Basic. Někdy je vyšší byte této systémové proměnné uváděn jako samostatná nepojmenovaná systémová proměnná. ECHO_E 23682 5C82 2 adresa posledního znaku ve vyrovnávací paměti při vkládání dat (při editaci programu nebo při příkazu INPUT) DF_CC 23684 5C84 2 adresa ve videoram odpovídající aktuální tiskové pozici DF_CCL 23686 5C86 2 adresa ve videoram odpovídající aktuální tiskové pozici v editační části obrazovky S_POSN 23688 5C88 1 číslo sloupce aktuální tiskové pozice 23689 5C89 1 číslo řádku aktuální tiskové pozice SPOSNL 23690 5C8A 1 číslo sloupce aktuální tiskové pozice v editační části obrazovky 23691 5C8B 1 číslo řádku aktuální tiskové pozice v editační části obrazovky SCR_CT 23692 5C8C 1 počet řádků, po jejichž vytisknutí na obrazovku se objeví otázka scroll? ATTR_P 23693 5C8D 1 aktuálně nastavené barvy, flash a bright MASK_P 23694 5C8E 1 určuje, které barevné vlastnosti mají být zachovány na tiskových pozicích při novém výpisu do těchto pozic (určeno příkazy INK 8, PAPER 8, BRIGHT 8 A FLASH 8) ATTR_T 23695 5C8F 1 dočasně nastavené barvy, flash a bright (jak jsou specifikovány v aktuálním příkazu PRINT nebo INPUT, pokud specifikovány nejsou, přebírají se hodnoty z ATTR_P) MASK_T 23696 5C90 1 jako MASK_P, ale pro aktuální příkaz PRINT nebo INPUT (viz ATTR_T) P_FLAG 23697 5C91 1 další příznaky pro tisk na obrazovku, systémová proměnná je ovlivňována příkazy INK 9, PAPER 9, OVER a INVERSE MEMBOT 23698 5C92 30 pracovní prostor kalkulátoru NMIADD 23728 5CB0 2 adresa rutiny obsluhující NMI. U ZX Specter 48K/48K+/128K+/+2 je v ROM chyba, takže pokud tato systémová proměnná obsahuje 0, provede se reset počítače, jinak neprovede nic. u počítačů ZX Spectrum +2A/+3 je chyba opravena. Pokud je připojen ZX Interface 1, systémová proměnná je také využívaná pro uložení nastavené šířky při tisku přes RS-232.Sinclair ZX Spectrum computer System Variables na wearmouth.demon.co.uk RAMTOP 23730 5CB2 2 adresa posledního bytu paměti využitelného pro Basic P_RAMT 23732 5CB4 2 adresa posledního fyzicky existujího bytu paměti RAM. Systémovou proměnnou je možné využít pro zjištění, zda program běží na ZX Spectru 16K nebo na ZX Spectru 48K.
Přehled systémových proměnných ZX Interface 1 název adresa velikost význam FLAGS_3 23734 1 příznaky pro činnost ZX Interface 1 VECTOR 23735 2 adresa používaná pro rozšíření interpretu Basicu (normálně je v této systémové proměnné uložena hodnota 01F0) SBRT 23737 10 rutina pro stránkování ROM, využívaná pro spuštění podprogramu v ROM ZX Spectra z ROM ZX Interface 1 BAUD 23747 2 rychlost přenosu sériového portu NTSTAT 23749 1 síťové číslo stanice pro práci v síti ZX Net IOBORD 23750 1 barva okraje při vstupně výstupních operacích SERFL 23751 2 pracovní hodnoty při práci se sériovým portem SECTOR 23753 2 pracovní hodnoty při práci se ZX Microdrive CHADD 23755 2 dočasné uložení hodnoty systémové proměnné CH_ADD NTRESP 23757 1 návratový kód stanice při práci v síti NTDEST 23758 1 síťové číslo cílové stanice (touto systémovou proměnnou začíná síťová vyrovnávací paměť) NTSRCE 23759 1 síťové číslo vysílací stanice NTNUMB 23760 2 číslo bloku posílaného přes síť (0 – 65535) NTTYPE 23762 1 hlavičkový byte NTLEN 23763 1 délka bloku dat posílaného přes síť NTDCS 23764 1 kontrolní součet bloku posílaného přes síť NTHCS 23765 1 kontrolní součet hlavičky bloku D_STR1 23766 2 číslo jednotky ZX Microdrive nebo číslo cílové stanice v síti, nebo určení režimu sériového přenosu (touto systémovou proměnnou začíná 8bytový specifikátor souboru) S_STR1 23768 1 číslo linky (0 – 15) L_STR1 23769 1 typ zařízení (m, n, t nebo b) N_STR1 23770 2 délka názvu souboru T_STR1 23772 2 adresa prvního znaku názvu souboru D_STR2 23774 8 druhý 8bytový specifikátor souboru používaný příkazy MOVE a LOAD (má stejnou strukturu jako první specifikátor) HD_00 23782 1 typ souboru (touto systémovou proměnnou začíná pracovní oblast pro příkazy SAVE, LOAD, VERIFY a MERGE) HD_0B 23783 2 délka datového bloku HD_0D 23785 2 počáteční adresa dat HD_0F 23787 2 délka programu v Basicu (bez společně uložených proměnných) HD_11 23789 2 číslo řádku, od kterého se program v Basicu automaticky spustí (autostart) COPIES 23791 1 počet kopií uložených příkazem SAVE Od adresy 23792 jsou uloženy informace o otevřených kanálech. Informace o každém otevřeném kanálu na ZX Microdrive je velká 595 bytů, informace o každém otevřeném kanálu na síti ZX Net je velká 276 bytů.
Přehled dodatečných systémových proměnných počítačů ZX Spectrum 128K/+2