Published: 15. 9. 2005   Category: 8 bits computers

JEŠTĚ JEDNOU DIDAKTIK GAMA

Mikrobáze 1989 / 2

Krátce před vánocemi 1987 se na našem trhu objevil nový počítač – Didaktik Gama. Jeho výrobce – výrobní družstvo Služba Bratislava, závod Didaktik Skalica  – jej uvedl na trh v rekordně krátké době. Postaral se i o velmi dobře načasovanou televizní reklamu, která ústy ředitele závodu slibovala bohaté programové vybavení a řadu hardwarových doplňků s ohledem na kompatibilitu Didaktiku Gama se ZX Spectrem. Dále výrobce sliboval, že sám zajistí tvorbu nových programů.

Jak se později ukázalo, s kompatibilitou to není slavné, řada programů pro ZX Spectrum na Didaktiku nechodí a připojení standardních periférií Spectra je zhola nemožné.

Výrobce se k tomuto problému nikde nevyjádřil. Z návodu k obsluze není místy jasná ani obsluha počítače. Přitom je o něj na našem trhu velký zájem (taky nic jiného téměř není).

Dost důvodů pro to, abychom požádali Michala Bechyně z prodejny počítačů podniku Domácí potřeby Praha ve Spálené ulici, aby se s námi rozdělil o své zkušenosti:

Prospekt Didaktiku Gama o něm říká, že je kompatibilní se ZX Spectrem. Je rozšířen o některé doplňky, které si uživatelé ZX Spectra jinak museli opatřovat dodatečně – paralelní interface s 8255A a rozšířená paměti RAM 80K. Tyto doplňky a související úpravy však způsobily, že pro práci s

Didaktikem nelze převzít kompletní software k původnímu ZX Spectru.

Ve svém příspěvku nejdříve popíšu samotný počítač a potom rozeberu příčiny neúplné kompatibility.

Klávesnice

První, co na uživatele udělá dojem, je bezesporu dobrá klávesnice Didaktiku. Jediným slabým místem je barevný popis kláves – nápisy se po delší době provozu smazávají. Výrobce je si tohoto nedostatku vědom a snaží se životnost popisu kláves prodloužit.

Funkce a rozmístění kláves odpovídá původnímu ZX Spectru s gumovou klávesnicí. Zůstala i často diskutovaná funkce klíčových slov, která je hlavním problémem pro začátečníky. Proto je nutné se dobře seznámit s obsluhou, což – vedle návodu-usnadňuje i program na přiložené kazetě.

Zapojeni počítače, jeho naladění a načteni přiloženého programu

Didaktik Gama se dodává v jedné krabici, kde je vlastní počítač, napájecí zdroj, kabel pro připojení k televizoru, návod a kazeta s úvodním programem. Po rozbalení počítače je nutno dodržet následující postup:

  1. Spojit počítač s televizorem
  2. Zapojit napájecí zdroj do sítě
  3. Konektor pro nahrávání zapojit do magnetofonu
  4. Zasunout napájecí konektor do počítače, přičemž se rozsvítí (většinou zelená) dioda LED signalizující zapnuti
  5. Naladit televizor

Tento postup je třeba dodržet proto, aby se zdroj ustálil a do počítače se nedostala napěťová špička, která by jej mohla poškodit. Pro napájení je použit pětikolíkový konektor DIN, který je současně využit i pro spojení s magnetofonem. U prvních sérií se signál z počítače ladil v prvním a ve třetím TV pásmu. Vzhledem ke špatné kvalitě obrazu začal výrobce do počítače vestavovat UHF modulátor se signálem ve IV. TV pásmu. Pro ty, kteří si Didaktik zakoupili ještě bez tohoto modulátoru, jej výrobce zdarma namontuje.

Na kazetě s úvodním programem je napsán příkaz pro načtení programu do paměti počítače. Bohužel u příkazu LOAD "" tam není uvedeno, že za každým příkazem je třeba stisknout klávesu ENTER. Popis na kazetě předpokládá, že uživatel již prostudoval návod. Jenže ten je v tomto místě stručný a vychází naopak z předpokladu, že se uživateli podařilo nahrát úvodní kazetu a seznámit se s obsluhou klávesnice. Trochu to připomíná pohádku o kohoutkovi a slepičce. Na kazetě nebo na začátku návodu by bylo mnohem vhodnější uvést text:

Nahrání úvodního programu: Stiskněte klávesu "J". Na obrazovce se vypíše příkaz LOAD. Pak podržte klávesu SYMBOL SHIFT a dvakrát stlačte klávesu "P". Na obrazovce se vypíší dvoje uvozovky. Nakonec stiskněte klávesu ENTER.

Pokročilejší tuto pasáž automaticky přeskočí, ale začátečníci ji ocení, neboť si ušetří pocit, že počítač není v pořádku. Skutečně se už stalo, že do prodejny přišel úplný začátečník s reklamací, že počítač nenahrává. Důvodem byla právě neznalost obsluhy klávesnice a příkazu ENTER.

Vstupy a výstupy počítače

Již jsem se zmínil o napájecím konektoru, který je společný i pro nahrávání programů. Při pohledu na počítač zezadu jsou vlevo od napájecího konektoru umístěny další dva konektory pro periférie. První je systémový. Je to hranový konektor s vyvedenými signály procesoru a adresové i datové sběrnice. Jejich rozmístění je stejné jako u ZX Spectra. Vzhledem k jiné konstrukci Didaktiku však není vyvedeno napájení + 9, –12 a –5 voltů, schází výstup video a rozdílové signály barvy. Na druhém konektoru (typ FRB 30) jsou vývody vestavěného interfacu s obvodem 8255A.

Paměť RAM a její stránkování

ZX Spectrum je obvykle osazeno vadnými pamětmi RAM 64K, u nichž lze využít jen spodní polovinu. V Didaktiku jsou bezchybné paměti 64K. Protože použitý osmibitový procesor může přímo adresovat pouze 64K paměti, z čehož ROM zabírá 16K, zbývá pro uživatelskou RAMku pouze 48K. Proto jsou na horních 32K paměťového prostoru střídavě připojovány obě poloviny pamětí 64K – tzv. stránky, které se mohou mezi sebou přepínat (vyměňovat). To se provádí přepínáním logických úrovní na adresových vodičích A15 v multiplexerech použitých pamětí.

Toto uspořádání paměti má však své nevýhody. Po zapnutí počítače je totiž nastaven RAMTOP na 6 5 367, tedy do přepínané části paměti. Pod RAMTOP je umístěn zásobník návratových adres procesoru. V případě prostého přepnutí stránky se celý systémzhroutí. Výrobce se snažil situaci řešit tím, že před přepnutím si systém kopíroval obsah první stránky do druhé, a to od počátku zásobníku až do konce paměti RAM. To znemožňovalo využití druhé stránky pro další strojové programy, resp. data. Využití pro Basic bylo dost pochybené, protože pokud program či proměnné přesáhly adresu 32767, došlo po přepnutí k jejich ztrátě nebo zkomolení. To mělo za následek chybnou funkci programu, případně jeho zhroucení. Proto byl od série, která přišla do prodeje v únoru 1988, upraven režim stránkování do podoby, která je sice použitelná, ale vůbec neodpovídá popisu v návodu k obsluze (ten je i tak dost nejasný). Horní část paměti až po RAMTOP je systémem kopírována do obou stránek, takže výsledek je takový, jako by se stránkovalo jen nad RAMTOP. Oblast nad ním je pak bez omezení využitelná pro programy ve strojovém kódu a pro data. (Co se děje s UDG? – pozn. red.)

Pro přepínání stránek je použit bit 0 z portu C vestavěného interfacu, jehož řídící registr je na výstupní adrese 127, která se používá i pro přepínání. Přepnuti se provede příkazy OUT 127,1 a zpět OUT 127,0. To způsobí přímé nastavení, resp. vynulování bitu 0 na PC. K předefinování bran portu přitom nedojde, protože v příkazu není nastaven bit 7 (číslo je menší než 128). Monitor v paměti RAM se již postará o přenesení zásobníku. Jinou možností stránkování RAM je běžné ovládání portu C na adrese 95. Na to je třeba dávat pozor při obsluze periférií – i v případě ovládání přes výstupní adresu 95 je monitorem přenášen zásobník návratových adres.

Vestavěný interface s MHB 8255A

Jde vlastně o klasicky zapojený programovatelný interface MHB 8255A, jehož schéma a popis zapojení je např. v Amatérském radiu A7/87. Toto zapojení má několik výhod i nevýhod. Jeho hlavní nevýhoda je v tom, že k počítači už nemůžeme připojit jiné zařízení, které používá stejnou adresu (např. interface pro připojení joysticků). Další nevýhodou je použití bitu PC0 pro přepínání stránek paměti. Tak nelze použít software, který má pro komunikaci nadefinován port C. To se týká hlavně programů pro tiskárny BT 100 a GAMACENTRUM, které se pro práci s Didaktikem musejí upravit, což je pro začátečníka nepřekonatelný problém.

Výhody však převyšují nevýhody. Paralelní interface je zařízeni natolik užitečné, že si je většina majitelů Spectra tak či onak opatřuje hlavně pro připojení jakékoli tiskárny s paralelním vstupem. V Didaktiku je vestavěn právě interface pro spojení s tímto typem tiskáren. Obslužný program je implementován v paměti ROM a je nadefinován jako hlavní. Pokud bychom chtěli použít ZX Printer, stačí změnit adresy v systémových proměnných podle návodu. Při připojování ostatních zařízeni je nutno dbát na zachování portu C, nebo alespoň jeho bitu 0. Tento bit musí být vždy výstupní a nesmí být ovlivněna jeho logická úroveň. Různé obslužné programy jsou většinou psány ve strojovém kódu procesoru. Je třeba zkontrolovat, zda nepracují s portem 95. Mohlo by se stát, že by došlo k přestránkování paměti bez předchozího překopírování zásobníku. Tak by se registr PC nastavil na náhodnou hodnotu s následným krachem programu. Pokud bude tato náhodná hodnota 0000H nebo FFFFH, bude výsledek stejný jako při RESETu počítače – dojde k vymazání paměti.

Vestavěný interface umožňuje připojit jeden joystick. Ten se připojuje k portu A obvodu 8255A, který je po zapnutí počítače inicializován jako vstupní. Protože je port A na adrese 31, můžeme jej použít jako KEMPSTON INTERFACE, což umožní ovládání naprosté většiny her. Schéma připojení je na obr.1.


Fig.: Připojeni joysticku k Didaktiku

Systémový konektor

je shodný s odpovídajícím konektorem u ZX Spectra – až na chybějící napájení +9V, –5V a –12V, signály video a rozdílové signály barvy. Z toho opět vyplývá, že řada standardních periférií ZX Spectra nebude ve spojení s Didaktikem fungovat. Na takto uvolněné kontakty mohl být vyveden aspoň CS obvodu 8255, který by byl směrem k dekodéru adresy oddělen odporem 680 ohmů. To proto, aby se dal celý vestavěný interface zablokovat a pak připojit např. interface pro dva joysticky, z nichž jeden je adresován jako Kempston.

Největším problémem při rozšiřování systému však asi bude signál /ROMCS, který (na rozdíl od ZX Spectra) není od obvodu ULA oddělen odporem. Proto POZOR při zapojování vnějších pamětí. Může dojít ke kolizi na sběrnici a případně i k poškození počítače! To se stane například při pokusu o připojení zařízeni ZX Interface 1 a ZX Interface 2!

Programováni obvodu 8255A není v návodu popsáno. Snad by tam mohly být alespoň odkazy na literaturu – např. na AR, v jehož ročníku 1983 bylo popsáno nejen programováni obvodu, ale je tam i popis procesoru a dalších obvodů. Potřebné informace přinesla i Sdělovací technika, Mikrobáze a další, jenže o tom návod mlčí (ať si chudák začátečník poradí, jak umí).

Kompatibilita a počítačem ZX Spectrum

Problémy kolem slučitelnosti počítačů Didaktik Gama a ZX Spectra vyplývají z předchozího textu, takže jen malé doplnění. Didaktik Gama má v podstatě stejnou konstrukci jako jeho vzor ZX Spectrum. Využívá i obvod ULA, který výrobce Didaktiku dováži. Z větší části zůstal zachován obsah paměti ROM, kde byly provedeny jen menší změny. Např. byla opravena rutina pro obsluhu NMI, byly doplněny rutiny pro obsluhu přepínání stránek paměti a obsluhu tiskárny přes Centronics atd. Všechny změny byly podrobně popsány v časopise Elektronika 8/88. Změna byla provedena i ve vstupu z magnetofonu (EAR) – zařazení zesilovače umožňuje použít jeden pětikolikový konektor DIN pro zápis i čtení programů. To je výhodné pro magnetofony SP 210 (SP 210 T) nebo minivěž T 710. Ne však pro přenosné magnetofony menších rozměrů (někdy ovšem větších kvalit), jako je třeba toho času jediný na našem trhu dostupný magnetofon ELTA. Ten je sice pro Didaktik vhodný, ale má jisté nedostatky. Předně při převíjení někdy dochází k poškození programů. Tuto nectnost odstraňuje pražská záruční opravna magnetofonů v Pařížské ulici č. 17. Druhou vadou, která se projeví právě ve spojení mgf. ELTA s Didaktikem a kterou je možno odstranit až po uplynutí záruční lhůty, je fakt, že při použití výstupu DIN nedojde k vypnuti vestavěného reproduktoru. Tento výstup je bohužel závislý na poloze regulátoru hlasitosti, který musí být při načítání programů v poloze MAX. Jak nepříjemný hluk přitom vyslechne obsluha a její okolí, není třeba líčit. Reproduktor nelze vypnout ani pomocí zápalky, zasunuté do jacku s označením EAR, protože tím se zároveň přeruší signál do konektoru DIN.


Fig.: Připojeni tři typů tiskáren k Didaktiku

Připojováni tiskáren

Dnes je již vyřešeno připojení čtyř nejdostupnějších tiskáren – BT 100 (SP 210 T), GAMACENTRUM, libovolné tiskárny s paralelním vstupem (např. D100) a ZX Printeru. Na rozdíl od prvních dvou typů, třetí nevyžaduje žádný podpůrný software. Ten je již uložen v upravené části ROM. Totéž platí pro ZX Printer jen musíme změnit obsah příslušných systémových proměnných. Rutina pro ZX Printer může být využita i pro BT 100, pro niž byl k tomu účelu zkonstruován zvláštní interface. Výhodné je, že neni třeba ukládat příslušnou rutinu do RAMky. Nevýhodou je pouze jednostranný tisk, který dále zpomalí už tak pomalou práci této tiskárny.

Pro tiskárny BT 100 a GAMACENTRUM ve spojení s Didaktikem existuje poměrně kvalitní obslužný program s funkcemi LLIST, LPRINT a COPY. Příkazem COPY lze tisknout ve dvou velikostech. Dále můžeme nadefinovat různé velikosti písma a u BT 100 i vlastní sadu znaků.

Připojení tiskáren je na obr.2. Připojení ZX Printeru není třeba uvádět, protože se zapojuje přímo na systémový konektor.

Michal Bechyně

Pozn.red.: Pokud je nám známo, žádné originální programy pro tento počítač na trhu nejsou. Před vánocemi byly dovezeny (zřejmě výprodejní) sady čtyř her pro původní ZX Spectrum. Na vánoční trh se však nedostaly, protože nebyla včas stanovena jejich cena. Nabídky tuzemských autorů ke spolupráci při tvorbě originálních československých programů a při úpravě vlastního počítače výrobce tvrdošíjně odmítá, případně odkládá jejich projednání na neurčito. Proč?