Sinclair ZX Spectrum | |
---|---|
Originální Sinclair ZX Spectrum 48K (1982) | |
Základní informace | |
Vývojář | Sinclair Research |
Výrobce | Sinclair Research |
Typ | domácí počítač |
Generace | 8bitový |
Datum uvedení | 23. dubna 1982[1] |
Cena | 125 £ (16KB) 175 £ (48KB)[2] |
Ukončení produkce | 1992[3] |
Prodáno kusů | 5,5 mil. a 5 mil.[4] |
Specifikace | |
Operační systém | Sinclair BASIC |
Procesor | Z80 (nebo ekvivalent), 3,5 MHz |
Paměť | 16 KB / 48 KB / 128 KB (IEC:KiB) |
Úložiště | audiokazeta v kazetovém magnetofonu, ZX Microdrive, disketa 3" u Spectra +3 |
Displej | PAL VF modulátor pro televizor, 256 x 192 pixelů, 15 barev |
Grafický procesor | ULA |
Zvuk | piezoelektrický měnič |
Posloupnost | |
Předchůdce | ZX81 |
Nástupce | QL |
Některá data mohou pocházet z datové položky. |
Sinclair ZX Spectrum, mezi fanoušky označovaný Speccy, byl 8bitový domácí počítač od roku 1982 vyráběný ve Velké Británii jako nástupce počítače ZX81 firmou Sinclair Research, kterou založil Clive Sinclair. Model ZX Spectrum se dočkal několika vylepšených nástupců a také kompatibilních počítačů jiných výrobců nazývaných klony počítače Sinclair ZX Spectrum, například v Československu Didaktik.
Počítač ZX Spectrum patřil vedle Commodore 64 a Atari k prvním domácím počítačům dostupným pro běžné uživatele, kteří je využívali především ke vzdělávání, např. učení programování, a hraní počítačových her. Jako monitor se obvykle používal běžný televizor a pro ukládání dat nejčastěji kazetový magnetofon.
Hardware počítače byl velmi jednoduchý, proto se jeho cena na britském trhu dostala pod 100 liber, což byl naprostý hit. Hardware počítače navrhl Richard Altwasser ze Sinclair Research a vnější vzhled počítače byl dílem Sinclairova designéra Ricka Dickinsona.
Konstrukce obsahovala poměrně málo integrovaných obvodů:
Zvuk byl zajištěn pomocí integrovaného bzučáku (beeper), který produkoval jednokanálový zvuk o rozsahu 10 oktáv pomocí příkazu Basicu. Programátoři her většinou nepoužívali ovládání zvuku z Basicu, ale pomocí přímého přístupu k portu, kde jedním bitem bylo možné reproduktor ovládat. Spectrum také mělo konektor pro rozšíření sběrnice (expansion bus connector). Programy a data bylo možné ukládat a číst pomocí magnetofonu připojeného na linkový vstup/výstup nebo prostřednictvím až osmi jednotek ZX Microdrive (což byly miniaturní kazety se smyčkou magnetofonové pásky), připojených na Interface 1.
Klávesnice ZX Spectra je popsána klíčovými slovy BASICu pro snazší psaní příkazů; tedy např. stisk klávesy „G“ napsalo BASICový příkaz GO TO
. Práce s klávesnicí byla poměrně nezvyklá, každá klávesa má – dle aktuálního umístění kurzoru – více významů, např. jedno nebo dvě klíčová slova, malé i velké písmeno, speciální znak apod., přepínatelné pomocí shiftů.
Počítač neobsahoval samostatný grafický čip, informace, co se má zobrazovat na monitoru, byly uloženy ve vyhrazené části paměti zvané Video RAM. Obvod ULA je kódoval na videosignál, který byl pomocí TV modulátoru převáděn na televizní signál připojitelný anténním konektorem k televizoru.
Specialitou ZX Spectra je oddělení grafické a barevné složky obrazu. Rozlišení obrazu je 256×192 bodů, kde každému pixelu odpovídá jeden bit v 6144 bajtech grafické videopaměti. Obraz byl dále rozdělen na 32×24 polí o rozměru 8×8 pixelů, každému poli byl přiřazen jeden „atribut“, jeden bajt z dalších 756 bajtů videopaměti. Atribut určoval jednu z 8 barev pro popředí (ink) a pro pozadí (paper), stupeň jasu (normální či jasný) a blikání (převracení barvy popředí a pozadí). Atributy byly přizpůsobeny zobrazování znaků znakové sady ZX Spectra stejných rozměrů ve stejném rastru a díky své úspornosti šetřil nároky na paměť.[5] Tento systém umožňující použití jen dvou barev uvnitř atributu však vedl k efektu zvanému „kolize atributů“ a k bizarním projevům při animaci ve hrách. Grafikům se však tento problém podařilo často až zázračně obejít. Systém zobrazení barev je výrazným znakem ZX Spectra a byl často i terčem vtípků od zastánců jiných platforem. Ostatní počítače téže doby (např. Amstrad CPC) tímto problémem netrpěly. Commodore 64 používal barevné atributy také, ale pro animaci používal hardwarové sprity (sprite), což kolizi atributů zabránilo.
Software počítače byl napsán Stevem Vickersem ze společnosti Nine Tiles Ltd., autorů Sinclair BASICu, který počítač obsahuje ve své paměti ROM. Počítače verze ZX Spectrum 48K a ZX Spectrum 48K+ umožňovaly zápis příkazů pouze jedinou klávesou. Protože příkazů bylo více, než kláves a také bylo nutné psát i běžné znaky, pracovala klávesnice v několika módech (K – klíčová slova, L – malá písmena, C – velká písmena, G – grafika, E – rozšířený mód, který umožňoval psát další příkazy a speciální znaky). Při psaní programu byla obrazovka tvořena dvěma částmi. V horní části byl zobrazen program a bylo možné zde vybírat řádek pro editaci. Ve spodní části se prováděl zápis nového řádku nebo editace vybraného řádku programu. Pro přenesení vybraného řádku do spodní části bylo nutné stisknout klávesu EDIT (případně klávesy Symbol Shift + 1). Pokud nový řádek obsahoval číslo řádku, byl zařazen do programu, pokud neobsahoval číslo řádku, příkazy se po odeslání řádku vykonaly. Čísla řádků mohla nabývat hodnot 1 až 9999. Ovšem pomocí modifikace uloženého programu pomocí příkazu POKE bylo možné vytvořit i řádek s číslem 0 (takovýto řádek nebylo možné editovat) nebo s číslem vyšším než 9999 (v čísle řádku se pak objevovala i písmena a symboly, ale nešlo o šestnáctkovou soustavu). Dokonce bylo možné takto vytvořit i programy s několika řádky, které měly shodné číslo. Takovéto úpravy byly prováděny za účelem ztížení zkoumání a modifikace programů (Např. jedna z verzí hry Bomb Jack měla ve svojí zaváděcí Basicové části třikrát řádek s číslem 0).
Analyzátor správnosti zapsaného příkazu kontroloval správnost zápisu už při odeslání napsaného řádku. Pokud byla nalezena syntaktická chyba, byl zobrazen blikající otazník v místě, kde byl chybný zápis předpokládán (například nedostatečný nebo nadměrný počet parametrů příkazu, chybějící klíčové slovo nebo znak, nezdvojené uvozovky uvnitř řetězce a podobně). Chybně zapsané příkazy se tedy v programu nemohly při jeho vykonávání objevit. Přístup upozornění na chybu zápisu místo pouhého akceptování zapsaného řádku a zjištění chyby až při interpretaci programu byl velmi výhodný pro výuku.
S příchodem počítače ZX Spectrum 128+ přišel i celoobrazovkový editor a nutnost psát příkazy po jednotlivých písmenech. Kurzor se pohyboval přímo v programu, změny v programu bylo možné provádět bez nutnosti daný řádek vybrat. Po stisku klávesy Enter byl změněný řádek odeslán k analýze a známá klíčová slova byla převedena na jejich jednobytové vyjádření. Kvůli kompatibilitě byl Basicový program uložen stejným způsobem jako u počítačů se 48K pamětí. V Basicu počítačů ZX Spectrum 128+ přibyly příkazy PLAY a SPECTRUM, které nahradily grafické znaky pod písmeny 'T' a 'U'. To občas způsobilo chybné zobrazení grafiky v některých programech napsaných v Basicu.
Grafické možnosti Sinclair BASICu nejsou příliš rozsáhlé. Je možné využít grafický znaků znakové sady ZX Spectra a nebo grafických příkazů pro kreslení, kterých ale není mnoho. Kromě základních příkazů PLOT a DRAW obsahuje pouze příkaz CIRCLE. Toto je zčásti vykompenzováno existencí uživatelsky definovatelných grafických znaků ve znakové sadě (tyto znaky jsou nazývány zkratkou UDG – user defined graphics). Tyto znaky nemají svoje předlohy uložené v paměti ROM, ale v paměti RAM, kde je lze libovolně měnit. Po spuštění počítače jsou tyto grafické znaky shodné se znaky 'A' až 'U' (u počítačů ZX Spectrum 128K/+2/+2A/+3 pouze 'A' až 'S'). Po změně jedné ze systémových proměnných je také možné definovat vzhled i standardní části znakové sady, případně definovat znakových sad několik a mezi nimi přepínat. Pomocí jiné systémové proměnné lze stejným způsobem přepínat mezi více znakovými sadami UDG. Možnost změny znakové sady nabízely i jiné počítače, ale žádný z nich neměl tak jednoduchý systém, jako UDG ZX Spectra.[6]
Hudební možnosti také nejsou příliš rozsáhlé. Vestavěný reproduktor počítačů se 48K pamětí lze ovládat pomocí příkazu BEEP, který má dva parametry, výšku generovaného tónu a jeho délku. I přes poměrně omezené zvukové možnosti těchto počítačů vznikaly programy umožňující produkovat až osmikanálovou hudbu (program ZX-7, autor Ján Deák). Počítače se 128K pamětí díky přítomnosti zvukového obvodu umožňovaly generovat z Basicu až tříkanálovou hudbu pomocí příkazu PLAY. Pomocí tohoto příkazu bylo též možné ovládat hudební nástroje připojené pomocí MIDI.
Pro rozšíření možností jazyka Sinclair BASIC vzniklo několik nadstaveb tohoto jazyka, mimo jiné nadstavby Pro-Dos BASIC, Beta BASIC, Laser BASIC a Mega BASIC. Pro-Dos BASIC využíval vestavěný editor ZX Spectra, rozšiřující příkazy začínaly znakem hvězdička a musely být vypsány po písmenech. Naproti tomu Beta BASIC obsahoval vlastní editor, v posledních verzích umožňoval tři způsoby zadávání příkazů: stisknutím jediné klávesy, vypsáním celého příkazu a nebo kombinovaný způsob, kdy pokud se na začátku řádku stisknutím jakékoliv jiné klávesy kromě mezerníku vypsal příkaz jedinou klávesou. Pokud byl stisknut mezerník, bylo nutné příkaz vypsat po jednotlivých písmenech. Beta BASIC existoval i pro počítače ZX Spectrum 128+/+2. Varianta pro počítače ZX Spectrum +2A/+3 byla také plánována, ale uskutečněna nebyla. Z Beta BASICu vychází SAM BASIC počítače SAM Coupé.
Celá éra populárních 8bitových mikropočítačů začala variantou ZX80 vyrobenou v roce 1980. Poté následovala vylepšená varianta ZX81 v roce 1981. Obě verze měly k dispozici pro uživatele 1 kB paměti RAM, prodávaly se však i rozšiřující moduly až do 64 kB.
V roce 1982 byl nástupce počítače ZX81 vyvíjený pod názvy ZX81 Colour (z důvodů nového barevného zobrazování) a ZX82. Ze všech Dickinsonových návrhů vzhledu počítače byly nakonec pouze tři vyrobeny pro konečné posouzení a výběr konečného designu, jeden z těchto návrhů má dlouhý mezerník a dvě klávesy Caps Shift.[7] Pod názvem ZX Spectrum ve vybraném designu s duhovým symbolem odkazujícím na barevné spektrum se počítač vyráběl ve dvou variantách, se 16 kB RAM a se 48 kB RAM. Varianta se 48 kB RAM byla sice dražší, ale i přesto se jich prodalo podstatně více.[8] Počítač měl klávesnici se čtyřiceti tlačítky z gumy a v Československu se pro něj vžilo označení „gumák“. Prodávat se začal 23. dubna 1982.[9][10] Prodával se ve 30 zemích světa a prodávalo se ho 12–15 tisíc kusů týdně.[11] Podle dobových materiálů existovala i Skandinávská verze počítače, jehož znaková sada nejenom že obsahovala písmena å, ä a ö, ale umožňovala tato písmena použít i v názvech proměnných.[12]
V červnu roku 1984 se objevilo v plánech ZX Spectrum+ a bylo nabízeno od října téhož roku. Tato varianta se hardwarově téměř nelišila od předchozí. Jedinou, ale hodně viditelnou změnou byla krabice a klávesnice, která tentokrát byla tvořena z 58 plastových kláves. Navíc přibylo i tlačítko reset po levé straně počítače. Toto 48KB Spectrum se prodávalo 2× více než jeho předchůdce s gumovou klávesnicí; nicméně někteří prodejci hlásili poměrně vysokou závadnost. Omezené množství tohoto modelu se prodávalo později v ČSSR v běžné obchodní síti pod označením Delta, na přístroji bylo odstraněno logo Sinclair Research a překryto štítkem s logem Delta, také bylo označení počítače odstraněno z výrobního štítku a obalů.
Třetí z roku 1986 se vzhledem od předchozí na první pohled příliš nelišila – pouze na pravou stranu počítače přibyl chladič. Ovšem co se týče samotného počítače, tak se dá říci, že se jednalo o druhou revoluci. Paměť ROM byla zvětšena z 16 kB na 32 kB a nyní obsahovala vylepšený editor. Paměť RAM byla zvětšena na 128 kB. Paměť obrazu, která je umístěna v operační paměti, mohla být přepnuta na dvě místa, což umožňovalo vytvářet zajímavé grafické efekty. Zvukový výstup byl vylepšen monofonně zapojeným tříkanálovým zvukovým generátorem AY-3-8912, který navíc obsahoval i jeden osmibitový port, který byl použit na dva sériové porty, s tím že jeden je určen pro MIDI a druhý pro připojení keypadu (pomocné klávesnice), jenž obsahoval 19 kláves. Tento model byl považován za jakýsi standard a většina předchozích typů byla upravována tak, aby se mu co nejvíce přiblížila – přidáváním paměti a připojováním zvukových rozhraní s obvodem AY-3-891x (v ČR byl asi nejvíce rozšířen zvukový interface Didaktik Melodik).
Čtvrtou variantou také z roku 1986 byl počítač, který hned na první pohled zaujal integrovaným kazetovým magnetofonem, sloužícím pro načítání a ukládání programů a dat. Dalším rozšířením oproti předchozí variantě jsou porty pro připojení dvou joysticků, které musely být originální od Sinclaira (později AMSTRAD) a měly jinak zapojeny piny klasického konektoru canon 9. Jednalo se vlastně o napojení kláves 1–5 a 6–0 (v programech označován jako Sinclair Joystick) a joysticky tak fungovaly stejně jako joysticky u předcházejících modelů připojované pomocí ZX Interface 2. Poslední změna se týkala klávesnice, která sice má stejný počet kláves jako v předchozím případě, ale zmizel z nich popis klíčových slov používaných v původním editoru, takže bylo v podstatě nevyhnutelné používat nový editor (z verze 128K). Po technické stránce však byla změna klávesnice velice pozitivní.
Pátou variantou byl počítač z roku 1987 na první pohled hodně podobný předchozímu, pouze kazetový magnetofon vystřídala 3″ disketová mechanika. Vzhledem k tomu, že pro její práci bylo třeba upravit ROM, byla opět zvýšena a to rovnou na 64 kB. Zároveň bylo upraveno stránkování paměti RAM tak, aby veškerý adresový rozsah byl obsazen pamětí RAM (tzv. režim allram) a tudíž bylo možné provozovat operační systém CP/M.
Tento počítač však přinesl řadu nekompatibilit s předchozími modely, které sice bylo možné softwarově obejít, ale problémy nastávaly u původních programů a her. Zároveň v původním editoru nefungovaly diskové operace a také úprava programů pro spolupráci s disketami i přes poměrně robustně naprogramovaný systém (byť dost pomalý a s řadou postupně opravovaných chyb) nebyla vůbec snadná. Také se na tomto počítači objevil problém s porty pro připojení joysticků, které si Amstrad upravil tak, že bylo třeba používat jeho joysticky (případně použít redukci, nebo porty přepojit podle standardu). Z paměti ROM byly navíc odstraněny rutiny pro obsluhu keypadu. Některé z nich bylo možné vyvolat po přepnutí do grafického (G) módu klávesnice. Pohodlnější ovšem bylo použití programu keypad, který běžel pod IM2. Konektor, do kterého se keypad u variant 128k+/+2 připojoval u +3 zůstal, byl pojmenován AUX a nebylo ho možné ovládat z BASICu. Počítač obsahuje vestavěný pozdrav. K jeho vyvolání je nutné v editoru napsat příkaz copy randomize a po stisknutí klávesy Enter je nutné současně stisknout klávesy C, J a L.
Šestá a poslední oficiální varianta tohoto počítače vznikla také v roce 1987 a jedná se v podstatě o ZX Spectrum +3, kde je ovšem místo disketové mechaniky zpět kazetový magnetofon. Vzhledem se téměř neliší od počítače ZX Spectrum +2 (dokonce i nápis na počítači zůstal stejný), ale barva se změnila z šedé na černou. Označení A a B rozlišovalo jazykovou verzi ROM (A – anglická, B – španělská). Tento počítač bylo velice jednoduché rozšířit o disketovou mechaniku, neboť již obsahoval operační systém, který s ní uměl pracovat, takže stačilo připojit pouze řadič. Tento počítač byl v ČR (především verze +2B) pro zvýšení kompatibility často upravován výměnou jednoho obvodu ROM za ROM obsaženou v počítači ZX Spectrum 128K. Pozdější verze +2A už uměla využívat konektor AUX z BASICu stejně jako konektor RS-232. Pro přepnutí tisku přes tento port sloužil příkaz FORMAT LPRINT „A“, o kterém se ale manuál nezmiňoval. Kromě toho byla rozšířena tisková syntaxe příkazu COPY o COPY EXP BRIGHT, která před tiskem nastavila jas na celý obraz. Důvodem bylo šetření barvy při tisku obrázků. Také byl rozšířen vestavěný pozdrav. Postup jeho vyvolání zůstal stejný, ale bylo možné ho ovládat pomocí kláves 0 (nula) a P. Opustit ho bylo možné stiskem klávesy Q.
Firma Sinclair Research Ltd. (a později i Amstrad) vyráběla k počítačům ZX Spectrum také svoje periférie.
Jednojehličková tiskárna. Tiskárna tiskla na pohliníkovaný papír, tím způsobem, že v místě, kde se tisklo, se hliník odpařoval. Tiskárna se začala vyrábět dříve, než počítač ZX Spectrum, neboť vznikla jako tiskárna k počítači ZX81.
Tiskárna se připojovala přímo na systémový konektor ZX Spectra. Tiskárnu bylo možné ovládat pomocí tří příkazů: LPRINT, LLIST a COPY.
LPRINT vytiskl zadaný text (ekvivalentní příkaz byl PRINT #3). LLIST vytiskl aktuální program (ekvivalentní příkaz byl LIST #3). Tyto dva příkazy bylo možné použít ve spojení s jakoukoliv tiskárnou, pokud pro ni existoval příslušný ovladač.
COPY vytiskl obsah obrazovky. Tento příkaz funguje pouze se ZX Printerem. V operační paměti má počítač ZX Spectrum vyhrazeno 256 bytů vyrovnávací paměti právě pro tisk pomocí ZX Printeru.
Na počítačích ZX Spectrum 128K+/+2/+2A/+3 a počítačích s nimi kompatibilních je možné ZX Printer použít pouze v režimu 48 BASIC. V režimu 128 BASIC nebo +3 BASIC jsou totiž do oblasti vyrovnávací paměti pro ZX Printer umístěny další systémové proměnné těchto počítačů. Příkaz COPY pak bylo možné využít pro tisk aktuálního obsahu obrazovky na tiskárně připojené pomocí sériového nebo paralelního portu těchto počítačů.
Vyrobený k ZX Spectru a ZX Spectru+, nicméně fungoval i se ZX Spectry 128K/+2. V počítačích ZX Spectrum +2A/+3 již podporován nebyl, neboť Amstrad na něj (stejně jako na ZX Microdrive) neměl koupenou licenci. Interface obsahoval řadič pro ZX Microdrive, port RS-232 a síť ZX Net. Interface měl vlastní paměť ROM o velikosti 8 kB a stejně tak velkou paměť RAM. V případě potřeby se tyto paměti připojovaly místo původní ROM ZX Spectra. Tato paměť obsahovala ovládací rutiny, analyzátor rozšířené syntaxe a další chybová hlášení (viz Rozšířená syntaxe Sinclair BASICu). Existovaly dva příkazy, které nebyly v manuálu k zařízení zmíněny, a to CLS # a CLEAR #. Připojením ZX Interface 1 přibyly v paměti ZX Spectra další systémové proměnné, následkem čehož se posunul i začátek umístění programu v Basicu. Někteří programátoři umísťovali do Basicu i strojový kód (obvykle jako poznámku za příkaz REM). Pokud spouštění takto umístěného strojového kódu probíhalo pomocí fixně zadané adresy, program se zhroutil, neboť na místě předpokládaného strojového kódu byly po připojení ZX Interface 1 právě ony nové systémové proměnné. Aby vše fungovalo správně, měla být v takovém případě použita pro spuštění adresa odvozená ze systémové proměnné, ve které byl uložen právě začátek uložení programu v Basicu. Samozřejmě, aby vše fungovalo, nesměly se v takto umístěném strojovém kódu vyskytovat skoky s pevnou adresou, které odkazovaly na jinou část tohoto kódu.
Rozhraní pro připojení dvou joysticků a paměťové karty. Joysticky byly připojeny paralelně ke klávesnici. Joystick označený jako Sinclair joystick 1 ovládal klávesy 1, 2, 3, 4 a 5 a Sinclair joystick 2 ovládal klávesy 6, 7, 8, 9 a 0. Paměťová karta byla vlastně paměť ROM, ze které byl zaveden program po resetování počítače. Pro její ovládání tedy neexistovaly příkazy. Na paměťových kartách bylo vydáno jenom 10 her.
Protože paměťová karta nahrazovala původní ROM počítače, její velikost mohla být nejvýše 16 kB. Zvolené řešení trvalého odpojení paměti ROM počítače v případě připojení paměťové karty omezovalo převod programů, které využívaly podprogramy z původní ROM. Tyto podprogramy pak musely být obsaženy i na paměťové kartě. Některé programy využívající více podprogramů z původní paměti ROM pak nebylo možné na paměťovou kartu převést a to i přesto, že samotný program neměl větší velikost než 16 kB.
Paměťové médium, které mělo nahradit magnetofon. Bylo tvořeno nekonečnou páskou, která měla kapacitu 85 kB. ZX Microdrive bylo značně poruchové a navíc docházelo ke slepkám pásky. Zařízení se k počítači připojovalo pomocí ZX Interface 1 a současně bylo možné mít připojeno až 8 mechanik. Mechaniky Microdrive byly použity jako paměťové médium i u počítače Sinclair QL, ale díky zvýšené kapacitě nebyl záznam na Microdrive počítačem Sinclair QL kompatibilní se záznamem na Microdrive ZX Spectrem.
Joysticky vzhledově navržené k ZX Spectru +2. Umožňovaly pohyb ve 4 směrech a měly jediné tlačítko fire. Joysticky existovaly ve dvou barevných variantách, v černé a šedé.
Proti SJS-1 měly menší základní část a nebylo na nich vylisováno logo Sinclair (logo bylo pouze na obalu). Na základní části joysticku bylo druhé tlačítko, spojené s tlačítkem na vrcholu joysticku paralelně. Vyráběly se v černé barvě, tlačítka byla červená.
Světelná pistole. Bylo jí možné použít asi v 6 hrách. Pistole existovala ve dvou provedeních, pro počítače se 48kB pamětí, kde se připojovala do konektoru pro kazetový magnetofon, a pro počítače se 128kB pamětí, kde se připojovala pomocí konektoru Keypad, resp. AUX.
Přídavná numerická klávesnice k počítačů ZX Spectrum 128K+ a ZX Spectrum +2. Tato klávesnice kromě rychlejšího psaní čísel umožňovala v režimu 128 Basic i rychlejší editaci Basicového programu, neboť pomocí této klávesnice bylo možné provádět např. skok za následující nebo předcházející slovo. Ovládací rutinky byly umístěny v ROM počítačů, obsahující 48 Basic, takže pro vkládání čísel ji bylo možné použít i v režimu 48 Basic. V počítačích ZX Spectrum +2A/+3 byly ovládací rutinky Keypadu odstraněny, nicméně její editační funkce v +3 Basicu zůstaly a některé z nich bylo možné vyvolat v grafickém módu.
Kromě Sinclair Research doplňky k těmto počítačům nabízeli i další výrobci. Zejména se jednalo o kazetové magnetofony, interface pro joysticky, joysticky, disketové jednotky, tiskové interfacy a další.[13] Toto zboží např. vyráběly firmy Cheetah a Kempston.
Někteří výrobci pojmenovávali své výrobky tak, aby jejich názvy byly podobné názvům výrobků Sinclair Research. Občas tak došlo k situaci, kdy dva různé výrobky byly pojmenovány podobně. Existoval například ZX Interface III, který sloužil k převodu programů z kazet na microdrive, a ZX Interface 3, což byl interface pro připojení tiskáren.
Díky způsobu adresování periférií zavedeným Clivem Sinclairem, kdy periférie nedekóduje celou adresu portu, ale pouze jeden adresní bit nižšího bytu adresové sběrnice (přičemž vyšší byte adresy může periférie využít libovolně), není možné připojit více než 8 periférií. Protože bity A0-A4 jsou obsazeny Sinclairovými perifériemi, zůstávají pro volné použití pouze bity A5-A7.[14] Mnoho periférií tak ke svojí činnosti používá totožné porty, takže je není možné provozovat současně. Aby se tomuto předešlo alespoň u nových periférií, vznikl ZXI standard, který vyžaduje dekódování všech 16 bitů adresové sběrnice a nutnost požádat o přidělení požadované adresy.[15] V Rusku byl pro řešení kolizí více připojených periferií navržen osmikanálový dekodér portů využívající bity A7, A4 a A3 adresové sběrnice.[16][p 1]
Kromě vestavěné disketové jednotky v počítačích ZX Spectrum +3 ani Sinclair Research ani Amstrad nevyráběly disketové jednotky pro počítače ZX Spectrum. Veškeré existující disketové jednotky pro tyto počítače byly vyráběny ostatními výrobci. Prvními disketovými jednotkami byly Viscount disk drive a Byte Drive 500.[17] Vzniklo okolo 40 vzájemně nekompatibilních disketových jednotek.
Pro počítače ZX Spectrum vznikla také zařízení pro digitalizaci obrazu Videoface a Vidi-ZX.[18]
Sinclair nezamýšlel ZX Spectrum jako herní počítač, takže mezi vyráběnými perifériemi nejsou joysticky, ty byly až do koupi Sinclairovi počítačové divize Amstradem vyráběny pouze jinými výrobci. Vzniklo tak mnoho druhů joysticků. Kromě joysticků připojovaných počítači elektricky pomocí interfacu připojeného na systémový konektor, vznikly i joysticky, které se nasadily na počítač a pohyb páky joysticku převáděly mechanicky na stisk klávesy.[19] Mezi tyto joysticky patří např. Spectrum Mechanical Joystick[p 2] a Spectrum-Stick. Druhý jmenovaný kromě vlastního joysticku obsahuje i tlačítka, která překrývá.[20]
Protože mnoho her může být ovládáno pouze z klávesnice, vznikaly také programovatelné joysticky. Tyto joysticky byly svojí logikou připojeny paralelně ke klávesnici a bylo u nich možné naprogramovat (buď pomocí drátových propojek nebo programově) "stisk" kterých kláves má joystick při pohybu nebo stisku tlačítka vyvolat. Stejně jako neprogramovatelné joysticky měly i programovatelné joysticky možnost nastavení pouze jedné akce, protože měly pouze jedno tlačítko, případně více tlačítek připojených vzájemně paralelně. Výjimkou byl Cambridge Intelligent Joystick, který měl dvě nezávislá tlačítka a mohl tak vyvolat dvě různé akce.
Protože zvukové možnosti samotného ZX Spectra jsou omezené, vznikly k němu interface rozšiřující zvukové možnosti. Po vzniku ZX Spectra 128K+ vznikaly hudební zařízení obsahující obvod AY-3-8912 zapojený stejně jako u ZX Spectra 128K+, např. Melodik. Obvod AY-3-8912 byl ale k ZX Spectru připojován i před vznikem ZX Spectra 128K+, obsahoval ho např. Fuller Box a ZXM Soundbox. V Rusku vzniklo zapojení obvodu kompatibilní se ZX Spectrem 128K+, které bylo rozšířeno o druhý obvod AY a nazváno Turbo Sound, a druhé méně rozšířené zapojení se dvěma obvody AY nazvané Kvadro.
K ZX Spectru byly připojovány hlasové generátory, např. hra Lunar Jetman využívá hlasový generátor Currah μspeech. Hlasový generátor je obsažen i v rozšířené verzi interface Fuller Box Fuller Box Master Unit. Pro vylepšení generování zvuků bicích vzniklo zařízení Cheetah Specdrum.
Pro přehrávání samplované hudby, byly k ZX Spectru připojovány různé typy D/A převodníků, v Česku se rozšířilo připojení tříkanálového D/A převodníku připojeného pomocí obvodu 8255, v Rusku existuje jednokanálový Covox a čtyřkanálový Soundrive. Jelikož přehrávání samplovaných zvuků je pro procesor ZX Spectra časově náročné a v době jejího přehrávání tak procesor nemůže provádět téměř žádnou další akci, vzniklo zařízení pro podporu přehrávání samplované hudby General Sound, které tuto přehrává nezávisle na procesoru ZX Spectra. Podobným zařízením, které umožňuje přehrávat hudbu nezávisle na procesoru ZX Spectra, ale určené pro přehrávání hudby pro hudební generátor SID je zařízení SID-Blaster/ZX.
S rozšířením pevných disků a paměťových karet a postupným upadáváním disket vzniklo zařízení DivIDE. Zařízení vzniklo na základě ZX IDE Interface[21] a přidalo svojí vlastní paměť, do které je možné nahrát zvolený firmware. K dispozici je několik firmwarů/systémů, které umožňují číst soubory pro emulátory z HDD (CF, SD, …), emulovat D80 nebo +D. Mezi tyto systémy patří FATware, který umožňuje používat média se souborovým systémem FAT16, a DEMFIR, který umožňuje číst soubory uložené na CD-ROM nebo v souborech .iso, jejichž datová struktura odpovídá ISO 9660.[22] Paměť DivIDE je typu EEPROM, zapisovatelná přímo ze ZX Spectra, a RAM.[23] Na IDE konektor Divide lze připojit běžné IDE periferie, s pomocí redukce je možné připojit CF kartu. Autorem Divide je Pavel Cimbál, ve světě ZX Spectrá známý pod přezdívkou Zilog, publikováno je pod GNU licencí.
Spectranet je ethernetová karta pro ZX Spectrum.[24] Karta podporuje protokoly TCP, UDP, ICMP a DHCP, je také možné přistupovat přímo na protokol IP a protokol Ethernet.[25]
SpeccyBoot je také ethernetová karta, ovšem určená výhradně k nahrávání a spouštění souborů .z80 prostřednictvím protokolu TFTP.[26]
Velmi nízká cena přinesla počítači obrovský obchodní úspěch, i přes nemalé chyby jak v hardwaru tak v softwaru. Prodával se vcelku i jako počítačová stavebnice, což cenu dále snižovalo.
Díky masovému rozšíření začínalo mnoho tehdejších začínajících programátorů a počítačových nadšenců právě na tomto počítači, podobně jak na laciných počítačích Atari či Commodore 64.
Pro tento počítač vzniklo velké množství populárních her, mnohdy ve vysoké kvalitě s neotřelými nápady, takže i moderní počítačové hry pro PC těží z odkazu ZX Spectra. Ještě v roce 2012 pro ZX Spectrum vzniklo více než 100 her.[27] Zejména ve východní Evropě se rozvinula silná demo scéna, známá od roku 1985.
V Československu byl i přes obtížnou dostupnost počítač Sinclair ZX Spectrum velmi populární. Začínal na něm i František Fuka, který vyrobil pod jménem Fuxoft několik her a programů.
Slovenský podnik Didaktik Skalica již od roku 1986 vyráběl počítače Didaktik, které zpočátku byly vylepšenou variantou počítače PMD 85, ale v roce 1987 začal vyrábět počítač Didaktik Gama, který byl programově kompatibilní s počítačem ZX Spectrum. Do roku 1990 vzniklo několik verzí počítačů Didaktik Gama, opravujících postupně chyby v ROM, týkajících se zejména obsluhy paměťové stránky 32 kB, díky které měly tyto počítače kapacitu RAM 80 kB, namísto původních 48 kB u originálního ZX Spectra. Jednotlivé verze lze rozeznat podle barvy šasi a copyrightové hlášky v ROM. Verze '87 a '88 byly černé, později se upustilo od červeného zvýraznění loga Didaktik a následně došlo k postupnému přechodu na světle šedou barvu počítače u modelu 1989. Změny se dotkly i vnitřního uspořádání součástek, konektory FRB byly nahrazeny přímou sběrnicí, ROM opatřena tučným písmem, atd. Klesla i poruchovost, která byla u prvních modelů značná. V roce 1990 byl s bombastickou reklamou nahrazen počítačem Didaktik M, který disponoval už jen původními 48 kB RAM, měl novou klávesnici s vyšším zdvihem (ale v konečném důsledku méně kvalitní, než u Didaktiku Gama), zmizel zabudovaný interface s obvodem 8255 a naopak přibyly porty pro joysticky typu Kempston a Sinclair. Původní originální obvod ULA, nacházející se rovněž v původních Spectrech, nahradil čip PLA sovětské provenience, který způsobil mírnou nekompatibilitu s původním ZX Spectrem, projevujícím se v rychlosti počítače a přinesl typický čtvercový obraz. Později vznikl počítač Didaktik Kompakt, vycházející z Didaktiku M, který v sobě integroval 3,5″ disketovou jednotku D80 pro DD diskety s kapacitou 720 kB.
V časopise Amatérské radio vyšla svého času konstrukce ekvivalentního počítače pod názvem Mistrum, která obvod ULA nahrazovala mnoha součástkami TTL.
Počítače Sinclair ZX Spectrum podporovala také česká firma Proxima – Software, později přejmenovaná na Proxima – software nové dimenze v. o. s. Vyvíjela vlastní programy, například textový procesor Desktop, a distribuovala cizí software. Kromě toho vydávala odborné publikace (Assembler a ZX Spectrum ve dvou dílech roku 1992 a Rutiny ROM D40 roku 1993) a časopisy. V letech 1992[28]–1994[29] byla vydavatelem časopisu ZX Magazín pro uživatele počítačů Sinclair ZX Spectrum, Didaktik, Delta a Sam Coupé; jeho vydávání poté převzal Heptau. V roce 1995 firma začala vydávat časopis Proxima Magazín pro uživatele počítačů ZX Spectrum, Didaktik a PC, který vycházel nejspíše až do roku 1998.[30]
Především Spectrum 48K/48K+ byly různě upravovány. Jednalo se o rozšíření paměti, obvykle tak, aby paměť RAM mohla být adresována už od adresy 0000. Nejvíce rozšířené byly úpravy podle Pavla Trollera a podle Jiřího Lamače. Úprava podle Trollera rozšiřovala paměť o 32 kB a stránkování paměti probíhalo pomocí portu 255. Na tento port nebylo nutné posílat specifickou hodnotu, jakákoliv hodnota provedla přestránkování buď na režim klasického Spectra (ROM + videoram na adresách od 0 do 32767) nebo na režim, kdy je celá paměť tvořena pamětí RAM. Zapojení provádělo přepnutí režimu o jednu instrukci později, takže bylo možné přecházet mezi přepínanými částmi paměti bez použití dodatečného programového kódu, který by byl umístěný v trvale připojené paměti. Některý hardware, používající vlastní paměť ROM ne vždy s touto úpravou správně fungoval (docházelo ke kolizím na sběrnici). Úprava podle Lamače rozšiřovala paměť na 80, 272 nebo až 528 kB (poté, co se zvýšily ceny pamětí RAM, bylo publikováno nové schéma umožňující další varianty velikosti rozšířené paměti a sice 112, 144 a 304 a 336 kB)[31] a její stránkování probíhalo pomocí portu 253 (nebylo kompatibilní se stránkováním Specter 128). Rozšířená paměť se dělila na stránky o velikosti 32 kB. Po odeslání hodnoty na port 253 se do paměťového rozsahu 0 až 32767 připojila stránka rozšířené paměti určená právě touto hodnotou, případně byla připojena původní ROM + videoram Spectra.
U obou těchto rozšíření existovala ještě zapojení umožňující nahradit paměť ROM pamětí RAM se zakázatelným zápisem, a do této paměti pak nahrát obsah ROM (existuje několik upravených pamětí ROM např. ISO ROM nebo LEC ROM). K rozšíření podle Lamače navíc existovalo zapojení, které umožňovalo používat dvě videopaměti, podobně jako tomu bylo u Spectra 128. Návod na rozšíření podle Lamače vyšel v Amatérském rádiu. Srovnání obou variant je zveřejněno v časopise ZX Magazín 1/96.
Dále existovala úprava podle Imricha Konkola, která přidávala 32kB a přepínání paměti probíhalo na portu 253, kde hodnota odeslaná na tento port určovala konfiguraci přidané paměti.[32] Úprava umožňovala nahradit paměť v rozsahu 0 až 32767 pamětí RAM. Navíc ale umožňovala odpojení pouze paměti ROM a místo ní do paměťového rozsahu 0 až 16383 připojit zvolenou polovinu přidané paměti. Do této přidané paměti nebylo možné zakázat zápis. Význam jednotlivých bitů portu 253 byl zvolen tak, aby přepnutí do režimu připojení 32kB stránky bylo provedené pomocí stejné hodnoty jako u úpravy podle Lamače.
Mezi složitější patřilo rozšíření paměti podle Juříka, které umožňovalo připojit 32kB stránky rozšířené paměti do paměťového rozsahu 16384 až 49151.[33] Aby bylo možné na takto upraveném počítači provozovat operační systém CP/M, zapojení umožňovalo připojit stránku č. 0 do paměťového rozsahu 0 až 32767.
Při využití počítače v průmyslových podmínkách byla základní deska počítače umístěna do robustnějšího obalu a doplněna potřebnými porty.[34]
V Rusku vzniklo mnoho variant počítače Sinclair ZX Spectrum. Mezi prvními se objevily Moskva v roce 1988, v roce 1989 pak Moskva 128 a Leningrad 1.[35] V 90. letech se různé varianty ZX Spectra začaly vyrábět průmyslově, mezi jinými Delta-S, Rejd, Kvorum, Hobbit, hardwarově nejlépe vybavený Profi či ATM Turbo a Scorpion ZS-256, který má vysokou míru kompatibility s původním ZX Spectrem.[35] Mezi oblíbené ruské varianty ZX Spectra patří:[36]
Existuje také několik projektů, které převádějí veškerý hardware ZX Spectra do moderních obvodů typu FPGA.[42][43]
V roce 2014 vznikla myšlenka vzniku ZX Spectra jako bluetoothové klávesnice pro IOS, Android a Windows Phone.[44][45]