Po chvíli hledání na internetu jsem narazil na super stránky Granta Searla (home.micros.users.btopenworld.com) a Paula Farrowa (www.fruitcake.plus.com). Tyto stránky se pro mě staly inspirací a rozhodl jsem se jít do toho.
Plošný spoj (PCB)
Začal jsem s deskou plošných spojů. Grant má na svých stránkách jak schéma (http://home.micros.users.btopenworld.com/zx80/zx80.pdf), tak i kompletní překreslený plošný spoj ZX80 ISSUE 2 (http://home.micros.users.btopenworld.com/zx80/PCBFoils.zip).
Bohužel, Grant koncipoval desku sice jako oboustrannou, ale s ohledem na domácí výrobu neplánoval strojové vrtání a prokovy. Data na výrobu jsou uložené jako bitové mapy vložené do PDF. Je tedy nutno desku vrtat ručně a prokovy rovněž manuálně propojit. Což o to, to by šlo, ale u jednotlivých IO, zvláště pak v paticích je to docela „opruz“. Proto jsem se rozhodl nechat udělat vrtací rozložení a desku oboustrannou a prokovenou. Výrobu prototypu jsem zadal firmě APAMA (www.apama.cz), protože jako jedni z mála oslovených byly ochotni dělat desku nikoli z obvyklých dat, ale z PDF nakresleného Grantem, vč. vrtání a prokovů.
Deska byla hotová za necelé 2 týdny.
Pustil jsem se hned do osazování a za chvíli bylo hotovo.
Bohužel, první zapojení mi radost rozhodně neudělalo. ZX80 ani nepípla. Teda, ne že by ZX80 uměl pípat :-), koneckonců nemá ani čím, ale prostě to nešlapalo.
Projel jsem zdrojovou část (tu samo ještě před zapojením), zkontroloval napětí na všech IO, hodiny šlapou, reset resetuje, ale procák evidentně stojí. Pak jsem objevil první problém.
Keramický rezonátor
V původním ZX80 není použit klasický krystal. V originální příručce k ZX80 Kitu najdete, že oscilátor je vytvořen z CDA6.5MC, což je označeno jako „3-lead ceramic filter“. V GME jsem našel něco, co se jmenuje „CXT 6,5MHZ Keramický rezonátor 6.5 MHz, tří vývodový“, což mi přišlo jako to pravé.
Bohužel to pravé to není. Kmitá to na cca 2-násobné frekvenci a na relativně malém napětí. Na vývodu 3 IO20 to chodí od 0 do max. 2V a dál už to pak prolézá jen hůř. Pokud chcete, můžete použít klasický krystal. Bohužel krystal se mi nepodařilo koupit 6.5 MHz, ale jen 6.5536 MHz, což není úplně ono.
Když jsem začal problematiku trochu studovat, zjistil jsem, že součástka CDA6.5MHz je keramický diskriminátor. Ty se naštěstí sem tam dají koupit i dnes.
KERAMICKÝ DISKRIMINÁTOR v originálním ZX80
Keramický diskriminátor od Martina Lhotského
Oscilátor osazený keramickým diskriminátorem šlape jako víno, přesně tak, jak má.
U Bučka jsem pak narazil na keramické filtry 6.5 MHz a zkušebně zakoupený filtr také funguje a oscilátor kmitá správně.
/IORQ není /MREQ
Opravil jsem tedy oscilátor, ale pořád nic. Oscilátor šlape jak má, procák šlape (aspoň tak vypadá, otázka zní, zda vykonává správný program ;-), paměti RAM i EPROM vypadají OK. EPROM i CPU jsem pro jistotu prohodil s origo ZX80, ale obraz veškerý žádný. Proměřil jsem, zda nemám nějaký zkrat kdekoli okolo CPU, RAM, EPROM, ale všechno v pohodě, datová i adresová sběrnice je (aspoň mezi CPU, RAM, EPROM) propojená, jak má být.
Nakonec se zadařilo. Chyba byla v Grantově překreslení tišťáku. Část logiky, vedla na /IORQ místo /MREQ. Stačilo přepojit jeden drátek z pin 20 na pin 19 CPU a JEDEME!
Můj první sofistikovaný ZX80 program.
Zlepšení černé
Obraz ze ZX80 pouštím na relativně moderní LCD TV. Aby obraz byl čitelný, je potřeba docela zvýšit jas a pak je černá spíš šedá. Paul Farrow připravil poměrně hezkou stránku, kde je popis úprav pro zlepšení černé http://www.fruitcake.plus.com/Sinclair/ZX80/VideoGeneration/ZX80_BackPorchGeneration.htm. Principiálně je problém v tom, že v obraze generovaném ZX80 chybí reference na černou. Staré analogové televize ji ne vždy používaly a nějak si s tím obvykle poradily. Dnešní TV s tím ale mají problém a je nutno upravovat jas.
Back Porch generator od Paula Farrowa jsem nejdřív zapojil na breadboardu, pak jsem ho jen tak zbastlil ve vzduchu a nakonec jsem mu nasel pěkné místečko vzadu na desce. Připojil jsem ho malinko jinak, než to bylo namyšleno s ohledem na to, že mi vlastně nevadí na desce pájet shora.
Obraz je výrazně lepší, nemusí se honit jas, ale pořád má různé tmavší svislé proužky. Později tomu ještě zkusím věnovat, ale mám pocit, že problém je způsobený rušením z ve vedení cest na desce. Uvidíme. Nicméně obraz je perfektně použitelný a jsem spokojen.
16kB Sinclair RAM PACK
Zkusmo jsem zkusil taky připojit a otestovat originální Sinclair 16k RAM Pack a šlape taky v pohodě.
Připojení kazetového magnetofonu
Měl jsem pocit, že už všechno šlape, ale ještě jsem chtěl vyzkoušet kazeťák a tady jsem narazil. Po zadání LOAD a <NewLine> se program okamžitě vrátí zpět, mám kurzor a nic ne neloaduje. Tak jsem vytáhnul starou původní ZX80 a vyzkoušel, že mi dělá úplně to stejné. To mě dostalo. Zhodnotil jsem, že mám asi blbou ROM, resp. EPROM, protože oba stroje mají společnou EPROM 2532, protože původní ROM v té staré ZX80, když jsem ji koupil, byla ze Sinclairova upgradu na ZX81 (Fast mode only). Tak jsem vytáhnul ze šuplíku původní ROM ZX81, prohodil ji v patici a zkusil LOAD „“. Efekt byl tentýž na obou strojích, pořád to samé, LOAD se hned vrátí, pouze tentokrát dostanu alespoň chybovou hlášku D/0, což vypadá, jako kdybych to nahrávání breaknul. Dělat mi to jen ta nová replika, tak si řeknu, že je ještě nějaká chyba v desce nebo jsem někde udělal chybu já, ale protože to dělá i původní originální ZX80, byl jsem z toho dost zmatený.
Pečlivým zkoumáním klávesnice jsem objevil další chybku na Grantově desce. Odpory 47k, které přitahují signály na +5V nebyly připojeny na těch +5V . Myslel jsem, že to je ono, ale evidentně ne. Chyba to určitě byla, protože rozpojená klávesa má pak za následek nedefinovaný vstup na LS365, ale on se asi stejně drží v log. 1. Po té, co jsem zapojil ty 47k odpory na +5V jsem si ještě řekl, že je zkusím snížit. ZX81 má 10k, tak jsem tam pro jistotu dal rovnou 6k8 a ještě paralelně k těm 47k, takže tam mám cca 6k. No a vida, už můžu dát LOAD a on se spustí a breaknout se dá fakt jen SPACE. Celou klávesnici jsem pečlivě otestoval a všechny klávesy šlapou jak mají.
Napsal jsem krátký prográmek, uložil na kazeťák a opětovně nahrál. Vše šlapalo jak mělo. Zato digitální technologie zklamala. Noťák, iPhone ani iPod nedostane do ZX80 nic srozumitelné. V nejlepším případě se načte bordýlek, který se po breaknutí samozřejmě smaže. Občas to vypadne z té LOAD rutiny „jakože“ správně, ale stejně „bordýlek“. Pravda, použil jsem dva různé softy pro převod a oba jsou původně určené pro ZX81, ale .p a .o se pokud se nepletu víceméně liší jen hlavičkou. Asi to bude slabým signálem. Našel jsem na netu nějaké tipy a určitě je brzy vyzkouším. Ale, hlavně, že kazeťák šlape.
Potisk rozložení součástek
Opravil jsem dvě nalezené chybky na DPS a chystal jsem se dát desky do výroby. Pak mi ale začalo hlodat v hlavě rozložení součástek na originální desce. Zjistil jsem si cenový rozdíl ve výrobě a s ohledem na to, že je to asi 50 Kč jsem ještě pustil do kreslení rozložení součástek.
Byla to docela fuška, na desce je spousta nepravidelností. Vše jsem pečlivě zkontroloval, odhalené chybky opravil a HOTOVO!
Nakonec jsem si ještě udělal vizualizaci desky i s potiskem. Vypadá krásně, věřím, že takto pěkně budou vypadat i desky z výroby.
No a takhle vypadá finální verze prototypu vedle originálu.
Pingback: Popis tvorby prototypu repliky ZX80 | Martinův 8-bitový blog
Pingback: Návod na stavbu repliky ZX80 | Martinův 8-bitový blog
<3 <3 <3 <3
PERFECTION!
<3 <3 <3 <3
Hi, sorry because I’m a spanish and i dont understand czech and my english is very bad. I’m making a zx80 replica too and just today i have found the error in the z80 pin 19 – 20, so thank you because you have confirmed that the pcbfoils are wrong. if you like to see my progress (sorry only in spanish) you can see them in http://www.zonadepruebas.com/modules/newbb/viewtopic.php?topic_id=10397&forum=17
Koupil jsem ty posledne zminovane v GME a nevim, jak je tam narvat, resp kterou nozicku ulomit. Nesla by udelat fotka zespodu desky v oblasti konektoru? Podle zapajenych spoju by se dalo urcit, ktere nozicky pouzit a ktere ulomit.
Mám problém, a prosím o radu, postavil jsem 2 repliky a u obou se mi objevuje stejný problém a to generátorem 6,5 Mhz, na pinu 3 nebo 2 u 74LS86 mám nízkou úroveň špička-špička cca 0,4V při úrovni do 2V, měřeno osciloskopem. Napájecí napětí je bez šumu, měnil jsem různé filtry 6,5MHz hnědé, modré a i krystal 6,5MHz a výsledek je stejný. Také nejsou změny při výměně kondenzátoruC13 33-220pF. Neporadíte mi fintu jak na to ? Moc děkuji za odpověď nebo radu.
Lubomír
Ahoj,
jak píše pvvs, asi nejvíc pravděpodobný je špatný keramický filtr. Nesmí tam být keramický rezonátor. Na druhou stranu, krystal mi v pohodě chodil. Já koupil keramický diskriminátor CDA6.5MC u Martina Lhotského, ale fungoval mi i keramický filtr od Bučka SFE 6.5 MHz. Keramický rezonátor 6.5 MHz, který mají v GME použít nelze.
Možná si ten oscilátor zkus postavit na nepájivém poli, ať máš jistotu, že funguje. Koukni na https://www.8bity.cz/zx80-replika/jak-jsem-stavel-repliku-zx80/, píšu o tom skoro nahoře a dělalo mi to skoro to samé, co Tobě – tj. 0-2V a frekvence byla dvojnásobná.
Teď jsem změřil moji repliku a piny 2 a 3 mají L někde okolo 0,3V a H okolo 3,5V. Snímek jak to vypadá na funkční replice je zde https://www.8bity.cz/files/zx80/ZX80_oscillator_pin2-3_74LS86.jpg
Ať se daří!
Martin
Ja nasel starsi TV a z ni vykuchal ze zvukove casti filtr 6,5MHz . Na kazdem zbernem dvore jich je dost.