Máme obraz – replika MK14 VDU (Video Display Unit)

Asi nejzajímavější částí, kterou Science of Cambridge (později Sinclair) nabízeli k počítači MK14 byla zobrazovací karta VDU (Video Display Unit). Nemohl jsem tedy neudělat i její repliku. Naštěstí vlastním i originální kartu, tak replika šla poměrně snadno. Mám ji už nakreslenou i vyzkoušenou nějaký ten pátek, ale až teď jsem se dokopal udělat desky i pro ostatní a vše trochu popsat a zdokumentovat.

MK14_VDU_replica-original   MK14_VDU_screen

Replika MK14 VDU, kterou jsem udělal je patrně verze 2, alespoň k tomu navádí nápis na spodní straně S.O.C. V.D.U.2. Nevím, jaký je rozdíl proti verzi 1, žádnou jinou jsem nikdy neviděl, ani na eBay a i dostupný manuál odpovídá této verzi.

MK14 VDU funguje víceméně samostatně a počítač MK14 využívá přes DMA jen jako obrazovou paměť a zdroj hodin. Prostřednictvím signálu Enable Input (NENIN) zakáže procesoru sahat na sběrnici (zastaví ho), nastaví adresovou i datovou sběrnici a signálem Read Strobe (NRDS) čte data z paměti a vykresluje je na obrazovku. MK14 tak o VDU vlastně ani neví, zatímco uživatel pocítí určité zpomalení (signál NENIN zakazuje procesoru přístup na sběrnici asi 2/3 času, ale reálné zpomalení není tak hrozné, závisí na programu a třeba program hodiny se zpomalí asi o třetinu).

MK14_VDU_schematic
VDU využívá 2×256 bytů RAM pro obrazovou paměť a ze standardního plně vybaveného MK14 vám tak vlastně sebere všechnu, kterou máte k dispozici ve SRAM 2111 a pro program Vám zůstane jen 128 bytů RAM z obvodu RAM I/O INS8154. Můžete samozřejmě přidat další externí paměť. Verze MK14 ISSUE V, kterou jsem replikoval má plně dekódovanou adresaci ROM a je tak volný prostor 0200 až 07FF. Druhá možnost je smířit se s tím, že máte kus programu na obrazovce

Co vlastně MK14 VDU umí? Díky 512 bytům video RAM máte k dispozici textový režim 16×32 znaků nebo grafický režim 64×64 pixelů. Ano, opravdu je textový režim poměrně atypický a zobrazuje 16 znaků na řádek při 32 řádcích. Znaky jsou tvořené maticí 5×7 znaků, jsou trochu roztažené na šířku a jsou mezi nimi celkem mezery, ale nevypadá to špatně. Následující obrázky ukazují textový a grafický režim s těmi samými daty.

MK14_VDU_16x32characters   MK14_VDU_96x96pixels

Horní část obrazovky je na nich nastavená, aby zobrazovala RAM 0F00-0FFF, kde běží ROM monitor a dolní polovina zobrazuje RAM 0B00-0BFF, kterou jsem naplnil postupkou znaků 00-FF. Textové znaky se 4× opakují, protože ROM obsahuje jen 64 znaků.

Všimněte si, že řádků je o jeden méně. Na LCD, které jsem fotil, se mi nezobrazuje horní řada znaků. Myslel jsem, že to půjde poladit změnou C8 nebo C9, ale automatika v televizi se zuby nehty drží a obraz se ani nehne nebo je už úplně ztracený.

Kromě nastavení, která část adresního prostoru se má zobrazovat ve které polovině obrazovky umožňuje nastavení VDU ještě prohodit vzájemně obě poloviny, zobrazit inverzní obraz a pomocí signálu, kterým VDU dává informaci o zobrazované polovině obrazovky je možné třeba i na jedné polovině zobrazit textový a na druhé grafický režim.

S VDU se dá zkrátka vyblbnout. Myslel jsem, že upravím GAL mojí náhrady RAM/ROM, abych si přidal více RAM pro program, ale zatím jsem to nějak nepotřeboval. Líbí se mi totiž, je se mi program zobrazuje na jedné polovině obrazovky, zatímco v druhé se něco kreslí. Připomíná mi to Cosmac Elf s CDP1861. Prostě fakt retro Veselý obličej. Neodolal jsem a nakreslil jsem si na MK14 VDU Argo.

MK14_VDU_complete_with_SharpMZ   MK14_VDU2_MK8687CAB-vs-MK86S64CAB

Na obrázku vpravo můžete vidět dvě drobně odlišné znakové sady. Tady se dostávám k součástkám na repliku. Asi budete mít trochu potíže se sháněním DM74L86, dejte si pozor, má jiný pinout než klasický 74LS86. To ovšem nic není proti nedostupnosti původního znakového generátoru DM8678CAB. Pár kousků se mi podařilo za nekřesťanský peníz sehnat, ale pro všechny to není. Naštěstí microlan navrhnul náhradu za DM86S64CAB a ten už tak nedostupný není. Vyzkoušel jsem jej a funguje, jen znaková sada je trochu jiná, resp. znaky mají trochu jiný tvar. Rozdíl není velký a ukazuje ho právě obrázek vpravo. Uspořádání znaků na obrazovce není stejné, je to pseudonáhodný RAM bordýlek vytvořený po zapnutí, ale rozdíly ve tvarech znaků se na tom vysledovat dají. V době, kdy jsem ten obrázek tvořil jsem ještě neměl odladěný pohodlný způsob nahrávání programů do MK14 a teď už jsem líný vytvořit ten animovaný GIF znovu Mrkající veselý obličej.

Už jsem se zmínil, že MK14 VDU potřebuje přímý přístup na sběrnici. Jenže na horním konektoru žádná sběrnice vyvedená není. Naštěstí na verzi ISSUE V, kterou jsem nakonec replikoval jsou na spodní straně alespoň nezapojené plošky. Ty můžete s výhodou využít k tomu, že na ně příslušné signály vyvedete. Na to potřebujete 30 drátků a je to.

MK14_VDU_connection   MK14_VDU_switch

Já jsem si ještě přidal na horní stranu přepínač, kterým můžu VDU kompletně vypnout, můžu přepínat inverzní obraz (černá na bílé), znakový nebo grafický režim a prohazovat obě poloviny obrazovky. Nevypadá to úplně supercool, ale je to funkční. Dělal jsem to poměrně narychlo, znáte to, když se užuž těšíte něco vyzkoušet. A pak to tak zůstane napořád. Třeba to neděláte, ale já to tak mám celkem často Mrkající veselý obličej.

Konstrukce i postup oživování jsou poměrně hezky popsané v manuálu. PCB mám k dispozici, pro většinu mám k dispozici i náhradu znakového generátoru DM86S64CAB a najdu asi i nějaké 74L86, ale ty mi asi dojdou jako první. Kdo dřív přijde, ten dřív pájí Mrkající veselý obličej.

MK14VDU_PCB_front  MK14VDU_PCB_back

Všem, co si ode mně objednali repliku MK14 se ozvu, kdo si VDU předobjednal, má ho rezervované, nebojte.

Příspěvek byl publikován v rubrice MK14, Sinclair se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *