Hlavní navigace

Domácí a školní mikropočítače řady Didaktik

13. 4. 2010
Doba čtení: 13 minut

Sdílet

V dnešní části seriálu o architekturách počítačů se začneme zabývat popisem československých počítačů s architekturou založenou na mikroprocesorech Zilog Z80, popř. na jejich východoněmeckých klonech U880D. Jedná se například o počítače Ondra i populární Didaktik Gama, Didaktik M a Didaktik Kompakt.

Obsah

1. Osmibitové počítače řady Didaktik

2. Didaktik Alfa

3. Didaktik Alfa 2 a Didaktik Beta

4. Úspěšný domácí mikropočítač Didaktik Gama

5. Struktura paměti originálního ZX Spectra 16K a ZX Spectra 48 k

6. Struktura paměti počítačů Didaktik Gama

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

8. Odkazy na Internetu – oskenovaná dobová literatura

9. Odkazy na Internetu

1. Osmibitové počítače řady Didaktik

V předchozích pěti částech tohoto seriálu jsme se zabývali popisem československých osmibitových počítačů, které byly založené na mikroprocesoru MHB 8080A, což je klon procesoru Intel 8080A vyráběný v tuzemské Tesle. Jednalo se o počítače PMI 80 (které se ovšem v mnoha ohledech vymykají klasickým mikropočítačům), sérii PMD 85, počítač MAŤO a taktéž o minule a předminule popisovaný počítač IQ-151. Od druhé poloviny osmdesátých let minulého století se však v ČSSR začaly navrhovat a následně i vyrábět počítače využívající mikroprocesor Zilog Z80 popř. jeho východoněmeckou variantu U880D (pro zajímavost – pro výrobu tohoto mikroprocesoru nebyla vydána licence). Mezi přednosti mikroprocesoru Z80 a samozřejmě i U880D patří zpětná programová kompatibilita s procesorem 8080, rozšířený repertoár instrukcí, druhá sada pracovních registrů, dva šestnáctibitové indexové registry a taktéž zjednodušené napájení procesoru a podpora dynamických pamětí s jejich (polo)automatickým osvěžováním (refresh).

pc107

Obrázek 1: Jedna z prvních verzí osmibitového mikroprocesoru Zilog Z80.

Mezi československé osmibitové mikropočítače založené na mikroprocesorech Zilog Z80 (U880D) patří především domácí počítač Ondra (jehož popisem se budeme zabývat v následující části tohoto seriálu) a taktéž počítače Didaktik Gama, Didaktik M a Didaktik Kompakt, jejichž značná popularita mezi tehdejší tuzemskou počítačovou veřejností vyplývala mj. i z faktu, že se jednalo o počítače kompatibilní se slavným ZX Spectrem a taktéž z jejich příznivé ceny i kompaktního designu (zejména při porovnání s relativně velkými a těžkými počítači PMD 85 a IQ-151). Právě počítači řady Didaktik se budeme zabývat v následujících kapitolách. Nejprve si pro úplnost zopakujeme některé základní fakty o počítačích Didaktik Alfa a Didaktik Beta založených na architektuře PMD 85 (a tedy i historicky starším procesoru 8080) a poté se již přeorientujeme na Didaktik Gama, M a Kompakt.

pc107

Obrázek 2: U880D neboli nelicencovaný klon mikroprocesoru Zilog Z80 vyráběný v DDR.

2. Didaktik Alfa

Prvními československými osmibitovými mikropočítači nesoucími název Didaktik jsme si již zabývali v jedné z předchozích částí tohoto seriálu, konkrétně při popisu vývoje počítačů PMD 85. Skutečně – první počítače Diaktik, konkrétně typy Didaktik Alfa a Didaktik Beta, vyráběné v závodu Didaktik Skalica, byly založené na architektuře PMD 85, což znamenalo, že byly s těmito počítači do určité míry kompatibilní, tj. používaly shodný mikroprocesor Tesla MHB 8080A taktovaný na 2048 kHz, totožné pomocné obvody řady 8080, grafický režim měl stejné rozlišení 288×256 pixelů atd. Na rozdíl od počítačů PMD 85, jejichž jednotlivé verze byly číslovány, se ve Skalici rozhodli odlišovat své počítače (a některá periferní zařízení) fonetickým zápisem písmen řecké abecedy (později se od tohoto způsobu pojmenování upustilo, což je možná škoda). První počítač ze Skalice se tedy jmenoval Didaktik Alfa a pocházel z roku 1986. Jeho architektura byla odvozena od PMD 85.1.

pmd85

Obrázek 3: Mikropočítač Didaktik Alfa v červené variantě.

Oproti originálnímu PMDčku však došlo k několika podstatnějším změnám, zejména v designu celého stroje – byla použita odlišná klávesnice, změnilo se zapojení součástek na plošném spoji a došlo i k úpravám struktury paměti. Interpret programovacího jazyka BASIC byl umístěn přímo v paměti ROM (stejně jako u většiny dalších domácích osmibitových počítačů) a nikoli v samostatném zásuvném modulu, jak bylo zvykem u počítačů PMD 85 i IQ-151. Tato změna ovšem byla při běžném použití počítače minimální, protože se kód Basicu při inicializaci kopíroval do paměti RAM na adresu $0000. V předchozích částech tohoto seriálu jsme si taktéž řekli, že mikropočítač Didaktik Alfa byl dodáván ve větším „setu“ společně s černobílým tranzistorovým televizorem Junosť sovětské výroby (podobal se známému českému Merkuru) a taktéž plotterem. Všechny tři části celého „setu“ byly barevně sladěny – původně se jednalo o barvu bílou, později i o barvu červenou (pravděpodobně nejtypičtější konfigurace, která je zobrazena na fotografiích), modrou i černou.

pmd851

Obrázek 4: Detail klávesnice počítače Didaktik Alfa 2. Takové pěkné symboly PCčkové klávesnice nemají…

3. Didaktik Alfa 2 a Didaktik Beta

Dalším počítačem vyráběným v závodě Didaktik Skalica byl počítač nazvaný Didaktik Alfa 2. Jednalo se o klon PMD 85.2 (nikoli tedy PMD 85.1 jako v případě původního Didaktiku Alfa), ovšem i při návrhu tohoto počítače došlo k několika úpravám v jeho designu i zapojení. Například tabulka znaků byla doplněna o tuzemská nabodeníčka, přičemž klávesa STOP fungovala jako přepínač pro psaní českých znaků. Znaky používaly kódování odpovídající normě KOI-8, která byla původně používána u minipočítačů, posléze u osmibitových mikropočítačů a následně po nějakou dobu i po nástupu osobních počítačů (tato norma uživatele „strašila“ například ještě v textovém editoru T602 a dokonce i v konverzním programu dodávaném k české verzi Wordu for Windows). V tomto počítači byla taktéž použita nová verze monitoru (základního programového vybavení) i interpretru jazyka BASIC, při inicializaci počítače se testovala paměť RAM i ROM atd. Třetím typem počítače ze Skalice více či méně kompatibilním s řadou PMD 85, je počítač Didaktik Beta. Jedná se o vylepšenou verzi Didaktiku Alfa 2, který navíc obsahoval podporu sítě. Ostatní (základní) parametry tohoto počítače, tj. použitý procesor a podpůrné obvody, kapacita paměti RAM či grafický systém, jsou totožné s PMD 85.2.

pmd85

Obrázek 5: Detail zadní části Didaktiku Alfa s konektory.

4. Úspěšný domácí mikropočítač Didaktik Gama

Při návrhu dalších typů osmibitových počítačů, které měly být vyráběny v podniku Didaktik Skalica, se inženýři odklonili od sice u nás rozšířené, nicméně pro domácí použití v některých ohledech nevyhovující platformy PMD 85 postavené na procesoru MHB 8080A a poměrně netypické struktuře obrazové paměti. Namísto toho se inspirovali, podobně jako i několik dalších výrobců počítačů pocházejících ze zemí RVHP, architekturou pravděpodobně nejznámějšího a v té době (alespoň v Evropě) stále nejrozšířenějšího osmibitového počítače vůbec – slavného ZX Spectra. Počítače ZX Spectrum byly založené na mikroprocesoru Zilog Z80 a zákaznickém čipu ULA firmy Ferranti, jenž se kromě několika dalších činností staral i o generování obrazu na televizoru na základě údajů uložených ve framebufferu (struktura framebufferu neboli obrazové paměti používané u ZX Spectra i mnohých jeho klonů bude podrobněji popsána v následující části tohoto seriálu.

Se kterým počítačem řady "Spectrum" jste se poprvé setkali?

obr

Obrázek 6: Úvodní obrazovka známé hry Manic Miner spuštěné na ZX Spectru (resp. na emulátoru tohoto počítače).

Do značné míry shodná architektura byla použita i u počítačů Didaktik počínaje modelem Didaktik Gama verze 87, 88 a 89, na který navázaly modely Didaktik M a Didaktik Kompakt. Mezi původním ZX Spectrem a těmito Didaktiky existovalo několik více či méně závažných rozdílů, které znepříjemňovaly život jak uživatelům, tak i programátorům, zejména u těch aplikací, které využívaly možností ZX Spectra doslova do posledního bitu paměti a tiku hodin. Například došlo k úpravám strojových rutin v paměti ROM, které sice opravovaly některé chyby v původním ZX Spectru, nicméně mohly vést k nekorektnímu chování některých aplikací. Poněkud větší odlišnosti byly způsobeny instalací neoriginálního čipu ULA sovětské výroby v Didaktiku M a Didaktiku Kompakt, což se mj. projevilo odlišnou geometrií obrazu. Ovšem největší rozdíl mezi originálním ZX Spectrem a Didaktikem Gama, který zpočátku (u verze 87) působil značné problémy, spočíval v odlišné organizaci paměti, jejímž popisem se budeme zabývat v následující kapitole.

pc107

Obrázek 7: Pro počítače Didaktik Gama/M/Kompakt (a nepřímo též pro ZX Spectrum) vzniklo velké množství různé literatury, od krátkých tematických článků v klubových časopisech přes různé ucelené manuály až po skutečné knihy. Některou literaturu zachraňuje a následně v digitalizované podobě na svých stránkách nabízí kamarád Pavel Křivánek – viz odkazy uvedené v deváté kapitole.

5. Struktura paměti originálního ZX Spectra 16K a ZX Spectra 48 k

Pro vysvětlení struktury paměti počítače Didaktik Gama se nejprve seznámíme s tím, jakým způsobem byla organizována paměť na původním ZX Spectru. Paměťový prostor původního ZX Spectra 48K, tj. celých 64 kilobajtů, které mohl mikroprocesor Z80 přímo adresovat, byl rozdělen na tři části (bloky) o velikostech 16 kB, 16 kB a 32 kB. Na začátku adresového prostoru mikroprocesoru se nacházela oblast paměti ROM o velikosti 16 kB s interpretem jazyka BASIC, strojovými rutinami pro práci v pohyblivé řádové čárce, práci s magnetofonem, obsluhu obrazovky apod. Za pamětí ROM se nacházelo 16 kB RAM, do které měl sdílený přístup jak mikroprocesor, tak i zákaznický čip ULA (který zde měl uložený framebuffer o velikosti 6912 bajtů), zbytek této oblasti paměti byl využit pro uložení systémových proměnných, bufferu tiskárny, data i programy v BASICu atd., a konečně poslední oblast o kapacitě 32 kB byla dostupná pouze mikroprocesoru.

pc107

Obrázek 8: Pohled na osazený plošný spoj počítače Didaktik Gama, na kterém jsou vidět tři hlavní čipy, ze kterých je počítač sestaven: mikroprocesor Z80 či některý z jeho klonů, čip ULA (zde originál) a obvod 8255 sloužící jak k vytvoření externí sběrnice, tak i (jeden jeho pin) pro přepínání paměťových bank. Po levé straně je vidět VF modulátor (kovová krabička) a vestavěný reproduktor.

Kromě ZX Spectra 48K byl prodáván i levnější model ZX Spectrum 16K, u něhož byla osazena pouze paměť ROM o kapacitě 16 kB a paměť RAM o kapacitě taktéž 16 kB (zde byl uložen framebuffer atd., stejně jako u modelu s větší kapacitou operační paměti). Struktura paměti počítače ZX Spectrum je ve značně zjednodušené podobě vypsána v následující tabulce (všechny adresy jsou vypsány – pro programátory v assembleru možná poněkud netypicky – v desítkové soustavě):

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

Obrázek 9: Sken úvodního listu příručky k počítači Didaktik Gama, kde je stručně popsána jak jeho architektura, tak i základy práce s programovacím jazykem BASIC.

6. Struktura paměti počítačů Didaktik Gama

Uspořádání paměti u počítačů Didaktik Gama sice vycházelo z původního ZX Spectra (což bylo samozřejmě nutné pro zachování zpětné kompatibility), ovšem došlo k jedné poměrně zásadní změně. Kapacita operační paměti byla totiž zvýšena z původních 48 kB na celých 80 kB. Ovšem vzhledem k tomu, že mikroprocesor Z80 měl pouze šestnáctibitovou adresovou sběrnici a dokázal tedy v jeden okamžik adresovat maximálně 64 kB, musela se operační paměť (resp. její část) rozdělit do takzvaných paměťových banků. Prvních adresovatelných 16 kB zůstalo vyhrazeno pro paměť ROM, dalších 16 kB obsadil framebuffer, systémové proměnné, buffer tiskárny atd. (opět stejně jako u ZX Spectra, viz předchozí kapitolu), ovšem do nejvyšších 32768 bajtů adresového prostoru mikroprocesoru se přepínal (mapoval) vždy jeden třicetidvouki­lobajtový paměťový blok. RAM byla rozdělena na „dolních 16 kB“, banku A o velikosti 32 kB a banku B taktéž o velikosti 32 kB, celkem 16 + 32 + 32 = 80 kB.

Bylo podle vašeho názoru rozšíření paměti na 80kB u Didaktiku Gama spíše přínosem nebo zbytečným zavedením nekompatibility?

pc107

Obrázek 10: Jednoduchý kreslicí program pro Didaktik Gama neboli Photoshop verze 0.1 alfa.

Pro přepínání paměťových bloků byl využit jeden pin (konkrétně se jednalo o bit 0 brány C) čipu 8255, který byl v počítači Didaktik Gama použit mj. i pro vytvoření externí sběrnice, na kterou bylo možné připojovat další periferní zařízení. Přepnutí paměťových bank se provádělo pomocí OUT 127,0 a OUT 127,1, přičemž právě aktivní (vybraná) paměťová banka byla indikována i pomocí LED umístěné vedle klávesnice. Právě přepnutí paměťových bank vedlo k některým nepříjemnostem, zejména u první verze Didaktiku Gama z roku 1987. Pokud byla systémová proměnná RAMTOP (ukazatel na poslední adresu dostupnou pro BASIC, který se nastavoval příkazem CLEAR) nastavena na adresu vyšší než 32768 a došlo k přepnutí paměťového banku, počítač (resp. systém) havaroval. Tato chyba byla odstraněna až v následujících letech u modelů 88 a 89, kde se při přepnutí dotčená paměť mezi adresou 32768 a RAMTOP prostě zkopírovala, takže si systém vlastně ani „nevšiml“, že došlo k přepnutí a pracuje s odlišným paměťovým bankem.

Jakto, že bylo možné samotnou instrukcí OUT 127,0 či OUT 127,1 nastavit jediný bit osmibitové brány obvodu 8255?

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

V následující části seriálu o architekturách počítačů si podrobně popíšeme uspořádání obrazové paměti (framebufferu) počítačů Didaktik, včetně některých triků, které bylo možné s framebufferem provádět. Následně si popíšeme další dva modely Didaktiků, tj. Didaktik M a Didaktik Kompakt, i některé periferní zařízení určené pro připojení k těmto počítačům – jedná se například o populární disketové jednotky D40 a D80, plottery a tiskárny (včetně tiskárny BT-100 neboli „splašeného hřebíku“).

pc107

Obrázek 11: Domácí osmibitový mikropočítač Didaktik M, který si popíšeme příště.

8. Odkazy na Internetu – oskenovaná dobová literatura

Dobová literatura o Didakticích naskenovaná Pavlem Křivánkem:

  1. ABC strojového kódu 1 (čtivá učebnice strojáku pro začátečníky)
    http://www.gran­djihlava.cz/tmp/ab­c1.pdf
  2. ABC strojového kódu 2
    http://www.gran­djihlava.cz/tmp/ab­c2.pdf
  3. GEN3 MONS3 příručka uživatele
    http://www.gran­djihlava.cz/tmp/gen­smons.pdf
  4. Kladivo na programy (je tam třeba popsán způsob nahrávání a ochran programů protí kopírování a crackování)
    http://www.gran­djihlava.cz/tmp/kla­divo.pdf
  5. Didaktik Gama návod k obsluze
    http://www.gran­djihlava.cz/tmp/na­vod.pdf
  6. Můj přítel Didaktik Gama
    http://www.gran­djihlava.cz/tmp/pri­teldidaktik.pdf
  7. Tip & trip pro Didaktik
    http://www.gran­djihlava.cz/tmp/tip­trikdidaktik.pdf

Poznámka: pokud má některý ze čtenářů taktéž naskenované či jiným způsobem uchované materiály o Didakticích, nechť se prosím ozve, můžeme článek rozšířit o další odkazy a informace.

ict ve školství 24

pc107

Obrázek 12: Příručka pro začínající crackery :-), která však byla poučná pro všechny programátory, neboť vysvětlovala některé zajímavé vlastnosti operačního systému a interpretru jazyka Basic u Didaktiků i ZX Spectra.

9. Odkazy na Internetu

  1. Didaktik Alfa 1
    http://osmi.tar­bik.com/cssr/di­daktik_alfa.html
  2. Stránky firmy Didaktik
    http://www.di­daktik.cz/
  3. Didaktik
    http://en.wiki­pedia.org/wiki/Di­daktik
  4. Didaktik
    http://cs.wiki­pedia.org/wiki/Di­daktik
  5. Computers made by Didaktik Skalica Co.
    http://zx.inter­face1.net/clo­nes/didaktik.html
  6. Uncommitted logic array (ULA)
    http://en.wiki­pedia.org/wiki/Un­committed_Logic_A­rray
  7. Didaktik Gama
    http://zx.inter­face1.net/clo­nes/didaktik.html
  8. Didaktik Gama
    http://www.old-computers.com/mu­seum/computer­.asp?st=1&c=463
  9. Didaktik M
    http://www.old-computers.com/mu­seum/computer­.asp?st=1&c=459
  10. Historická stránka s článkem jednoho z vývojářů Didaktiku Gama
    http://web.ar­chive.org/web/200505­18010425/http://www­.didaktik.cz/po­citace_didaktik/di­daktik8.htm
  11. Muzeum československých mikropočítačů
    http://cs-pocitace.ic.cz/
  12. Popis modulů a aplikací pro IQ-151
    http://cs.fel­k.cvut.cz/~bi­ly/iq151/
  13. IQ 151
    http://osmi.tar­bik.com/cssr/iq­151.html
  14. „Domácí počítače“ nedávné minulosti
    http://www.fi­.muni.cz/usr/jku­cera/pv109/xkr­ejcir.htm
  15. ZPA: IQ-151
    http://www.ho­mecomputer.de/pa­ges/easteurope_cz­.html#iq151
  16. Zrození IQ-151
    http://www.iq151­.net/index.htm
  17. Stručná historie počítače IQ150/IQ151
    http://www.iq151­.net/history.htm
  18. Old Computers – IQ 151
    http://www.old-computers.com/MU­SEUM/computer­.asp?st=1&c=1045
  19. Wikipedia EN: IQ 151
    http://en.wiki­pedia.org/wiki/IQ151
  20. Wikipedia CZ: IQ 151
    http://cs.wiki­pedia.org/wiki/IQ151
  21. Archive.Free8bit­.net (archivy her a dalších aplikací)
    http://archive­.free8bit.net/in­dex.php?ACTION=1004
  22. Emulation.Fre­e8bit.net (emulátory osmibitů)
    http://emulati­on.free8bit.net/
  23. Muzeum starého hardwaru a počítačů
    http://hardwa­re.najd.cz/nej­.php
  24. Počítače PMD 85
    http://balek.v­.sweb.cz/cs%20po­citace/8bity/pmd85­.htm
  25. Alfy mali vo výbave i sovietske televízory „Junost“
    http://bombara­.blog.sme.sk/c/205503­/Alfy-mali-vo-vybave-i-sovietske-televizory-Junost.html
  26. Hlípa
    http://pmd85.djb-studios.com/wi­ki/Hlípa
  27. Video s řešením hry Hlípa
    http://pmd85.djb-studios.com/w/me­dia/hlipa-riesenie.avi
  28. Urob si sám PMD-85
    http://pmd85.to­pindex.sk/
  29. Stránky Martina „Schotka“ o PMD 85, jeho klonech i emulátorech
    http://www.scho­tek.cz/pmd/in­dex.htm

Autor článku

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