Některá zařízení, především diskové systémy, které se připojují k počítačům Sinclair ZX Spectrum přidávají pomocí svojí vlastní paměti ROM nové varianty stávajících příkazů. Zřejmě jako první toto umožnil Sinclairův vlastní výrobek ZX Interface 1. ZX Interface 1 patří mezi zařízení, která mají při běžné činnosti počítače svojí paměť odpojenou a její připojování a odpojování řídí hardware zařízení podle adresy aktuálně vykonávané instrukce. Dále existují zařízení, která původní Sinclairovu ROM v počítači vůbec nepoužívají a trvale ji odpojí, neboť obsahují její variantu s potřebnými úpravami a přepínání mezi pamětí s interpretem jazyka Sinclair BASIC a pamětí s ovladači zařízení provádějí softwarově pomocí instrukce out. Mezi takovéto zařízení patří řadič MB02 či Delta Disk.http://mts.speccy.cz/info_zxs/infozxs.htm Třetí typ zařízení se ovládá pomocí standardních příkazů, přičemž předcházející příkaz provede jakési přepnutí pro vykonání příkazu na přídavném zařízení. Mezi tato zařízení patří řadič Beta Disk Interface, který používá příkazy typu RANDOMIZE USR xxxxx: REM: SAVE "soubor", nebo Kempston Disc Interface, který používá příkazy typu PRINT #4: CAT: PRINT d,d$.
Pro ZX Spectrum také vznikly alternativní ROM s rozšířenou syntaxí Sinclair BASICu, např. LEC ROM, ISO ROM či BS ROM.
Zařízení spolupracující s původní ROM ZX Interface 1 + ZX Microdrive Zařízení umožňuje připojit jednu až osm mechanik ZX Microdrive, obsahuje sériový port a umožňuje připojit do sítě až 63 počítačů ZX Spectrum se ZX Interface 1 nebo počítačů Sinclair QL.
LOAD *"m";n;nazev$ – nahrání souboru z Microdrive č. n. Příkaz je použitelný ve stejných variantách jako kazetová verze SAVE *"m";n;nazev$ – uložení souboru na Microdrive č. n. Příkaz je použitelný ve stejných variantách jako kazetová verze MERGE *"m";n;nazev$ – připojení souboru z Microdrive č. n ke stávajícímu programu. Příkaz je použitelný ve stejných variantách jako kazetová verze VERIFY *"m";n;nazev$ – ověření souboru z Microdrive č. n. Příkaz je použitelný ve stejných variantách jako kazetová verze CAT n – zobrazení seznamu souborů na Microdrive č. n CAT #m;n – zobrazení seznamu souborů na Microdrive č. n pomocí linky m (např. tisk na tiskárně) FORMAT "m";n;nazev$ – formátování pásky v Microdrive č. n ERASE "m";n;nazev$ – smazání souboru z pásky v Microdrive č. n MOVE "m";n1;nazev1$ TO "m";n2;nazev2$ – kopírování souboru s nazev1$, který je na pásce v Microdrive č. n1, na pásku v Microdrive č. n2 pod názvem nazev2$. Je funkční pouze pro typ CODE.
LOAD *"n";n – nahrání souboru ze sítě od stanice č. n. Příkaz je použitelný ve stejných variantách jako kazetová verze SAVE *"n";n – odeslání souboru do sítě stanici č. n. Příkaz je použitelný ve stejných variantách jako kazetová verze MERGE *"n";n – připojení souboru ze sítě od stanice č. n ke stávajícímu programu. Příkaz je použitelný ve stejných variantách jako kazetová verze VERIFY *"n";n – ověření souboru ze sítě od stanice n. Příkaz je použitelný ve stejných variantách jako kazetová verze FORMAT *"n";n – nastavení čísla stanice místního počítače
LOAD *"b" – nahrání souboru ze sériového portu. Příkaz je použitelný ve stejných variantách jako kazetová verze SAVE *"b" – odeslání souboru přes sériový port. Příkaz je použitelný ve stejných variantách jako kazetová verze MERGE *"b" – připojení souboru ze sériového portu ke stávajícímu programu. Příkaz je použitelný ve stejných variantách jako kazetová verze VERIFY *"b" – ověření souboru ze sériového portu. Příkaz je použitelný ve stejných variantách jako kazetová verze FORMAT "b";baud – nastavení rychlosti přenosu sériového portu pro binární přenos FORMAT "t";baud – nastavení rychlosti přenosu sériového portu pro textový přenos
příkaz MOVE je možné použít pro přenos mezi jakýkoliv zařízením: MOVE "m";n1;nazev$ TO "n";n2 MOVE "n";n TO "t"
je možné použít též variantu s odkazem na číslo linky MOVE "m";n;nazev$ TO #n2
OPEN #m;"m";n;nazev$ – připojení souboru z Microdrive č. n na linku č. m OPEN #m;"n";n – připojení síťové stanice č. n na linku č. m OPEN #m;"b" – připojení sériové portu v binárním režimu na linku č. m OPEN #m;"t" – připojení sériové portu v textovém režimu na linku č. m Tyto rozšířené linky se zavírají příkazem CLOSE #n s klasickou syntaxí. Pozn.: Jako oddělovač mezi číslem linky a označením kanálu je možné použít jak středník (; – OPEN #m;"b"), tak původní čárku (, – OPEN #m,„b“). Pomocí varianty se středníkem ale nelze na linku připojit původní kanály ZX Spectra K, P a S.
U ZX Interface 1 existují i dva příkazy nedokumentované v návodu: CLS # CLEAR #
ZX Spectrum 128K/+2 Počítače ZX Spectrum 128K a ZX Spectrum +2 mají rozšířenou množinu příkazů o příkazy: PLAY, SPECTRUM.
Kromě toho používá příkazy: SAVE !"název souboru" – uložení souboru do ramdisku, LOAD !"název souboru" – nahrání souboru z ramdisku, MERGE !"název souboru" CAT ! – katalog ramdisku, ERASE !"název souboru" – smazání souboru z ramdisku, FORMAT "p",baud – nastavení rychlosti přenosu sériového portu.
Příkazy LOAD !, SAVE ! a MERGE ! jsou použitelné ve stejných variantách jako jejich kazetové verze.
Pro tyto počítače existuje možnost softwarově rozšířit množinu příkazů v režimu BASIC 128. Rozšiřující Spectrum 128 BASIC framework včetně dokumentace vytvořil Paul Farrow.
ZX Spectrum +2A/+3 Počítače ZX Spectrum +2A a ZX Spectrum +3 mají také rozšířenou množinu příkazů o příkazy: PLAY, SPECTRUM.
Navíc používají rozšířené příkazy pro práci s disketovými jednotkami a tiskárnou (d:, d1: a d2: nahrazují písmeno disku, může být a:, b:, m: a t: – m: je ramdisk, t: je kazetový magnetofon):
FORMAT "d:" – formátování diskety (nefunguje s m: a t:), příkazy SAVE, LOAD a MERGE mají stejnou syntaxi jako u kazetové verze. Pro nahrání souboru z konkrétního média je rozšířen název o písmeno disku, např. SAVE "d:název souboru", příkaz VERIFY funguje pouze s magnetofonem, SAVE "d:" – určení výchozí mechaniky pro příkaz SAVE, LOAD "d:" – určení výchozí mechaniky pro příkazy LOAD, MERGE a CAT, CAT – katalog výchozí mechaniky, CAT "d:" – katalog vybrané mechaniky (s výjimkou kazety, pro katalog kazety je nutné vždy zadat CAT "t:"), CAT #n, CAT #n,"d:", CAT EXP – rozšířený katalog, CAT "d:" EXP ERASE "název souboru" – smazání souboru, MOVE "původní název" TO "nový název" – přejmenování souboru (přejmenování funguje pouze v rámci jedné jednotky), MOVE "název souboru" TO "+attr" – nastavení atributu attr, atributy mohou být a, s a p, MOVE "název souboru" TO "-attr" – odebrání atributu attr, COPY "název" TO "název 2" – vytvoření kopie souboru, COPY "d1:název" TO "d2:název 2" – vytvoření kopie souboru na médiu v jiné mechanice, COPY "d1:" TO "d2:" – kopírování celých disků sektor po sektoru, COPY "název souboru" TO SCREEN$ – výpis obsahu souboru na obrazovku, COPY "název souboru" TO LPRINT – výpis obsahu souboru na tiskárnu, COPY "název souboru" TO SPECTRUM FORMAT – vytvoření kopie souboru s přidanou hlavičkou, tak, aby byl soubor akceptovaný ZX Spectrem.
U příkazů COPY, ERASE a MOVE lze používat i zástupné znaky ? a *.
FORMAT LINE baud – nastavení rychlosti přenosu sériového portu, FORMAT LPRINT "r" – nastavení tisku přes sériovou tiskárnu, FORMAT LPRINT "c" – nastavení tisku přes paralelní tiskárnu, FORMAT LPRINT "a" – nastavení tisku přes sériovou tiskárnu připojenou přes konektor AUX (pouze ROM verze 4.1), FORMAT LPRINT "u" – klíčová slova ZX Spectra jsou posílána po jednotlivých písmenech, řídicí znaky jsou posílány, FORMAT LPRINT "e" – posílání znakové sady ZX Spectra, klíčová slova jsou posílána jako jeden byte, nejsou posílány řídicí znaky, Příkaz FORMAT LPRINT akceptuje i dva parametry, kdy první z nich musí být určení výstupu a druhý určuje, jak se má zacházet s klíčovými slovy a řídicími znaky, např. FORMAT LPRINT "r";"u" COPY – vytisknutí černobílé kopie obrazovky, atributy jsou ignorovány, COPY EXP – vytisknutí kopie obrazovky, barvy jsou nahrazeny ditheringem, COPY EXP INVERSE – vytisknutí kopie obrazovky, barvy jsou inverzně nahrazeny ditheringem (čím tmavší barva, tím světlejší dithering), COPY EXP BRIGHT – vytisknutí kopie obrazovky, pro šetření barvy je všem atributům na obrazovce nastaven zvýšený jas (BRIGHT 1) (pouze ROM verze 4.1),
Opus Discovery Zařízení obsahuje 3,5" disketovou mechaniku, paralelní port a port pro joystick. Novější varianty obsahují dvě disketové mechaniky. Čísly 1 a 3 je označena první disketová mechanika, čísly 2 a 4 je označena druhá disketová mechanika a číslem 5 je označen ramdisk. Rozšířená syntaxe tohoto zařízení vychází z rozšířené syntaxe ZX Interface 1. U verze pro počítače ZX Spectrum 128 byl přidán druhý ramdisk označený číslem 6.
FORMAT "m";1;"nazev_diskety" – formátování diskety FORMAT 1;"nazev_diskety" – formátování diskety FORMAT 5;"nazev_ramdisku" – formátování ramdisku FORMAT "j",zapnuto – pokud zapnuto = 1, je možné joystick číst na portu 31, pokud zapnuto = 0, jostick není možné číst.
CAT 1 – katalog diskety CAT #m;n – katalog diskety v mechanice n zobrazený pomocí linky m
SAVE *"m";1;"nazev" – uložení souboru na disketu SAVE *"m";1;"nazev" SCREEN$ – uložení obsahu obrazovky na disketu SAVE *"m";1;"nazev" DATA pole() – uložení datového pole na disketu SAVE *"m";1;"nazev" CODE adresa,delka – uložení části paměti na disketu SAVE *"m";1;"nazev" LINE n – uložení programu tak, aby se opětném nahrání příkazem LOAD * sám spustil Je možné použít též variantu SAVE *1;"nazev" a to se všemi dalšími rozšířeními LOAD *"m";1;"nazev" – nahrání souboru z diskety LOAD *"m";1;"nazev" SCREEN$ – nahrání obsahu obrazovky z disketu LOAD *"m";1;"nazev" DATA pole() – nahrání uloženého datového pole do počítače. Prostor pro toto pole musí již existovat. LOAD *"m";1;"nazev" CODE – nahrání části paměti z diskety na původní adresu LOAD *"m";1;"nazev" CODE adresa – nahrání části paměti z diskety na definovanou adresu LOAD *"m";1;"nazev" CODE adresa,delka – nahrání části paměti z diskety na definovanou adresu a v maximálně definované délce. Pokud je soubor delší, je zobrazeno chybové hlášení. VERIFY *"m";1;"nazev" – ověření souboru na disketě VERIFY *"m";1;"nazev" SCREEN$ – na rozdíl od kazetové verze nevypisuje do obrazovky názvy souborů, takže k ověření dojde MERGE *"m";1;"nazev" – přihrání programu z diskety k programu, který už je v paměti počítače. Dojde k jejich sloučení. RUN – nahraje samospustitelný program s názvem run a spustí ho
SAVE *"b" – odeslání programu pomocí paralelního portu LOAD *"b" – nahrání programu z paralelního portu VERIRY *"b" – ověření programu z paralelního portu
CLS # – smaže obrazovku a nastaví její atributy na jejich výchozí hodnoty
OPEN #m,"m";1;"nazev" OUT – připojení výstupního souboru na linku m OPEN #m,"m";1;"nazev" IN – připojení vstupního souboru na linku m OPEN #m,"m";1;"nazev" OUT n – připojení výstupního souboru na linku m. Maximální velikost výstupního souboru je n bytů. OPEN #m,"m";1;"nazev" EXP – připojení výstupního souboru na linku m. Nová data jsou připojována k existujícímu souboru. OPEN #m,"m";1;"nazev" EXP n – připojení výstupního souboru na linku m. Nová data jsou připojována k existujícímu souboru. Nejvýše může být připojeno n nových bytů. OPEN #m;"m";1;"nazev" RND n1,n2 – vytvoří soubor pro náhodný přístup, který bude obsahovat n2 záznamů, každý o délce n1 bytů. Pokud nechceme počet záznamů omezovat, je nutné stanovit n2 = -1 (OPEN #m;"m";1;"nazev" RND n1,-1) OPEN #m;"m";1;"nazev" RND n1 – otevření existujícího souboru s náhodným přístupem pro vstup (délka záznamu je n1) POINT #m;n – nastaví ukazatel náhodného souboru připojeného na linku m na záznam n. OPEN #m;"t" – připojení tiskárny připojené pomocí paralelního portu zařízení na linku m v textovém režimu OPEN #m,"b" IN – připojení paralelního portu v binárním režimu jako vstupního kanálu na linku m OPEN #m;"#";n IN – přesměruje vstup na linku m vstup z linky n