ZX81

Radost z nákupu, prvotní ohledání a naivní myšlenka

Je 7. 3. 2014 a je tu zas jedna vyhraná internetová aukce: Vrak počítače ZX81. Jak vidíte podle fotek, chybí několik součástek. Konkrétně chybí CPU a paměti, ale to se dá koupit nebo vzít ze zásob. A naštěstí CPU a ROM byly v patici a RAM doloval ven někdo, kdo to alespoň trochu uměl a nepoškodil přitom plošňák.

ZX 81 stav po nákupu
Také chybí klávesnice, ale ta jde nahradit. Vlastně mám to hlavní: plasty, plošňák a obvod ULA - doufejme, že ULA bude fungovat.

Největší oříšek bude tohle:

Poškozený přímý konektor
Na přímém konektoru se odchlipuje jeden kontakt. Nevím co s tím, zda má smysl to lepit sekunďákem. Ale je to něco, co se dá řešit až ve "druhé vlně".

Prvotní myšlenka, kterou jsem ovšem po nějaké době odvolal a změnil v opak, byla následující: Nebudu se s tím moc patlat, nebudu dbát na originalitu a místo chybějících součástek použiju dostupné náhražky, nejlíp v maximální míře využít součástky, co mi leží v šuplíku. Ty součástky nejsou vidět, tak o nic nejde. Originální CPU je typu D780C-1 a je to klon Z80. Podle dostupných informací by měla jít použít i standardní Z80, takže no problem. Problem by nastal ve chvíli, kdyby D780C-1 měl nějaké nestandardní instrukce a nějaký software to používal. Uvidíme.

Jako ROM je použit neobvyklý 8KB čip typu 2364. Pinout má téměř stejný jako standardní 27(C)64, takže nebude problém udělat si redukcičku a použít 27C64.

   +---------------------------+
Vpp| 1           V           28|Vcc
A12| 2     +-----------+     27|/PRG
 A7| 3   A7| 1   V   24|Vcc  26|NC
 A6| 4   A6| 2       23|A8   25|A8
 A5| 5   A5| 3       22|A9   24|A9
 A4| 6   A4| 4       21|A12  23|A11
 A3| 7   A3| 5       20|/CS  22|/OE
 A2| 8   A2| 6       19|A10  21|A10
 A1| 9   A1| 7       18|A11  20|/CE
 A0|10   A0| 8       17|D7   19|D7
 D0|11   D0| 9       16|D6   18|D6
 D1|12   D1|10       15|D5   17|D5
 D2|13   D2|11       14|D4   16|D4
GND|14  GND|12       13|D3   15|D3
   +-------+-----------+-------+

Jako RAM se dá použít více různých IO. Je tu možnost instalovat 1KB RAM v konfiguraci 2x2114 nebo 1x4118, a nebo se dá použít dvojkilovka 6116. V tomhle mám jasno - nedávno jsem viděl ve výprodeji čipy Tesla MHB2114 po třech korunách, no nekupte to. Nekupte jich dvacet, když byly tak levně. Dva kousky z této zásoby poputují sem.

Takže pokud je v pořádku ULA, "rozchození" by mělo být otázkou jednoho odpoledne. Pak se uvidí jak budu řešit tu klávesnici. Na Internetu jde najít i návody, jak si podomácku vyrobit repliku původní membránové klávesnice.

Jde se zprovozňovat a naivní představy padají

Uplynul nějaký čas a jal jsem se rozcházení. Mezitím jsem si rozmyslel, že čipy MHB 2114 v počítači dlouho nebudou, ale na vyzkoušení je tam dám. Pak půjdou ven a do počítače přijde nějaká větší paměť. Jo, originálně se připojuje další paměť externě přes ten přímý, v mém případě poškozený, konektor vzadu. Jenže já už se rozhodl, že na originalitu příliš dbát nebudu (ještě jsem nevěděl, že toto nakonec totálně odvolám a budu se naopak počítač snažit uvést do co nejvíc originální podoby). A kdybych chtěl externí paměť, musím řešit ještě krabičku a to se mi nechce. A když bude nějaký větší paměťový čip paměť interně, můžou jít ty čipy MHB2114 pryč. MHB 2114 jsou "žrouti". Podle katalogu může MHB2114 brát ve špičce nehorázných 100mA, takže významně zatěžuje zdroj a pochopitelně i topí, což jsou celkem nežádoucí funkce.

Jako CPU jsem použil krásné nové (ano, pořád se vyrábí) Z-80 přímo od Ziloga s označením Z84C0010PEG. Jako ROM jsem použil 28C64, ta je na pokusy lepší než 27(C)64 protože se dá rychle mazat elektricky. Redukci jsem vyrobil ve stylu "hotovo za 15 minut" z patice DIP28, dvou "hřebínků" a pár kousků drátu. Jsem líný to fotit, ale asi si to každý umí představit. Je to moc vysoké, takže pak nejde přiklopit horní kryt, ale to teď neřeším, řeším vyzkoušení.

Po zapnutí se mi na televizi podařilo naladit jen černou obrazovku. Kontrola napětí říká, že napájení je všude OK. Modulátor jsem prověřil jednoduše tak, že jsem na vstup přivedl signál z NF generátoru. Na obrazovce se objevily vodorovné pruhy, což je správně. Výhoda klasického analogového CRT televizoru - když má "nějaký" signál, tak "něco" zobrazuje, i když chybí synchronizační pulzy. Na novém televizoru bych pravděpodobně viděl jen obligátní nápis "no signal". Legendární televizor Merkur je prostě neodmyslitelná součást mojí elektrodílny.

Tak řeším co se ZX81 dál, hlavně se snažím pochopit jak ZX81 vlastně funguje. Ono je hezké, že ULA počítač zjednodušila a zlevnila, ale pro mě ULA je mrcha, do které nevidím, a přitom zajišťuje půlku všech funkcí. Pravda, Atari je mnohem horší, tam je podobných mrch několik (ANTIC, GTIA, ...), jenže jsem je aspoň programoval a tak mám představu, co ty čipy vlastně dělají. ZX81 jsem nikdy neviděl v chodu, natož abych ho programoval. Navíc mám téměř nulové zkušenosti s procesorem Z-80. Problém je, že právě ULA bude nejspíš vadná, všechny ostatní čipy jsou nové. Je to i logické - někdo z toho počítače vydoloval, co fungovalo a zbytek hodil do aukce. Tak váhám, jestli rovnou koupit nový obvod ULA (na Internetu jsem ho viděl v prodeji za nechutných 8 liber + poštovné z UK), nebo počítač dál diagnostikovat (a hodiny práce budou plynout a plynout) a pak když se pravděpodobně potvrdí, že vadný obvod je ULA, tak ho tak jako tak koupit nový. Další možnost je rovnou se na to vy... a hodit ZX81 zpátky do aukce. Taky by se dalo "vysmahnout" funkcionalitu ULA do FPGA, možná by stačilo CPLD. Jenže to by zas bylo hodně hodin práce to odladit. Navíc když RAM i ROM bude v redukci a jestli má být i místo ULA něco jiného, pak by to i chtělo navrhnout a udělat nový plošňák, čímž by se i vyřešil problém toho poškozeného přímého konektoru. Pak je na zvážení, jestli ZX81 do FPGA nenapálit celé, ale toto je cesta, kterou neuznávám. Na každý pád, možností je hodně, ale času na hraní omezeně.

Na počítače firmy Sinclair mám nějakou smůlu. Mám i ZX Spectrum, taktéž mrtvé. Pochopitelně bych rád napřed rozchodil ZX81 a až pak se pustil do složitějšího ZX Spectra.

CPU podruhé

Nová událost - v nabídce "slona" jsem našel originál NEC D780C-1. Okamžitě letěl do košíku a dnes, 2.6.2014 už mě hřeje v kapse. Sice jsem psal, že na originalitě mi nezáleží, ale když ten originál je k dispozici, není důvod, ho nepoužít, tak hned jde do ZX81. CMOSovka Z84C0010PEG zas putuje do Savie (kvůli malé spotřebě, ze Savie dělám bateriemi napájený "cestovní jednodeskáč") a endérák UA880D se ze Savie vrací do zásob. Stále ovšem platí, že počítač ZX81 nefunguje.

"Chlípný" kontakt

Tak ten odchlipující se kontakt na "šoupacím" konektoru lepím sekunďákem k PCB. Hlavní důvod je ten, že ho nechci při manipulacích s deskou odlomit úplně. Dál platí, že na tento konektor nebudu nikdy připojovat nic kritického, co může způsobit pád počítače, naříklad rampack (teď ještě nevím, že to za pár týdnů odvolám).

Zlomový bod - nová ULA

Po nějaké té diagnostice docházím k závěru, že "mrcha" ULA je skutečně vadná. Ona tak nějak napůl funguje, například dekóduje adresy, generuje NMI, ále nezobrazuje. Diskutoval jsem to s Jirkou Koutným a potvrzuje tento závěr, díky Jirko. Vymýšlet a ladit náhradu "ULY" programovatelným polem se mi nechce. Tedy objednávám novou "ULU".

14.7.2014 mi přišla nová ULA. Na nic nečekám, vybaluji balíček, stará ULA jde ven a nová se zasouvá do patice. Hurá! Po připojení ZX81 a naladění televizoru vidím bílou obrazovku a na ní inverzní K. Klávesnice zatím nět, tak kouskem drátu propojuji piny v konektoru a kochám se tím, že ZX81 reaguje. Teď už je jasné, že opravu tohoto původně vraku dotáhnu do konce. Další bod programu bude klávesnice. Pak nějak líp vyřeším připojení (E)EPROM, aby šel přiklopit horní kryt počítače Nakonec přijde k řeči větší RAM a bude tam interně.

Klávesnice

Čas plyne a protože se těším, až sem napíšu slovo "hotovo", klávesnici prostě objednávám na e-bay. Koukám na nabídku a čtu, že prý je to originál z roku 1980 a že prý je to poslední kus. Ano, možná to je klasický komerční trik, i když mě napadá upravená věta z legendárního seriálu: "je to tak průhledné, že to komerční trik být nemůže". Je mi jedno, jestli to je originál a jestli je poslední. Ke štěstí mi bude stačit, když bude klávesnice fungovat a mačkám tlačítko "purchase". Když klávoška přišla, chvíli ležela v šuplíku, poněvadž jsem musel řešit jiné věci. Pak nějaký ten víkend jsem konečně zas pokročil.

Redukce pro (E)EPROM podruhé

Originální ROM nebo ekvivalentní obvod se nedaří sehnat. Zůstávám tedy u 27/28(C)64. Je potřeba udělat lepší redukci, než byla ta narychlo zbastlená. Nesmí to být moc vysoké, aby šel přiklopit horní kryt. Nakonec jsem to vyřešil takto: Do původní patice pro ROM jsem zasunul precizní patici DIP 28W. Ještě před zasunutím bylo potřeba zkrátit piny č. 20 a 23, tedy ty, které jsou zapojeny jinak oproti 2364 (viz obrázek výše). Musí se zkrátit tak, aby se nepropojily s piny v původním soketu, ale nesmí se uštípnout úplně, musí tam zbýt něco, na co se dá pájet. Pin 20 je pak potřeba propojit s pinem 14 (tažení /CE do úrovně L) a pin 27 (/PE) přes přiměřený odpor na napájení, třeba k pinu 28. K pinu 23 (A11) jsem připájel krátký kus izolovaného drátu. Pak je možné patici zasunout do původní. Zvláštní je, že se na tom plošňáku (přinejmenším v issue, co mám) jakoby s pamětí 27C64 nebo 28C64 napůl počítalo. Napětí +5V je k dispozici přímo v pozici pinů 1 a 28, kde jsou potřeba a stačí zde propojit zasunutou patici s plošňákem krátkým kouskem drátu. I signál A12 je též k dispozici tam, kde je potřeba (pin2) a zas stačilo propojení krátkým drátkem. Signál A11 je k dispozici v blízké prokovce (viz foto) a vede se na pin 23, kde jsem už před tím připájel kousek drátu. To vše jsem udělal a pak zjistil, že to pořád není ono. Horní kryt pořád někde mírně zavadzel. Zjistil jsem, že naráží na hranu EEPROM. Už se mi fakt nechtělo to předělávat a dělat třetí verzi redukce. Bylo důležité, že jsem použil 28C64, která má plastové pouzdro. Nevím, jak by dále popsaná úprava šla provést s IO v keramickém pouzdře. Provedl jsem dost neobvyklý úkon - prostě jsem na tom integráči tu překážející hranu zbrousil pilníkem. Při pilování v těchto místech by nemělo dojít k ohrožení funkcionality IO, protože tudy by vnitřkem neměly vést žádné spoje. Vzpomínám na druhojakostní IO z Tesly, u kterých tu a tam někde na straně kus plastu prostě nebyl. Ale fungovaly, tenkrát platilo, že i druhojakostní zboží bylo funkční.

Výsledek nevypadá jako totální blbost a přiklopení horního krytu už nic nebrání.

RAM podruhé a potřetí, aneb situace na frontě se mění každým okamžikem

I když jsem se už rozhodl stroj uvést do co nejvíce původní podoby, pořád jsem se chtěl vyhnout použití externího rampacku a mít nějakou větší RAM uvnitř. Napřed jsem to řešil úzkou pamětí W24M257, což je totéž jako 61256. Vzal jsem ji z nějaké základní desky pro Pentium 1, kde sloužila jako cache. Říkal jsem si, že Pentium 1, to je starý krám, který už k ničemu není, ale v ZX81 může paměť ještě posloužit :-) Při tvorbě redukce jsem myslel na to, aby byla co nejnižší, protože nad RAM sice už je víko vysoko dost, ale zas tu prochází plochý kabel ke klávesnici, dělá tam záhyb. RAM jsem zapájel do kousku univerzálního PCB, z druhé strany připájel "hřebínky" a prodrátoval. Po hodině "drátkování" a zkoušce sestavení jsem zjistil průs... Místa mezi pamětí a horním víkem skříně je málo. Ten kabel ke klávesnici se tam ohýbá moc a už po prvním pokusu a přiklopení krytu se na kabelu začala dělat ostrá hrana, což je špatně. Tudy tedy ne přátelé, tudy cesta nevede. Jenže co dál? Nakonec to asi dopadne na ten externí RAM pack, i když jsem se tomu chtěl vyhnout. Teď ale žádný rampack stavět nebudu, teď chci napsat "ZX81 hotovo" a zaměřit se na jiné rozdělané věci. Řeším to instalací dvoukilové pamětí HM6116. V plošňáku nechávám patice na 2114 a přidávám tu na 6116, dají se tak i v budoucnu používat oba typy pamětí (pochopitelně ne najednou). Jinak musím potvrdit, co již bylo na Internetu napsáno mnohokrát - po vyjmutí švábů Tesla MHB2114 výrazně klesla teplota stabilizátoru 7805 a jeho chladícího plechu. Abych byl přesný - s pamětí HM6116 už nemám strach, že se po delší době provozu začnou v okolí stabilizátoru a chladiče tavit plasty. Navíc 6116 je dvoukilovka a navíc se ekvivalentní paměti používaly i u některých sérií ZX81 originálně.

Šrouby

Poslední co chybělo, bylo sešroubovat skříň, ZX81 jsem dostal bez šroubů. Vydal jsem se do Fabory sehnat nějaké samořezné šrouby, co tam budou co nejlíp pasovat. Nedělám si iluze, že seženu šrouby co mají přesně původní závity, ale hledám co nejlepší aproximaci. Docela dobře tam šly samožezné šrouby s označením (dle katalogu Fabory) 26100.022.009/D7971F OC.NIKL ŠROUB ST2,2X9,5MM.

Je 20.8.2014 večer a konečně mohu napsat ono kouzelné slovo

HOTOVO

Původní plán "naflákat" do ZX81 součástky ze šuplíku a během jednoho odpoledne ho zprovoznit, nevyšel. Těch odpolední bylo o trochu víc než jedno. Řadu původních plánů jsem přehodnotil, některé i vícekrát. Ale výsledek stojí za to. Z vraku jsem zas udělal krásný funkční stroj. A nakonec, i když to původně nebylo v plánu, stroj je prakticky osazen původními součástkami. Jedinou náhražkou je EEPROM 28C64 namísto ROM 2364. Ale třeba někde v nějaké aukci zahlídnu původní ROM a nebo EPROM MC68764, která má stejný pinout, tak bych ji ani nepovažoval za náhražku. Že je toto ZX81 téměř originál, s tím se pojí i příslušné nectnosti, např. že obrazový signál leze ven jen namodulovaný a bez back-porch. Moje nová LCD televize je z toho zmatená. Občas na ní obraz z ničeho nic asi napůl minuty ztmavne a pak se zase na 5 minut rozjasní. Ále ZX81 se nemá připojovat k dnešním megasupermoderním přístrojům. Když se jako televize použije dobová klasika Merkur, obraz je celkem obstojný, tedy přesně takový, na jaký jsme byli zvyklí. Fotka obrazu vypadá mnohem horší, než je skutečnost, projevuje se zde moiré.




Zpět