Sinclair ZX Spectrum

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 
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ů:

 CPU Zilog Z80A na frekvenci 3,5 MHz,
 paměť ROM 16 kB, která obsahovala i jazyk Sinclair BASIC,
 paměť RWM–RAM 16 kB, necelých 7 kB této paměti sloužilo zároveň jako videoRAM,
 u verze 48kB byla osazena paměť 32kB (8 ks levných defektních původně 64kB pamětí),
 čip ULA odpovědný za buzení sběrnice a TV-výstup a zvuk,
 televizní modulátor.

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 GOTO. 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ů.

Grafický systém 

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ěť. 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 

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.

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é.

Varianty počítače 
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.

ZX Spectrum 
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. 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. 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. Prodával se ve 30 zemích světa a prodávalo se ho 12–15 tisíc kusů týdně. 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.

ZX Spectrum+ 

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ů.

ZX Spectrum 128K+ 

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).

ZX Spectrum +2 

Č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). 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í.

ZX Spectrum +3 

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.

ZX Spectrum +2A/+2B 

Š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.

Periférie 
Firma Sinclair Research Ltd. (a později i Amstrad) vyráběla k počítačům ZX Spectrum také svoje periférie.

ZX Printer 

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čů.

ZX Interface I 

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 I 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 I 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.

ZX Interface II 

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.

ZX Microdrive 

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 I 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 Sinclair SJS-1 

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é.

joysticky Sinclair SJS-2 

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á.

Sinclair Magnum Light Phaser 

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.

Keypad 

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.

Periférie jiných výrobců 
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ší. 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. 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. 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.

Disketové jednotky 

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. Vzniklo okolo 40 vzájemně nekompatibilních disketových jednotek.

Digitalizace obrazu 
Pro počítače ZX Spectrum vznikla také zařízení pro digitalizaci obrazu Videoface a Vidi-ZX.

Joysticky 

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. Mezi tyto joysticky patří např. Spectrum Mechanical Joystick a Spectrum-Stick. Druhý jmenovaný kromě vlastního joysticku obsahuje i tlačítka, která překrývá.

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.

Zvuková zařízení 
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.

Moderní periférie

DivIDE 
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 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. Paměť DivIDE je typu EEPROM, zapisovatelná přímo ze ZX Spectra, a RAM. 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 
Spectranet je ethernetová karta pro ZX Spectrum. Karta podporuje protokoly TCP, UDP, ICMP a DHCP, je také možné přistupovat přímo na protokol IP a protokol Ethernet.

Speccyboot 
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.

Obchodní úspěch 
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. Zejména ve východní Evropě se rozvinula silná demo scéna, známá od roku 1985.

Úpravy

Československá odnož 

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–1994 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.

Domácí úpravy 

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) 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. Ú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. 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.

Ruské klony 

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. 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. Mezi oblíbené ruské varianty ZX Spectra patří:

 ATM – obsahuje 1024 kB RAM, 128 kB ROM, Z80 s frekvencí 7 MHz, tři grafické a jeden textový režim
 Baltika – ne zcela kompatibilní se ZX Spectrem
 Delta-S 128 – konektory pro joysticky Sinclair a Kempston, neobsahuje hudební čip AY
 Elara Disk 128 – konektory pro joysticky Sinclair a Kempston, zabudovaný interface Lprint III, RAM může být 128 až 512 kB
 Hobbit – 64 kB RAM, 64 kB ROM, 2 videoram
 Kay 3SL Turbo Korvet – původní verze měly 256 kB RAM, poslední verze 1024 kB RAM
 Kvorum
 Kvorum 64 – proti klasickému ZX Spectru má navíc 16 kB paměti připojitelné místo ROM
 Kvorum 128 – proti klasickému ZX Spectru 128 umožňuje připojit stránku č. 0 paměti RAM místo ROM. Umožňuje spuštění operačního systému CP/M. Software v ROM obsahuje paměťový monitor.
 Kvorum 128+ – proti Kvorum 128 má navíc zabudovanou 3,5″ disketovou jednotku
 Leningrad 1
 Leningrad 2
 Moskva 48
 Moskva 128 – kompatibilní se ZX Spectrem 128, chyběl jí čip AY
 Peters 256
 Pentagon 48 – obsahoval řadič disketových jednotek systému Betadisk
 Pentagon 128
 Pentagon 512 – existuje i verze, která má pouze 256 kB paměti (běžně se nepoužívá) a verze která má 1024 kB paměti RAM (díky způsobu připojení paměti větší než 128 na port #7FFD a zvyklostem při psaní programů, které používají stránkování paměti instrukce ld A,stránka; or 64; out (253),A; programy pro ZX Spectrum 128 na těchto Pentagonech nefungují. Programy stránkující paměť pomocí ld A, stránka; ld BC,#7FFD; out(C),A; fungují bez problémů.)
 Scorpion ZS-256, existuje úprava pro 512 kB RAM, poslední verze mají 128, 256 nebo 512 kB ROM (Prof-ROM obsahují spoustu užitečných programů, včetně obslužných programů pro řadič pevného disku systému S.M.U.C.)
 Sprinter – procesor 21 MHz nebo 3,5 MHz, RAM 4096 kB, cache RAM 64 kB, videoRAM 256 kB nebo 512 kB, používá IDE zařízení, obsahuje dva ISA sloty, 5 grafických režimů
 ZX-Next – má dva procesory Z-80 (druhá jako grafický koprocesor), RAM až 512 kB, navíc i grafický režim 640×200 bodů (CGA)
 ZX-Profi – kromě režimů 48k, 128k, má režim CP/M, paměť RAM až 1024 kB, má navíc dva nové grafické režimy

Počítače spojené s historií ZX Spectra 
 ZX80 a ZX81 – předchůdci počítače ZX Spectrum.
 Sinclair QL – měl se stát nástupcem ZX Spectra, s lepším procesorem a výkonným BASICem, ale komerčně se neprosadil, po jeho neúspěchu bylo uvedeno na trh ZX Spectrum+, které bylo Sinclairu QL vzhledově podobné.
 Cambridge Z88 – kapesní počítač vyrobený firmou Cambridge Research poté, co byla firma Sinclair Research koupena firmou Amstrad.
 Sinclair PC 200 – Poslední počítač vyrobený pod značkou Sinclair. Jednalo se o počítač kompatibilní s IBM, na trhu se neuchytil.
 Loki – Plánovaný nástupce ZX Spectra navržený společností Amstrad, nikdy nebyl vyroben.

Následníci ZX Spectra 
 Timex Sinclair 2068 – navržený v USA, svým provedením se snažil konkurovat jiným domácím počítačům, zejména vylepšenou grafikou, zvukovým obvodem a správou pamětí ROM.
 Timex Computer 2048 – následník modelu TS2068, z původních rozšíření mu však zůstala pouze lepší grafika a přidáno bylo rozhraní pro Kempston joystick, tento klon byl oblíbený především v Portugalsku a Polsku.
 SAM Coupé – měl se stát nástupcem počítače ZX Spectrum 48K, nabízel mj. větší paměť, paletu 128 barev a dvě zabudované disketové jednotky 3,5", jeho systém připomínal kombinaci BetaBasicu a diskového systému Disciple, tento koncept vycházel z předpokladu, že majitel Spectra nebude chtít zahodit používaný software a nakoupené hry a proto si raději pořídí Sam Coupé, než nějaký jiný počítač, ale po uvedení na trh na konci osmdesátých let se mu cenově začali rychle přibližovat výkonnější domácí a herní počítače jako např. Amiga a Atari ST.
 ZX Spectrum SE – počítač navržený Andrewem Owenem a Jarkem Adamskim, není možné jej koupit, je k dispozici jako rozšíření počítačů TC2048, TC2068, TS2068 a Unipolbrit UK2086. Také je podporován některými emulátory ZX Spectra.

Existuje také několik projektů, které převádějí veškerý hardware ZX Spectra do moderních obvodů typu FPGA.

V roce 2014 vznikla myšlenka vzniku ZX Spectra jako bluetoothové klávesnice pro IOS, Android a Windows Phone.

Poznámky

Reference

Literatura

Související články 
 Seznam her pro ZX Spectrum
 Supercode
 Znaková sada ZX Spectrum
 ZX80
 ZX81

Externí odkazy

Česky 
 ZX-Spectrum Games – Hry, návody, mapy, pouky... 
 ZX Magazín – Archiv časopisu ZX Magazín.
 Pandora – Konference milovníků, majitelů a přívrženců nejlepšího počítače všech dob.
 ZX Wiki – Wiki zaměřená na ZX Spectrum.
 Speccy.cz – Rozcestník největší České ZX domény.
 ZX Magazín – Stránky zabývající se ZX Spectrem a ZX Magazínem.
 Návody a literatúra pre ZX-Spectrum – Seznam knih a návodů k ZX Spectru
 Elektronické knihy a návody pre ZX-Spectrum – Knihy a návody k ZX Spectru v elektronické verzi
 Jak začít se Spectrem – Několik tipů pro lidi, kteří by si chtěli ZX Spectrum pořídit.
 Počítače Sinclair ZX Spectrum – Popis počítačů ve strukturované formě a jeden nostalgický příběh bývalého majitele ZX Spectra. 
 HW projekty pro ZX Spectrum – úprava a rozšíření ZX Spectra
 Klasiky na ZX Spectrum, aneb Cesta do historie pařanství v Československu
 Spectrum klub
 Archive.Free8bit.net – Archiv volně šiřitelných programů pro různé platformy, mimo jiné i pro ZX Spectrum a Sinclair QL
 Emulators CZ – emulátory ZX Spectra
 Legendární „gumák“ ZX Spectrum slaví 35 let. Tady je jeho příběh – článek na Lupa.cz

Technické popisy na root.cz 
 Popis počítačů Didaktik
 Popis počítačů Didaktik gama, M, Kompakt
 Česká periferní zařízení připojovaná k ZX Spectru – Melodik, BT-100, Merkur Alfi
 České tiskárny a plottery připojované k ZX Spectru – SP210T, Gamacentrum 01, Aritma, XY
 Popis ruských klonů ZX Spectra - Hobbit, Moskva, Pentagon

Anglicky a španělsky 
 World of Spectrum  – Největší archiv softwaru pro ZX Spectrum
 Sinclair Nostalgia Products  – mimo jiné také obsáhlý seznam klonů ZX Spectra.
 Speccy Screenshot Maps  – mapy tvořené spojením jednotlivých herních obrazovek
 ZX Spectrum Reviews Database  - Recenze her z hlavních časopisů zaměřených na Sinclair ZX Spectrum v ASCII
 Emuladores y juegos Spectrum  - hry pro ZX Spectrum v Javovém emulátoru online
 Colección ZX Spectrum de Darkminder  na beta-zero.com - ukázka sbírky počítačů ZX Spectrum a kompatibilních a kazet a disket s programy pro ně. 

 
Domácí počítače