Didaktik Gama, Didaktik M a Didaktik Kompakt

20. 4. 2010
Doba čtení: 15 minut

Sdílet

V dnešní části seriálu o architekturách počítačů dokončíme popis domácích osmibitových československých počítačů Didaktik Gama, Didaktik M a Didaktik Kompakt. Popíšeme si především strukturu obrazové paměti těchto počítačů, která vychází z původního ZX Spectra i způsob načítání obrázků třeba z magnetofonu.

Obsah

1. Struktura obrazové paměti počítače Didaktik Gama i jeho následovníků

2. Část obrazové paměti s uloženou bitmapou

3. Atributová paměť, její přednosti a omezení

4. Načítání obrázků z externích zařízení

5. Osmibitový počítač Didaktik M

6. Didaktik Kompakt

7. Obsah následující části seriálu

8. Odkazy na Internetu

1. Struktura obrazové paměti počítače Didaktik Gama i jeho následovníků

V předchozí části tohoto seriálu jsme si mj. řekli, jakým způsobem je uspořádaná paměť oblíbeného domácího osmibitového mikropočítače Didaktik Gama. Připomeňme si, že na rozdíl od původního ZX Spectra 16K nebo ZX Spectra 48K byla velikost nainstalované operační paměti u Didaktiku Gama rovna celým 80 kilobajtům. Operační paměť byla rozdělena na tři bloky. První blok o kapacitě 16 kB, který se z pohledu mikroprocesoru Z80 mapoval na adresy 16384 až 32767, obsahoval především grafickou paměť popsanou v dalším textu, vyrovnávací paměť tiskárny, systémové proměnné a volný blok pro BASICové nebo strojové programy (viz též tabulka umístěná pod tímto odstavcem). Další dva paměťové bloky měly shodnou kapacitu 32 kB a byly střídavě mapovány na adresy 32768 až 65535. Přepínání mezi oběma bloky se provádělo přes nultý bit brány C obvodu 8255, například instrukcemi OUT 127,0 a OUT 127,1 (byly však možné i další způsoby, například zápis bajtu přímo na bránu C).

pc108

Obrázek 1: Sabre Wulf – jedna z úspěšných her firmy Ultimate Play the Game využívající všech vlastností grafického režimu počítačů ZX Spectrum a tím pádem i Didaktiků).

Adresa od Adresa do Délka Význam
0 16383 16384 paměť ROM s BASICem a základním systémem
16384 22527 6144 bitmapa o rozlišení 256×192 pixelů
22528 23295 768 barvové atributy obrazu
23296 23551 256 vyrovnávací paměť tiskárny
23552 23754 203 systémové proměnné
23755 -?- volná RAM pro BASIC i strojové programy
65368 65535 168 oblast s uložením bitmap uživatelských znaků (měnitelná velikost)
pc108

Obrázek 2: Další úspěšná a známá hra firmy Ultimate Play the Game, která je nazvaná Knight Lore, je založena na isometrickém promítání zvaném také 2,5D grafika. Engine pro isometrické promítání firma Ultimate použila i ve svých dalších hrách; jeho funkce byly později s větším či menším úspěchem napodobeny i dalšími programátory.

V dalším textu se budeme zabývat pouze prvním šestnáctikilo­bajtovým blokem operační paměti umístěným na adresách 16384 až 32767, do něhož měl přístup jak mikroprocesor Z80, tak i čip ULA. Z hlediska programátora byla tato část operační paměti „pomalejší“ než zbylých 32 kB, což mj. znamenalo, že se do této oblasti neumisťovaly programové rutiny náročné na přesné časování, například podprogramy pro přehrávání zvuků či práci s magnetofonem. Čip ULA si totiž postupně načítal hodnoty jednotlivých pixelů i příslušné barvové atributy těchto pixelů při generování video signálu, takže v některých okamžicích (při souběžném přístupu obou čipů do tohoto paměťového bloku) byl mikroprocesor pozastavován, aby nebyl přerušen tok dat z paměti na televizor (což by způsobilo vizuální chyby), takže programátor nemohl využívat přesné časování založené na znalosti délky trvání jednotlivých strojových instrukcí.

pc108

Obrázek 3: Hra Elite patřila jak po technické stránce, tak i po stránce herní mezi špičkové tituly. Na počítačích PC vzniklo i její pokračování nazvané Frontier.

2. Část obrazové paměti s uloženou bitmapou

Při pohledu do tabulky uvedené v první kapitole je patrné, že obrazová paměť leží na úplném počátku operační paměti, konkrétně se jedná o rozsah adres 16384 až 23295 (v prvních šestnácti kilobajtech je paměť ROM). Celá obrazová paměť je rozdělena na dvě části – bitmapový obrázek s rozlišením 256×192 pixelů o velikosti 256×192/8=6144 bajtů a maticí atributů s 32×24=768 bajty. Každému pixelu je v bitmapě přiřazen jediný bit rozlišující, zda se jedná o pixel s barvou pozadí (background) či popředí (v názvosloví sira Sinclaira se jedná o takzvaný inkoust – ink). To znamená, že v jednom bajtu jsou uloženy informace o osmi pixelech ležících na jednom obrazovém řádku, podobně jako je tomu například u počítačů PMD-85, počítačů Atari při zapnutí grafického režimu číslo 8 atd. Pixely na každém obrazovém řádku, tvořící blok o délce 32 bajtů (32×8=256), jsou uloženy lineárně za sebou, ovšem jednotlivé obrazové řádky jsou v operační paměti umístěny napřeskáčku.

pc108

Obrázek 4: V úvodní obrazovce hry Exolon se autor úzkostlivě vyhýbal tomu, aby na ní docházelo k překryvu různobarevných objektů, což by mohlo způsobit vznik vizuálních chyb kvůli uspořádání atributové paměti (viz další text).

Šestnáctibitovou adresu posílanou na adresovou sběrnici společnou jak pro mikroprocesor Z80, tak i pro čip ULA, je možné v případě práce s obrazovou pamětí rozdělit na více částí tak, jak je naznačeno v následující tabulce. Každý znak adresy odpovídá jednomu bitu šestnáctibitové adresy. Prefixové bity 010 značí oblast paměti ležící mezi adresami 0100000000000000 až 0101111111111111 v dvojkové soustavě, což odpovídá rozsahu, 16384 až 24575 v soustavě desítkové, tj. prvním osmi kilobajtům operační paměti:

010 BB SSS RRR CCCCC
Bity adresy Význam
010 nejvyšší tři bity adresy mají konstantní hodnotu 010
BB číslo bloku 0, 1, 2 (v posledním bloku číslo 3 je atributová paměť popsaná v následující kapitole)
SSS číslo řádky v jednom znaku, který je vysoký osm obrazových řádků
RRR pozice textového řádku v bloku, tj. pozice obrazového řádku × 8. Každý blok je vysoký 64 obrazových řádků, což odpovídá osmi řádkům textovým
CCCCC index sloupce bajtu v rozmezí 0..31, kde je uložena osmice sousedních pixelů
pc108

Obrázek 5: Úvodní obrazovka známé multiplatformní hry Starquake, která měla neuvěřitelných 512 místností a přitom ji bylo možné hrát i na ZX Spectru s 48 kilobajty operační paměti.

Bitmapa o rozlišení 256×192 pixelů je v obrazové paměti rozdělena na třetiny (bloky), přičemž každá třetina je vybrána pomocí bitů adresy označené v tabulce znaky BB). Každá třetina má rozlišení 256×64 pixelů (tj. osm textových řádků na výšku) a obsazuje 256×64/8=2048 bajtů operační paměti. Obrazové řádky v každém bloku jsou uloženy prokládaně, jak to ostatně naznačilo schéma v tabulce. Konkrétně se jedná o bity označené znaky SSS a RRR, které jsou oproti přirozenému pořadí prohozeny – pokud by měly být všechny řádky v bloku uloženy za sebou, musela by adresa vypadat takto: 010 BB RRR SSS CCCCC. Pořadí uložených řádků v obrazové paměti i jim odpovídající adresa je následující (BB je opět číslo bloku a CCCCC pětice nejnižších bitů, pomocí nichž je adresují jednotlivé osmice pixelů na každém obrazovém řádku):

Číslo řádku v bloku Adresa zapsaná binárně
0 010 BB 000 000 CCCCC
8 010 BB 000 001 CCCCC
16 010 BB 000 010 CCCCC
24 010 BB 000 011 CCCCC
32 010 BB 000 100 CCCCC
40 010 BB 000 101 CCCCC
48 010 BB 000 110 CCCCC
56 010 BB 000 111 CCCCC
1 010 BB 001 000 CCCCC
9 010 BB 001 001 CCCCC
17 010 BB 001 010 CCCCC
25 010 BB 001 011 CCCCC
33 010 BB 001 100 CCCCC
41 010 BB 001 101 CCCCC
49 010 BB 001 110 CCCCC
57 010 BB 001 111 CCCCC
2 010 BB 010 000 CCCCC
10 010 BB 010 001 CCCCC
18 010 BB 010 010 CCCCC
26 010 BB 010 011 CCCCC
34 010 BB 010 100 CCCCC
42 010 BB 010 101 CCCCC
50 010 BB 010 110 CCCCC
58 010 BB 010 111 CCCCC
3 010 BB 011 000 CCCCC
11 010 BB 011 001 CCCCC
19 010 BB 011 010 CCCCC
27 010 BB 011 011 CCCCC
35 010 BB 011 100 CCCCC
43 010 BB 011 101 CCCCC
51 010 BB 011 110 CCCCC
59 010 BB 011 111 CCCCC
4 010 BB 100 000 CCCCC
12 010 BB 100 001 CCCCC
20 010 BB 100 010 CCCCC
28 010 BB 100 011 CCCCC
36 010 BB 100 100 CCCCC
44 010 BB 100 101 CCCCC
52 010 BB 100 110 CCCCC
60 010 BB 100 111 CCCCC
5 010 BB 101 000 CCCCC
13 010 BB 101 001 CCCCC
21 010 BB 101 010 CCCCC
29 010 BB 101 011 CCCCC
37 010 BB 101 100 CCCCC
45 010 BB 101 101 CCCCC
53 010 BB 101 110 CCCCC
61 010 BB 101 111 CCCCC
6 010 BB 110 000 CCCCC
14 010 BB 110 001 CCCCC
22 010 BB 110 010 CCCCC
30 010 BB 110 011 CCCCC
38 010 BB 110 100 CCCCC
46 010 BB 110 101 CCCCC
54 010 BB 110 110 CCCCC
62 010 BB 110 111 CCCCC
7 010 BB 111 000 CCCCC
15 010 BB 111 001 CCCCC
23 010 BB 111 010 CCCCC
31 010 BB 111 011 CCCCC
39 010 BB 111 100 CCCCC
47 010 BB 111 101 CCCCC
55 010 BB 111 110 CCCCC
63 010 BB 111 111 CCCCC
pc108

Obrázek 6: Prostředí hry Starquake.

3. Atributová paměť, její přednosti a omezení

K bitmapovému obrázku popsanému v předchozí kapitole byla navíc přiřazena takzvaná atributová paměť o velikosti 32×24=768 bajtů, v níž byla pro každý blok o velikosti 8×8 pixelů zaznamenána barva popředí (ink), barva pozadí (background), intenzita barvy pixelu a příznak blikání (pravidelného prohazování barvy popředí a pozadí). Počítače Didaktik měly pevně nastavenou barvovou paletu s osmi základními barvami, přičemž sedm barev (kromě barvy černé) mohlo být zobrazeno s nízkou či vysokou intenzitou. Celkem tedy bylo možné na obrazovce použít patnáct barevných odstínů, ovšem s tím omezením, že se v bloku 8×8 pixelů mohly vyskytovat maximálně dvě barvy – viz například tento ilustrační obrázek.

pc108

Obrázek 7: Prostředí známé hry R-type, v němž můžeme vidět rozdělení obrazovky na dvoubarevné bloky 8×8 pixelů. Při kolizích střel či rakety s okolními předměty docházelo ke vzniku barevných chyb, ostatně jako v mnoha dalších hrách.

Tato architektura obrazové paměti má jednu poměrně zásadní výhodu – pro uložení celého obrázku bylo zapotřebí pouze 6144+768=6912 bajtů. Nevýhodou byl vznik nežádoucích jevů v případě, že došlo ke kolizi více objektů s různými barvami v jednom bloku 8×8 pixelů – tyto kolize se sice daly na statických obrázcích eliminovat, ovšem ve hrách s pohybujícími se hráči i dalšími předměty ke kolizím a tím pádem i k vizuálním chybám, docházelo. Poměrně brzy po začátku prodeje ZX Spectra (a o několik let později Didaktiku) programátoři vymysleli některé triky, kterými mohli částečně obejít omezení daná pevnou barvovou paletou a pamětí atributů. Pravděpodobně prvním trikem bylo použití ditheringu. Všechny screenshoty, které jsou v tomto článku zobrazeny pochází z emulátorů a snímky jsou tak ostré – je viditelný každý pixel a i černobílá šachovnice s velikostí políček 1×1 pixel by byla rozeznatelná (samozřejmě jen v případech, pokud má laskavý čtenář dobře seřízený monitor či nastavené nativní rozlišení LCD). Ve skutečnosti při zobrazení bitmapy na televizní obrazovce docházelo k rozmazávání obrázku, především v horizontálním směru, čehož se dalo využít právě s pomocí ditheringu.

pc108

Obrázek 8: Úvodní obrazovka hry R-type, v níž grafici dokázali obejít (či spíše využít) vlastnosti atributové paměti tak, aby nedocházelo k viditelným chybám a navíc použili dithering pro zdánlivé zvýšení počtu barevných odstínů v obrázku. Ve skutečnosti obsahuje tento obrázek pouze deset barev.

Dalším trikem byla změna atributové paměti v průběhu zobrazování jednotlivých obrazových řádků. V předchozí kapitole jsme si řekli, že ULA vždy načítala obsah atributové paměti pro celý obrazový řádek, tudíž bylo možné s využitím přesného časování hodnotu atributů měnit pro každý řádek zvlášť a vlastně tak zvýšit rozlišení atributové paměti z původních 32×24 bloků na 32×192 bloků. Ovšem rychlost mikroprocesoru Z80 nebyla tak vysoká, aby bylo možné přepsat všech 32 bajtů v průběhu jednoho řádku (přesněji řečeno při návratu elektronového paprsku na další obrazový řádek), proto se v praxi měnila vždy jen zhruba polovina atributů – tento režim se někdy označuje 8×2.

pc108

Obrázek 9: Využití ditheringu v obrázku, který ve skutečnosti obsahuje pouze devět barev.

4. Načítání obrázků z externích zařízení

Organizaci obrazové paměti popsané v předchozích třech kapitolách bylo možné přímo (na vlastní oči :-) pozorovat například při načítání úvodních obrázků her či dalších aplikací z magnetofonu nebo některého dalšího pomalejšího periferního zařízení. U mnoha her se před vlastním strojovým kódem hry načítal z magnetofonu obsah obrazové paměti. Jedná se, jak již ostatně víme, o souvislý blok paměti o délce 6912 bajtů (6144 bajtů pro bitmapu a 768 bajtů atributové paměti). V nejtypičtějším případě se můžeme setkat s tím, že je celá hra či jiná aplikace na magnetofonové pásce uložena v šesti za sebou jdoucích blocích. Prvním blokem je devatenáctibajtová hlavička obsahující především jméno programu a typ následujícího bloku, ve druhém bloku krátký zaváděcí Basicový program (mnohdy různým způsobem upravený tak, aby nešel vylistovat, obsahoval neviditelné znaky, nultý řádek atd.), následuje opět hlavička (tentokrát obrázku) následovaná blokem dat s obsahem obrazové paměti a poslední dva bloky obsahují hlavičku (strojového kódu) a konečně vlastní kód hry či aplikace.

pc108

Obrázek 10: Načítání úvodního obrázku ke hře Cookie. Nejedná se o zcela přesnou animaci nahrávání obrázku – ve skutečnosti je nahrávání na reálném Didaktiku či ZX Spectru plynulejší (pruhy na pozadí se mění 50× za sekundu) a současně poněkud pomalejší. Ovšem základní uspořádání obrazové paměti je z této animace patrné – nejdříve se nahrává první třetina bitmapy (každý osmý řádek, potom každý osmý řádek+1 atd.), poté zbylé dvě třetiny bitmapy a nakonec se naplní obsah atributové paměti – teprve v této chvíli se obrázek vybarví :-)

Bloky nesoucí hlavičku, mají shodnou délku devatenácti bajtů i stejnou strukturu, která je vypsána v následující tabulce (před každým blokem je ještě uložena dvojice bajtů s délkou celého bloku):

Offset Délka Popis
0 1 příznak bloku – 00=hlavička, FF=datový blok
1 1 typ bloku (0, 1, 2, 3)
2 10 jméno souboru doplněné zprava mezerami
12 2 délka následujícího datového bloku
14 2 parametr 1 (má význam jen pro některé typy bloků, ne pro obrázek)
16 2 parametr 2 (-//-)
17 1 kontrolní součet (ne skutečný CRC, jen XOR všech bajtů)

Samotný blok nesoucí data (jedná se i o blok s obrázkem) je již mnohem jednodušší, takže blok s obrázkem má délku 6914 bajtů s následující strukturou:

Offset Délka Popis
0 1 příznak bloku – FF=datový blok
1 6144 bitmapa
6145 768 barvové atributy
6913 1 kontrolní součet (XOR všech předchozích bajtů)
pc108

Obrázek 11: Nahrávání úvodního obrázku ke známé hře JetPac.

Poznámka: kvůli nedostatku lepších pomůcek vznikly jednotlivé snímky seřazené do animací zobrazených na obrázcích 10 a 11 pomocí následujícího jednoduchého skriptu využívajícího Image Magick:

xspect -name xyzzy cookie.tzx

for a in {10..99}
do
    sleep 0.5s
    echo "ukladam snimek $a"
    import -window xyzzy $a.png
done
pc108

Obrázek 12: Pouze sedmibarevný statický obrázek využívající dithering.

5. Osmibitový počítač Didaktik M

Po osmibitovém domácím a školním mikropočítači Didaktik Gama se začal ve firmě Didaktik Skalica vyrábět jeho následovník nazvaný Didaktik M, jenž byl nabízený ve dvou modelech – modelu 90 a modelu 91. Prodejní cena Didaktiku M se pohybovala okolo tří tisíc tehdejších korun, takže tento počítač byl dostupný poměrně široké vrstvě lidí, na rozdíl od tehdy se rozšiřujících šestnáctibitových či třicetidvoubitových počítačů. Opět se jednalo o mikropočítač do značné míry kompatibilní se ZX Spectrem. Oproti původnímu Didaktiku Gama (a vlastně i ZX Spectru – gumákovi) byla vylepšena klávesnice (k původním čtyřiceti klávesám byly přidány čtyři kurzorové klávesy, na klávesnici se nacházel i RESET rozumně odsunutý od ostatních kláves, na rozdíl od již popsaného počítače IQ-151) a změnil se i jeho celkový design, například odpadl chladič. Taktéž došlo k rozdělení původně jediného konektoru DIN na dvojici konektorů – jeden byl určen pro připojení napájení, druhý pro magnetofon.

pc108

Obrázek 13: Klávesnice počítače Didaktik M.

Namísto paralelního portu obsluhovaného v Didaktiku Gama obvodem 8255 je u Didaktiku M vyvedena dvojice portů pro připojení joysticků (Sinclair a Kempston). Kapacita operační paměti se snížila z 80 kB (viz Didaktik Gama) na původních 48 kB (přesněji řečeno byl použit jediný paměťový čip s kapacitou 64 kB, ovšem skutečně využito bylo pouze 48 kB), takže se počítač interně zjednodušil a taktéž jeho cena mohla být nižší, než v případě osazení operační pamětí s větší kapacitou. Počítač však měl jinou rychlost než původní ZX Spectrum (hodinová frekvence mikroprocesoru se zvýšila na 4 MHz) a navíc se kvůli mírně odlišné architektuře lišilo i časování paměti – nebyl zde rozdíl mezi přístupem do dolních 16 kB a horních 32 kB, což u některých her způsobovalo potíže a musely být upravovány. Taktéž byl namísto původního ULA firmy Ferranti použit čip T32BГ1 sovětské výroby generující obraz s poměrem stran 1:1 namísto obvyklých 4:3 (ovšem to bylo možné do jisté míry korigovat nastavením televizoru). Schéma zapojení Didaktiku M lze nalézt například zde: http://bruxy.reg­net.cz/8bit/di­daktik_m/m_sche­ma.png.

pc108

Obrázek 14: Zadní část počítače Didaktik M s vyvedenou sběrnicí, konektory pro připojení joysticků (oproti ZX Spectru novinka), magnetofonu, napájecího zdroje i výstupem na televizor.

6. Didaktik Kompakt

Poslední v řadě osmibitových počítačů Didaktik stojí Didaktik Kompakt, který se vyráběl v letech 1991 až 1994, tedy již v době kralování počítačů Atari ST, Amiga a samozřejmě i IBM PC (a kompatibilních klonů). Tento počítač se do značné míry podobal svým předchůdcům, současně však obsahoval několik novinek. Přímo v počítači byla zabudována 3,5 palcová disketová jednotka používající diskety naformátované na 840 kB, zvuk mohl být kromě klasického jednobitového beeperu generován i přidaným zvukovým čipem AY-3–8920 (stejně jako na pozdějších modelech ZX Spectra, například ZX Spectra +128K) a dokonce se v něm objevuje i konektor (SCART), kterým je možné počítač připojit k televizoru namísto videa. Obraz je tím pádem mnohem kvalitnější, než při běžně prováděné VF modulaci v počítači a následné demodulaci v televizoru (samostatně vyvedený videosignál ostatně měly i osmibitové počítače Atari o dekádu dříve).

pc108

Obrázek 15: Osazená deska plošného spoje počítače Didaktik Kompakt; v pravé části je vidět disketová jednotka.

Zajímavá funkce byla přiřazena ke kombinaci kláves Caps Shift + levá šipka + pravá šipka. Jednalo se o trojhmat, kterým bylo možné uložit stav operační paměti i registrů procesoru na disketu, takže se vlastně jedná o dnes tak populární hibernaci). Otisk operační paměti lze samozřejmě nahrát z diskety zpět a spustit ho ze stejného místa, odkud byl zastaven. Využití je zřejmé – „úpravy programů“, podpora pro ladění aplikací atd. (poznámka – stejnou funkci nabízely i externí disketové jednotky D40 a D80, které si popíšeme příště). Tento počítač měl pouze jeden závažnější nedostatek bránící jeho většímu rozšíření – byl na trh dodán příliš pozdě (odhadem cca o tři až čtyři roky) a proti konkurenci šestnáctibitových počítačů neměl prakticky žádnou šanci na výraznější úspěch, což je trošku škoda, neboť se jednalo o pěkně navržený počítač u nějž disketová jednotka rozšiřovala možnosti jeho použití (CP/M atd.).

pc108

Obrázek 16: Pro porovnání z předchozím snímkem: část plošného spoje počítače Didaktik M.

7. Obsah následující části seriálu

V následující části seriálu o architekturách počítačů si na chvíli odpočineme od popisu parametrů i architektury československých osmibitových počítačů. Namísto toho se budeme zabývat periferními zařízeními, která byla v ČSSR pro osmibitové počítače vyráběna. Těchto zařízení existovalo poměrně velké množství – od joysticků a různých programátorů pamětí přes magnetofony, jehličkové tiskárny či perové plottery až po různé typy disketových jednotek. Příště se zaměříme především na popis různých druhů tiskáren a plotterů, například na slavnou jednojehličkovou tiskárnu BT-100 přezdívanou „splašený hřebík“ (a někdy i poněkud méně slušnými výrazy), plottery firmy Aritma atd. Taktéž si popíšeme disketové jednotky určené především pro počítače Didaktik, které se v dobách před nástupem osobních počítačů (PC) těšily v tuzemsku poměrně velké popularitě a nezapomeneme ani na zvukový modul Melodik založený na čipech kompatibilních se známým a ve světě v mnoha oblastech používaným čipem AY-3–8910 (resp. AY-3–8912).

ict ve školství 24

pc108

Obrázek 17: Slavný zvukový čip AY-3–8910.

8. Odkazy na Internetu

  1. World of Spectrum
    http://www.wor­ldofspectrum.or­g/
  2. ZX Spectrum – dokumentace
    http://www.wor­ldofspectrum.or­g/documentati­on.html
  3. The World of Spectrum FAQ
    http://www.wor­ldofspectrum.or­g/WoSFAQ.html
  4. BruXy.REGNET.CZ
    http://bruxy.reg­net.cz/web/8bit
  5. Didaktik M Počítač za méně než 3000 korun
    http://bruxy.reg­net.cz/web/8bit­/CZ/didaktik-m,–pocitac-za-mene-nez-3000-korun/
  6. Didaktik Kompakt
    http://osmi.tar­bik.com/cssr/di­daktik_kompak­t.html
  7. Emulátor ZX Spectra napsaný v Javě
    http://www.zzspec­trum.org/
  8. DOOM game on ZX Spectrum
    http://www.you­tube.com/watch?v=3v7cFGn­euaw&feature=re­lated
  9. A Short History of Computer Graphics
    http://cs.fit­.edu/~wds/clas­ses/graphics/His­tory/history/his­tory.html
  10. ZX Spectrum Graphics Modes
    http://gfxzone­.planet-d.net/articles/zx_spec­trum_graphics-article01.html
  11. Museum of vintage computer graphics
    http://www.zxscre­ens.i12.com/zxscre­ens

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.