Press "Enter" to skip to content

ZX-Uno

Vlastním niekoľko FPGA klonov ZX Spectra a ZX-Uno som pôvodne už ani neplánoval kúpiť, ale objavila sa zaujímavá ponuka na stavebnicu a tak som neodolal. Postavil som to za jediný večer a tak sa s vami podelím o postrehy.

Ak by ste náhodou nevedeli, tak ZX-Uno je celkom vydarený španielsky FPGA klon ZX Spectra vo veľkosti Raspberry Pi. Jeho srdcom je Xilinx Spartan XC6SLX9, má k sebe 512kB (2MB) SRAM a 4MB (16MB) SPI Flash. Zobrazuje cez klasický videovýstup, alebo RGB/VGA out. Ako som už spomínal, primárne slúži ako klon ZXS, ale už existuje aj mnoho ďalších jadier, takže je to veľmi univerzálna mašinka.

Objednal som si už rozšírenú variantu s 2MB SRAM a 16MB SPI Flash a stavebnica prišla relatívne slušne označená a tak nebol problém identifikovať súčiastky. S ich kvalitou nebol problém, hoci dodávateľ stavebnice deklaroval, že väčšinu objedná z Čínska. Plošák je kvalitný, s pozlátenými plôškami, takže sa veľmi dobre spájkovalo. Ležérnym tempom, s niekoľkými prestávkami na oddych pre slabé oči, som to mal hotové asi za 3 hodiny. Skúsení harcovníci to podľa mňa vedia poskladať aj za hodinu.

Čo asi najviac na tomto projekte naserie, je ten bordel, ktorý okolo neho je. Stránky sú slabo aktualizované, dokumentácia rovnako. SVN je plné krávovín, ktoré k životu vôbec nepotrebujete, ale sa nimi musíte brodiť, ak niečo použiteľné hľadáte. Proste typická španielska mañana. Spústu informácii nájdete len na fóre, ktoré je bohužiaľ v španielčine, takže žonglovaniu s translatorom sa nevyhnete. Aby ste sa s tým nemuseli trápiť, všetko potrebné pre oživenie som uložil k sebe na kôpku, takže odpadá hľadanie.

Ale vráťme sa k stavebnici. Pri poskladaní som postupoval klasickým spôsobom. Najprv si skontrolujete, či netreba niečo vopred naprogramovať. V našom prípade treba naprogramovať SPI Flash. Obsah tej štvormegovej nájdete na domovskej stránke projektu, avšak obsah tej šestnásť megovej sa mi podarilo nájsť len vo fóre, na SVNku ho nenájdete. Odteraz si ho však môžete stiahnúť aj u mňa. Nech vás neprekvapí prípona .ZX1, je to priamo binárka, ktorú programátorom naprogramujete do čipu. Tuto je však jeden zádrheľ, na ktorý si treba dať pozor. Flash komunikuje s FPGA v Quad SPI režime, takže pri programovaní treba zapnúť bit QE, inak vám ZX-Uno vôbec nenabehne. Ako sa ukazuje, veľa programátorov to nastavenie nevie (napr. obbľúbené G540 / G840). Ja mám overený TL866 aj cez štipec, aj v ZIF sockete. Taktiež Elnec Picprog+ to dokáže. Ak vhodný nemáte, dá sa to oživiť aj osadené pomocou Raspberry Pi. Návod nájdete v dokumentácii projektu.

Po naprogramovaní SPI Flash som začal dosku osádzať. Ako prvé bolo na rade FPGA, keďže dá najviac roboty. Kedysi som sa toho bál ako čert kríža, ale čím viac ich osadíte, tým ľahšie to potom ide. Ja už som ich niekoľko poosádzal, takže už mám celkom grif. Používam veľa tavidla, hodne veľa tavidla. Tak aby bolo možné guličku cínu ležérne stiahnuť hrotom po nožičkách bez prístupu vzduchu. Na posledných dvoch-troch nožičkách vám síce zostanú skraty, ale tie sa dajú na dva-tri krát vytiahnuť suchým očisteným hrotom, kedže cín má vďaka povrchovému napätiu tendenciu sa sťahovať na miesto, kde ho je menej. Tavidlo potom opláchnem izopropylom. Ako to vyzerá vidíte na nasledujúcom obrázku, kde už je osadená aj SRAM.

Potom pokračujem ostatnými, menejnohovými čipmi, nasledujú všetky SMD smeti a nakoniec dávam všetko ostatné, ako sú konektory, elektrolyty a podobne. Nedá mi nezanadávať si práve na SMD smeti, pretože autor plošáku dal niektoré v puzdre 0603, čo už je na domáce osádzanie veľmi maličké. Najviac naserú tri diódky, pri ktorých absolútne netušíte kde je anóda a kde katóda. Mne sa to podarilo prepísknuť merákom, ale dobre som si pri tom zanadával. Absolútne nerozumiem, prečo tam nepoužil púzdra 0805, pretože miesta je tam na to dosť. Na nich je značenie pod lupou v pohode vidieť a aj sa oveľa ľahšie osádzajú. Okrem toho tam nie je väčšia zrada, takže osadenie je relatívne jednoduché. Mne v sade chýbala červená LED, ale tú som skanibalizoval kdesi inde. Na záver som celú dosku očistil izopropylom a po kontrole spájkovania som ho hneď zapol.

V SPI Flash je všetko potrebné na oživenie, takže ak ste dobre spájkovali, malo by vám ZX-Uno po zapnutí hneď nabehnúť. Mne síce nabehlo, ale obraz som mal nejaký ružový. Hneď som vedel, že mám zradu v RGB časti a po chvíli som ju aj našiel. Dva odpory som osadil zle, napriek silkscreenu. Je vidno, že už som slepý ako netopier. Po osadení na správne pozície už všetko bežalo tak ako má. Tu ho máte v celej kráse:

V podstate by ste už ďalej nemuseli robiť nič, len ZX-Uno používať, ale jeho krása spočíva v tom, že si ho viete priohnúť pre svoje potreby. Základný obsah SPI Flash je trocha chaotický a tak som si to ponastavoval celé inak. Chcel som mať k dispozícii základné modely ZX Spectra (48k, 128k), +2e, Pentagona a potom jeden 128k, kde budú povolené všetky vymoženosti ZX-Una.

V provom rade som si zdvihol verziu “BIOSu”, keďže tam bola staršia. Aktuálnu nájdete vždy na domovskej stránke (firmware), súčasnú verziu 0.63 som uložil aj k sebe. No a následne som si vytvoril vlastný balík ROM, aby to vyhovovalo ďalším nastaveniam, ktoré som chcel spraviť. Pôvodný balík som tiež zaarchivoval.

Primárne to mám nastavené tak, že vo všetkých základných modeloch mám vypnuté divMMC a rozšírenú grafiku, pretože to viem v BIOSe potom zapnúť podľa potreby. A ako som spomínal vyššie, mám tam jeden model, kde mám naopak všetko zapnuté, aby som zasa nemusel vždy všetko zapínať. Ten mám nastavený ako bootovací. Keď niečo nefunguje, zvolím základný model automaticky viem, že to tam mám povypínané. V pôvodnom nastavení bolo všade všetko pozapínané a trocha som sa v tom strácal, keď niečo nešlo tak ako som očakával.

Následne som si ešte upratal jadrá. Pôvodne tam boli aj nejaké jednoúčelové arkády (dajú sa nájsť na fóre), ktoré by som vôbec nevyužíval a len by zaberali miesto, hoci je ho zatiaľ dosť. Tiež tam chýbali nejaké jadrá, ktoré ma zaujímali a tiež sú len vo fóre. Tak vznikol môj upravený set, ktorý si tiež môžete stiahnuť u mňa. Nie sú tam tie arkády, ale zasa sú tam pokope všetky počítače. Ak z toho niečo chcete použiť, treba odmazať z názvu súboru text v hranatých zátvorkách (viď nižšie), ktorý tam mám len z informačných dôvodov. Odzálohoval som aj jadro ZX Spectra v súčasnej verzii T24-11022017. Pre istotu.

Všetky tieto aktualizácie sa dajú robiť priamo cez BIOS z SD karty, ale nie všetko je pohodlné. Máte dve možnosti ako aktualizovať. ZX-Uno má EAR port, takže aktualizácie sa robia buď prehrávaním TAP súborov, alebo pomocou predpripraveného súboru z SD karty. Napríklad BIOS a ZXS Core je jednoduché. ROM sety a ostatné jadrá už také jednoduché nie sú. Súbory jadier musíte pomenovať COREn.ZX1, kde n je číslo slotu, kam sa má jadro nahrať. BIOS ho tam potom strčí automaticky, ale ak sa pomýlite, tak si prepíšete pôvodné jadro. Čo je tiež obťažujúce, tak po každej aktualizácii jadra je potrebné manuálne naťukať jeho názov.

Pri ROMkách je to ešte krkolomnejšie. Po jednom ich viete aktualizovať a meniť aj cez BIOS, ale ak chcete zmeniť celú zostavu, musíte mať prístupnú jednu “rootnutú” ROM, ktorá má povolený zápis do SPI Flash. Aktualizácia potom prebieha v prostredí ZX Spectra, ESXDOSovým príkazom .ROMSUPGR (.ROMSBACK pre backup), pričom musíte mať na SD karte v adresári z ktorého to spúšťate, príslušný ROMS.ZX1 súbor. Našťastie sa tieto balíky dajú pohodlne pripraviť priloženou utilitkou (windowsáckou samozrejme, ale funguje aj cez wine). Treba dávať pozor na tú “rootnutú” ROM, lebo ak si ju omylom odmáznete, do Una sa potom dá dostať už len vypískaním z TAP súboru.

Celkové dojmy z Una mám zmiešané. Na jednej strane je to úžasný maličký stroj, ale na druhej strane mu podráža nohy bordel v projekte, neaktualizované stránky a jazyková bariéra. Po takej dobe, čo už je ZX-Uno na svete, by som čakal dobre rozbehnutý a kvalitne zdokumentovaný projekt, ale to sa proste nedeje. Je to škoda, lebo inak je to veľmi zaujímavý stroj, nech sa na to dívame akokoľvek.

Ak ešte nemáte žiaden ZX klon a uvažujete o nákupe, ZX-Uno je dobrá voľba. Je malé, celkom slušne ohýbateľné, cenovo dostupné a projekt je živý. Získate trocha rozšírené (Ula+, Radastan, Timex módy, TurboSound) ZX Spectrum 128k s divMMC v jednom, pripojiteľné k bežnej TV i VGA monitoru a lusknutím prstov si z neho dočasne viete spraviť trebárs Sam Coupé, alebo Amstrad CPC. Čo viac si priať?

One Comment

  1. Pardál Pardál

    Ahoj kamaráde. Zrovna jsem si jedno ZX-uno+ pořídil. Tvůj článek je super, jejich stránky jsou opravdu chaos. Koupil jsem si totiž ZX N-GO a je tam malý přepínač na druhou flash. Po přepnutí naběhne ZX-UNO 🙂 Takže DVA v JEDNOM 😀 a letos se aktualizovalo například jádro SAM COUPE a taky to XTéčko mne tam zajímá.
    PARDÁL

Leave a Reply

Your email address will not be published. Required fields are marked *