ZX Spectrum

Sinclair ZX Spectrum bol malý domáci počítač, vyrábaný v Spojenom kráľovstve od roku 1982 spoločnosťou Sinclair Research priekopníka Cliva Sinclaira. Využíval procesor Zilog Z80 na frekvencii 3,50 MHz. Spectrum bolo dodávané s 16 kB, alebo 48 kB RAM. Používatelia so 16 KB Spectrom ich mohli poslať poštou do spoločnosti Sinclair Research pre vylepšenie na 48 kB verziu. Návrharom hardvéru bol Richard Altwasser zo Sinclair Research, softvér napísal na zmluvu Steve Vickers zo spoločnosti Nine Tiles Ltd, ktorá dodala aj interpreter jazyku BASIC pre Spectrum. Priemyselný návrhár Rick Dickinson bol zodpovedný za vonkajší vzhľad počítača. Počítač bol pôvodne vyvíjaný ako ZX82, ale neskôr bol premenovaný na „Spectrum“, aby sa zdôraznilo jeho farebné zobrazovanie oproti čierno-bielemu zobrazovaniu jeho predchodcov ZX80 a ZX81.

Opis 
Video výstup bol napojený do televízora a používal sa na zobrazovanie jednoduchej farebnej grafiky. Gumená klávesnica bola popísaná kľúčovými slovami jazyka Sinclair BASIC, takže napríklad stlačenie „G“ v programovacom móde by vložilo BASIC príkaz GO TO. Programy a údaje sa ukladali pomocou bežného kazetového magnetofónu.

Grafické zobrazovanie počítača ZX Spectrum, aj keď nepostačujúce podľa súčasných štandardov, bolo výborné na zobrazovanie na prenosných televízoroch danej doby a nepredstavovalo veľkú prekážku pri vývoji hier. Textový zobrazovací mód mal 32 stĺpcov × 24 riadkov znakov zo Spectrum znakovej sady, s možnosťou výberu z 8 farieb buď v normálnom alebo v svetlom móde, čo dohromady bolo 15 farieb (čierna bola rovnaká v oboch módoch). Grafické rozlíšenie bolo 256×192 s určitými farebnými obmedzeniami.

Spectrum mal zaujímavý spôsob ako manipulovať s farbami. Farebné atribúty boli udržiavané v 32×24 mriežke, nezávisle od textu alebo grafických údajov, ale stále boli obmedzené na dve farby v každej znakovej bunke. Dôsledkom toho bolo bitie farieb alebo bitie atribútov, ktoré sa prejavovalo niektorými bizarnými efektami v hrách akčného štýlu. Tento problém bol osobitnou vlastnosťou Spectra a vtipom v Spectráckej komunite, ale aj výhodou pre zástancov iných systémov. Iné počítače dostupné približne v tom istom čase, ako napríklad Commodore 64 a Atari XE, mali ten istý problém. Na žiadnom 8 bitovom počítači vtedy nebolo možné priradiť osobitnú farbu každému bodu nezávisle od ostatných bodov, ale iba 2 farby z 15 (ZX Spectrum) či 4 zo 16 farieb (Atari a Commodore 64) vo štvorčeku pre znak o veľkosti 8x8 pixelov. Zvlášť bola bitová mapa a zvlášť pamäť atribútov. Na ZX Spectre mala bitová mapa 6144 bajtov (256 x 192) : 8 = 6144. Ďalej bolo 768 bajtov vyhradených atribútom farieb v spomenutých štvorčekoch 8x8 pixelov ktoré boli určené pre jednotlivé znaky či UDG (UDG – user define graphics). Znaky boli na 24 riadkoch po 32 znakov teda 24x32=768 bajtov pamäti pre atribúty. Celkovo bolo pre grafické zobrazenie v ZX Spectre vyhradené 6912 bajtov a grafická pamäť začínala na adrese 16384 hneď za BASIC ROM pamäťou, ktorá bola od adresy 0 po 16383. Každý bajt atribútu mal 3 bity vyhradené na farbu podkladu (PAPER – papier), ďalšie 3 bity na farbu textu (INK – atrament – farba pera či textu) a 1 bit rozhodoval či bude štvorček prisvetlený (Bright 1 či 0) a 1 bit rozhodoval či bude štvorček 8x8 blikať alebo nie (funkcia Basicu Flash 1 či 0). Týchto 8 bitov (1 bajt) v pamäti atribútov určoval aká bude farba podkladu (Paper) a aká bude farba textu (INK) a či bude štvorček 8x8 prisvetlený a či bude alebo nebude blikať text pre 24 riadkoch po 32 znakov (768 bajtov atribútov spolu).

Pre porovnanie rozlíšenia rôznych 8 bitových počítačov:
 256x192 (32x24 znakov) – ZX Spectrum (8 farieb plus prisvetlenie každej farby okrem čiernej – teda spolu 15 farieb)
 320x192 (40x24 znakov) – Atari XE, XL (všetky 8 bitové Atari) (16 farieb z palety 128 farieb)
 320x200 (40x25 znakov) – Commodore 64 (16 farieb ale bez možnosti prisvetlenia či blikania)
 640x200 (80x25 znakov) – Commodore 128 (len 2 farby v rozlíšení 640x200 a 16 farieb v rozlíšení 320x200 teda kompatibilné s C 64)
 640x200 (80x25 znakov) – Amstrad CPC464, CPC664 a CPC6128 (1 bitová grafika – teda 2 farby na pixel)

U všetkých však bolo možno vo štvorčeku vo veľkosti jedného písmena teda 8x8 pixelov zobraziť buď 2 rôzne farby (ZX Spectrum), či v políčku 4x8 zobraziť 4 farby z palety 16tich (Atari a Commodorre 64)

Modely

ZX Spectrum (1982) 

Bolo vydané spoločnosťou Sinclar v roku 1982 a dostupné bolo so 16 kB (£125, neskôr £99) alebo 48 kB (£175, neskôr £129) RAM a 16 kB ROM. Bolo pamätné pre svoju gumovú klávesnicu a maličké rozmery. Majitelia 16kB modelu si mohli kúpiť 32kB RAMpack, ktorý sa pripájal do zadnej rozširujúcej zbernice.
Taktiež bolo k dispozícií rozšírenie pomocou interných 32 kB RAM, ktoré sa skladalo 8 DRAM a pár TTL čipov. Tak ako aj v prípade ZX81, bolo „RAMpack kývanie“ (spôsobené nesprávnym spojením s rozširujúcou zbernicou) kliatbou mnohých používateľov. Spôsobovalo totiž okamžité pády a niekedy vypálenie ULA alebo CPU.

ZX Spectrum+ (1984) 

48K Spectrum dostalo tak veľmi potrebnú pevnú klávesnicu a tlačidlo reset. Predávalo sa za £180. Dostupný bol aj rozširujúci balík pre staršie stroje. Väčšina verných používateľov (programátorov a hráčov) nemala rada novú klávesnicu. Ale nový štýl pomohol Spectru vyzerať menej ako hračka a viac ako počítač.

ZX Spectrum 128K (1986) 
Bolo posledným Spectrom, ktoré bolo vyrábané spoločnosťou Sinclair a bolo založené na modeli ZX Spectrum+. Tento model bol z dôvodu zmluvy so španielskym distribútorom spoločnosti Sinclair firmou Investronica počiatočne vyvíjaný a vydaný v Španielsku. Nové schopnosti pokrývali trojkanálový zvuk vytváraný obvodom AY-3-8912, kompatibilita so štandardom MIDI, 128 KB RAM, RS-232 sériové rozhranie a RGB monitorový výstup.

Model 128K obsahoval druhý 16 KB ROM obvod (Derby ROM), v ktorom bol umiestnený 128K editor a
používal rozširujúcu techniku pre obídenie problémov so 64 KB pamäťovým limitom procesoru Z80.

ZX Spectrum +2 (1986)

Technický popis 

 CPU
 Zilog Z80A CPU, 3,50 MHz (Spectrum 16K, 48K, +) alebo 3.5469 MHz (Spectrum 128K a neskoršie)
 Permanentná pamäť (ROM)
 16 KB ROM (BASIC: Spectrum 48K, +)
 32 KB ROM (BASIC, Editor: Spectrum 128K, +2)
 64 KB ROM (BASIC, Editor, Syntax check, DOS: Spectrum +3, +2A, +2B)
 Pamäť s priamym prístupom (RAM)
 16 KB RAM (Spectrum 16K)
 48 KB RAM (Spectrum 48K, +)
 128 KB RAM (Spectrum 128K, +2, +3, +2A, +2B)
 Zobrazenie
 Text: 32×24 znakov
 Grafika: 256×192 pixelov, 15 farieb (dve farby súčasne zobrazené – „atribúty“ – na 8×8 pixelov, spôsobujúce bitie atribútov)
 Zvuk
 Pípač (1 kanál, 5 oktáv: Spectrum 16K a 48K cez zabudovaný reproduktor, ostatné cez TV)
 AY-3 – 8912 čip (3 kanály, 7 oktáv: Spectrum 128K, +2, +2A, +3)
 Vstup/Výstup
 Z80 vstupno/výstupný zbernica
 Magnetofónový audio vstup/výstup (všetky okrem Spectrum +2)
 RF televízny výstup
 RS-232 vstup/výstup (128K modely)
 MIDI výstup (128K modely)
 RGB monitorový výstup (128K modely)
 Joystikové vstupy, 2 (Spectrum +2, +2A, +3)
 Rozširujúca numerická klávesnica (Spectrum 128K a +2)
 Auxiliary interface (predtým keypad port) (Spectrum +2A, +3)
 Paralelné rozhranie (Spectrum +2, +2A, +3)
 Rozhranie pre druhú disketovú mechaniku (Spectrum +3)
 Ukladanie
 Externý audiokazetový nahrávač
 1 – 8 externé ZX Microdrive jednotky
 Zabudovaný audiokazetový nahrávač (Spectrum +2, +2A)
 Zabudovaná 3" disková jednotka (Spectrum +3)

Softvér 
Rodina počítačov Spectrum mala k dispozícii veľmi veľkú knižnicu softvéru, obsahujúcu viac ako 20,000 titulov. Napriek tomu, že hardvér počítačov Spectrum bol podľa mnohých kritérií nedostatočný, jeho sofvérová knižnica bola veľmi bohatá, pokrývala implementáciu programovacích jazykov (C, Pascal, Prolog, Forth), viacerých assemblerov/disassemblerov (napr. Devpac, ZEUS, Artic Assembler), Sinclair BASIC prekladačov (napr. MCoder, COLT), Sinclair rozšírenia jazyku BASIC (napr. Beta Basic, Mega Basic), databázy (napr. VU-File), textové procesory (napr. Tasword II), tabuľkové procesory (napr. VU-Calc), kresliace a maľovacie nástroje (napr. Art Studio, Artist, Paintbox, Melbourne Draw) a samozrejme veľa, veľa hier.

Niekoľko súčasných špičkových vývojárov hier a vývojárských spoločností začalo svoju kariéru na ZX Spectre, okrem iných sú to Peter Molyneux (bývalý Bullfrog Games), David Perry z Shiny Entertainment, a Ultimate Play The Game (teraz pod názvom Rare, tvorca veľa známych titulov pre Nintendo hernú konzolu). Ďalší významní vývojári hier sú Matthew Smith (Manic Miner, Jet Set Willy), a Jon Ritman (Match Day, Head Over Heels).

Najznámejším Českým programátorom bol František Fuka a jeho Fuxoft. Do jeho portfólia z éry ZX Spectrum patria desiatky hier, hlavolamov, audiosoftware aj pre Commodore Amigu Sam Coupé či PC(AdLib)Fuxoft

Väčšina softvéru pre Spectrum bola pôvodne distribuovaná na audiokazetách. Softvér bol kódovaný ako postupnosť meniacich sa tónov, podobne ako prenos faxového signálu či telefónnych modemov, pomocou kľúčovania frekvenčným posunom. Štandardná rýchlosť bola 1500 baudov (v tomto prípade 1 baud = bit za sekundu), ale bola možná aj vyššia rýchlosť pomocou použitia vlastného programu pre nahrávanie namiesto rutín z pamäti ROM. Zložité nahrávacie programy s nezvyčajnými rýchlosťami alebo kódovaním boli základom ZX schémy pre ochrany proti kopírovaniu, aj keď sa používali aj iné metódy. Tieto zhŕňali aj pýtanie sa na konkrétne slovo z dokumentácie priloženej ku hre (čo bola často novela), alebo zo známeho Lenslok systému. Tento obsahoval množinu plastických hranolov v rozkladacom plastickom držiaku. Myšlienkou systému bolo, že na obrazovke sa objaví skreslené slovo a toto by sa dalo čítať iba pomocou hranolov, ktoré boli držané v pevnej vzdialenosti od obrazovky pomocou plastového držiaka. Tento systém sa príliš spoliehal na to, že všetci používajú rovnako veľkú obrazovku, Lenslok sa stal legendárnym vtipom Spectrum používateľov.

Nahrávanie štandardného programu s veľkosťou 48KB trvalo približne 4,5 minuty: 49152 bajtov * 8 = 393216 bitov; 393216 bitov / 1500 baud = 262,14 sekúnd = 4,36 minút. Skúsení používatelia dokázali určiť typ súboru napr. strojový kód, BASIC program, záznam obrazovky, podľa zvuku nahrávky.

Jedným veľmi zaujímavým druhom softvéru boli kopírovače. Väčšina bola orientovaná na pirátstvo a ich funkciou bolo kopírovanie pások, ale keď Sinclair Research vydala ZX Microdrive (neskôr disketový systém), tak boli vyvinuté kopírovače aj na kopírovanie z audiokazety na microdrive pásky a diskety. Najznámejšie boli LERM kopírovače predávané spoločnosťou Lerm Sotfware, Omni Copy 2 a ďalšie. Časom, ako sa stávali ochrany stále zložitejšími (napr. Speedlock 1-8) bolo už takmer nemožné používať kopírovače na kopírovanie pások, nahrávacie rutiny museli byť prelamované ručne a nechránené verzie programov boli kopírované ďalej. To bolo samozrejme nelegálne, ale v 80. rokoch väčšina krajín južnej a východnej európy nemala autorské zákony pre softvér.

Spectrum bolo zamýšlané tak, aby fungovalo s takmer každým páskovým kazetovým prehrávačom a napriek rozdielom v kvalite zvukovej reprodukcie bol proces nahrávania softvéru dosť spoľahlivý, ale všetci používatelia Spectra poznali a obávali sa správy „R Tape loading error, 0:1“ (slov. „Chyba pri nahrávaní z pásky“).

Typické nastavenia pri nahrávani boli 3/4 hlasitosť, 100% výšky, 0% hĺbky. Zvukové filtre a Dolby redukcia šumu museli byť vypnuté a nebolo odporúčané používať na nahrávanie programov Hi-Fi prehrávač. Niektoré páskové prehrávače boli vyrobené špeciálne pre digitálne použitie, ako napríklad Timex Computer 2010 Tape Recorder.

Okrem pások bol softvér rozširovaný aj pomocou tlačových médií, časopisov pre fanúšikov alebo kníh.
Prevládajúcim jazykom pre rozširovanie dialekt jazyka BASIC pre Spectrum Sinclair BASIC. Čitateľ ručne napísal program do počítača, spustil ho a uložil ho na pásku pre neskoršie použitie. Softvér rozširovaný týmto spôsobom bol vo všeobecnosti jednoduchší, pomalší ako jeho náprotivok v jazyku assembler a chýbala mu grafika, ale zanedlho časopisy tlačili dlhé výpisy hexadecimálnych číslic s kontrolnými súčtami strojového kódu hier a nástrojov.

Okolo tohto softvéru, siahajúceho od programov pre smerovanie satelitných antén až po programy pre plánovanie školského rozvrhu, existovala živá vedecká komunita.

Význačné tituly

Your Sinclair najlepších 10 

Medzi júlom a novembrom 1991 redaktori časopisu Your Sinclair publikovali zoznam 100 hier pre ZX Spectrum, ktoré považovali za najlepšie. Ich najlepších desať bolo:
 3D Deathchase
 Rebelstar
 All or Nothing
 Stop the Express
 Head Over Heels
 R-Type
 The Sentinel
 Rainbow Islands
 Boulder Dash
 Sim city

Crash najlepších 10 
Medzi augustom a decembrom 1991 časopis Crash publikoval ich zoznam najlepších 100 hier pre ZX Spectrum, v najlepších desiatich boli:
 Rainbow Islands
 Chase HQ
 Robocop
 Robocop 2
 Dizzy
 Target: Renegade
 Magicland Dizzy
 Batman - The Movie
 Operation Wolf
 Midnight Resistance

Iné projekty

Externé odkazy 
 World of Spectrum – web prevádzkovaný holandským fanúšikom a oficiálne schválený spoločnosťou Amstrad
 Speccy.cz – český web, venovaný ZX Spectru (+ archív česko-slovenských programov) 
 online emulátory: jsspeccy, Qaop/JS

Domáce počítače
Herné konzoly