Zeta SBC (Single Board Computer)

Pieni ihminen koki tarvetta laajentaa atk-valikoimaansa retrohenkisellä kalustolla. Melkoisen veppikahlailun jälkeen selvisi, että maailmassa on muitakin ihmisiä jotka ovat kokeneet samoja tuntemuksia, ja erilaisia hyvinkin vakavasti otettavia retrosäätämisen projekteja on maailmassa useita. Osa vääntää klooneja vanhoista Sinclaireista, osa tekee PAL- ja FPGA-piireillä rautapohjaisia simulaatioita, osa käyttää modernimman ajan piiteknologiaa uusin pintaliitoskomponentein tuottaakseen minikokoisia 80-luvun uljaan atk:n toisintoja.

Selvästi elinvoimaisin retrokone-ryhmittymä on kuitenkin N8VEM-projekti.  Löyhä harrastelijakoalitio suunnittelee ja valmistaa laajaa sarjaa varovaisella kädellä modernisoituja järjestelmiä - korttia, valittavissa olevia CPU:ita ja väyliä on pilvin pimein. VME-, ISA- ja S100-väylään perustuvia kokonaisuuksia on tarjolla runsaasti. Piirikaaviot, piirikorttien kuvat ja ohjelmistot on julkaistu vapailla lisensseillä.

Kun 25 irtokortin S100-väylään perustuva frankencomputing -osaston projekti tuntui vähän rajulta aloitukselta, valitsin ensimmäiseksi näpertämisen kohteeksi N8VEM ECB-projektista omaksi haarakseen irroitetun Zeta SBC:n. Kyseessä on yhden kortin Z-80 -prosessoriin perustuva CP/M-kone, jota on modernisoitu reaaliaikakellolla, paristovarmennetulla RAM-muistilla, flash-muisteilla ja suhteellisen modernilla levykeasemaliitännällä.

Varsinaisen Zeta-kortin pariksi on kehitetty ParPortProp-kortti, joka puolestaan tarjoaa SD-kortilla massamuistia sekä VGA- ja PS/2 -liitännät (ynnä ylimääräisen sarjaportin). Zeta SBC itsessään ei puhu ulkomaailman kanssa kuin sarjaportin läpi, joten jos näyttöä ja näppäimistöä koneeseen suoraan halajaa, on ParPortProp melkolailla pakkorako.

Suunnitteluperiaatteet ovat harrastajan kannalta mainioita - kortit on pyritty pakkaamaan järkevästi, lähes kaikki komponentit ovat through-hole -tavaraa (ei siis hankalaa pintaliitoskomponenttien kanssa säätämistä) ja komponentit ovat - paria poikkeusta lukuunottamatta - elektroniikkatoimittajien vakiotavaraa. Tyhjiä piirikortteja voi tilata muilta harrastajilta tai hankkia ne suoraan internetin lukuisilta protokorttivalmistajilta - korttien Eagle-tiedostot ovat vapaassa jaossa.

Zeta lyhyesti

Rakentaminen

Halusin Zetasta heti alkumetreillä käyttökelpoisen kokonaisuuden, joten tilasin sekä Zeta- että ParPortProp -kortit. 40 dollarin hinta (+ kympin verran postikuluja) ei päätä huimannut, ja kortit vaikuttivat hyvin laadukkailta:

Komponenttitoimittajana käytin Mouseria, puulaakia joka on osoittautunut sekä järkihintaiseksi että äärimmäisen nopeaksi toimittajaksi (osa tavarasta tulee amerikasta saakka, ja silti kuljetusliikkeen edustaja on saapunut oven taakse yleensä alle kolmessa vuorokaudessa). Mouser ei myöskään ota toimituskuluja yli 70 euron ostoksista.

Osa komponenteista löytyi allekirjoittaneelta hyllytavarana. Tilasin komponentit kahteen koneeseen kerralla, arviolta yhden koneen elektroniikan hinnaksi tulee noin 50-60 euroa, riippuen hieman mistä ja millaisia määriä osia tilaa.

Muutama komponentti on hieman vaikeampaa tavaraa - Zeta käyttää levykeasemaohjaimena FDC9266-piiriä, joka ei ole enää vuosiin ollut tavanomaisten komponenttitoimittajien varastoissa. Obsolete-osaston toimittajana käytin utsourcea, josta FDC9266 löytyikin helposti. Utsource haalii toimittajansa Kiinasta - komponentit ovat yleensä halpoja, mutta ostajan kannattaa varautua viikon-kahden toimitusaikaan ja siihen että joskus tavara ei ole aivan kuranttia (tai ehjää). Omalla kohdallani tilasin varuiksi muutaman FDC9266:n, ja ensimmäinen kasasta kokeiltu yksilö oli ehjä, joten siinä mielessä valittamista ei löytynyt.

Pienen nyhertämisen jälkeen Zetan kortti oli saanut piirikantansa ja decoupling-kondensaattorinsa:

Samaan aikaan nyhräsin ParPortProp-korttia, joka näkyy seuraavan kuvan taustalla. Zeta-kortti on saanut liittimensä, passiviikomponenttinsa ja paristonpidikkeen RAM-muistin varmennusta varten.

ParPortProp vasemmalla, Zeta oikealla. ParPortPropissa sarjaporttiliitin, PS/2 -näppäimistöliitin ja VGA-monitorin liitäntä, Zetassa puolestaan sarjaporttiliitin, tyhjäksi jätetty virtaliittimen paikka (sillä syötin kortin käyttöjännitteet kortilla olevan piikkirimaliittimen kautta) ja levykeaseman liitin.

Ainoa pintaiitoskomponentti on SD-kortin lukija. Pienellä tähtäämisellä ja luovalla kolvaamisella sekin kortille uppoaa - jälki ei välttämättä ole hirmuisen kaunista, mutta pääasia että toimii.

Zeta lähes kokonaan kalustettuna ensimmäisissä testeissä. Puuttuva piiri on edelläkin mainittu FDC9266, jonka toimitus kiinasta otti aikaa. Kortti kuitenkin toimii vallan mainiosti ilman. Virtasyöttö näkyy myös kuvassa - alunperin liitin on tarkoitettu levykeaseman syötöksi, mutta koska alunperinkin ajattelin syöttää sähköt levykeasemalle suoraan virtalähteestä, liitin kelpaa myös virran tuloliitännäksi. Kuvassa näkyy myös "väärin päin" juotettu naarasliitin piikkirimalle - rinnakkaisliitäntä ParPortProp-kortille tapahtuu tällä liittimellä.

ParPortProp kalustettuna ja testissä. ParPortProp voidaan syöttää joko erillisellä virtaliittimellä (kuvassa) tai piikkiriman läpi itse Zetalta (joka olikin se oma, lopullisen konfiguraation vaihtoehto). ParPortProp-kortilla on myös tilaa omille laajennoksille, puoli korttia on varattu koekytkentälevyksi.

ParPortProp-korttia dominoi Parallel Port Propeller -piiri (josta kortin nimi on lyhenne). PPP on ohjelmallisesti muokattava piiri joka kykenee mitä mielikuvituksellisimpiin toimintoihin joita yleensä on totuttu toteuttamaan diskreetillä raudalla. ParPortPropin tapauksessa piiri on VGA-ohjain, merkkigeneraattori, näppäimistö- ja sarjaporttiliitäntä.

ParPortProp toimii hieman kuten MDA-ohjaimet vanhoissa PC:eissä - varsinaista jaettua väylää (ja muistia) ei korttien välillä ole. Näyttömuisti on PPP-piirin paikallinen muisti, ja Zeta nakuttaa merkkinsä PPP:n generoitavaksi rinnakkaisliitännän kautta. Grafiikkaa periaatteessa on mahdollista tuottaa, mutta kun jaettua muistialuetta ei korttien välillä ole, ei suorituskyky ole kovinkaan kummoinen.

Zeta ja ParPortProp ensimmäistä kertaa kasassa. Kortit kiinnittyvät toisiinsa piikkirimalla (joka valitettavasti ei näy kuvassa). Luovaa säämistä tarvitaan alussa kun piikkien pituutta säädetään sopivaksi. Mekaanisesti kortit ovat kiinni toisissaan normaalien korttikannakeruuvien avulla (myös pitkä M3-ruuvi ja väliholkit käyvät hyvin). Valittu kiinnitystapa riippuu lähinnä siitä, aikooko laitteen koteloida ja onko tarkoituksena koristella kakku korppuasemalla. Jos kortit aikoo sijoittaa esim. VME-tyyliseen korttiohjureilla varustettuun koteloon, voi korttien välissä käyttää lattakaapelia piikkirimojen sijasta.

Kortin tarvitsemat kiteet näkyvät kortin oikeassa reunassa. Kiteitä on kolme - CPU:n, sarjaportin ja levykeohjaimen oskillaattoreita varten. Kiteitä varten saa erillisiä piirijalkoja, mutta itse käytin vakio-DIP-kantaa - joskin kiteiden jalkojen ollessa melko ohuet, ne eivät pysy mitenkään valtavan hyvin kannoissaan kiinni. Lopullisessa kortissa vedin jalkojen ja kiteiden ympäri pienen eristetyn johdonpätkän joka lukitsi kiteet hyvin paikoilleen. Kapea nippuside tai kuumaliima ovat myös valideja vaihtoehtoja.

Zeta ja ParportProp päällekkäin väliaikaisessa kotelossa. Kuten kuvasta näkyy, ParPortPropin VGA ja PS/2 toimii varsin mainiosti. CP/M:n tuki näppäimistöjen erilaisille layouteille on käyttöjärjestelmän puolesta hieman surkea, käytännössä mennään jenkkinäppäimistöllä. ParPortProp:ille olisi mahdollista pakottaa suoraan erilaisia näppäimistölayoutteja, mutta allekirjoittaneen osaaminen on (toistaiseksi) sen suhteen vähän ohuella pohjalla. Sarjaporttikonsolia käytettäessä ongelmaa ei luonnollisesti ole.

Zetan bootti sarjaportin läpi. RomWBW on N8VEM-projektin oma softahaaransa, joka tuottaa erilaisia ROM-imageita N8VEM-projektille. Kun nykyisissä flasheissa ja eprommeissa on tilaa, esimerkiksi CP/M-80:n varusohjelmat voidaan pudottaa suoraan flashille. Kuten bootloaderissa näkyy, A-asemana on RAM-levy, B-asemana flashille laitettu varusohjelmakasa, C ja D ovat levykeasemia (jos ne on koneeseen kytketty) ja E:stä eteenpäin on mapattu SD-kortin partitioita.

RomWBW on ohjelma- ja skriptikokonaisuus jossa build-skripteillä voidaan melko vapaasti muokata flash/eprom-image oman mielen mukaan (käytetty CPU, levyt, varusohjelmat ja niin edelleen). RomWBW kattaa myös N8VEM-projektin muut koneet ja kortit, Zeta on vain oma, pieni osa-alueensa.

 

Tärkein yksityiskohta - kunhan Zork toimii, kaikki on hyvin. Seikkailupelejä CP/M:lle on saatavilla hyvin, joten koneella on myös viihdearvoa.

 

Laite lopullisessa (itse nyherretyssä) kotelossaan. Kuten näkyy, Zeta, ParPortProp ja tavallinen 3.5" korppuasema on suunniteltu yhdeksi pinottavaksi paketiksi. Kuolleesta purkkipalomuurista pelastettu virtalähde tarjoilee kortin tarvitseman +5V jännitteen. Virtalähteessä on myös +12V lähtö - joskaan mikään itse laitteessa ei sitä tarvitse (vaikka tavanomaiselle korppuasemalle jännite kaapeleissa viedään, yksikään vähänkään modernimpi korppuasema ei jännitettä käytä).

Hyllyssä sattui olemaan pätkä vihreää ledinauhaa, joten +12V jännitteelle lopulta tuli käyttöä. Kotelon pohjalevy ja tausta on alumiinia, muut osat jämäpuulevyjä sekä viiravaneria.

Oikealla olevan virtakytkimen lisäksi laitoin etupaneliin reset-kytkimen sekä config-jumpperilta vedetyn kytkimen - jälkimmäinen määrää sen yrittääkö Zeta käyttää bootissa konsolina paikallista sarjaporttia vai ParPortPropin VGA-PS/2 -puolta.

Sähköä Zeta syö hyvin kohtuullisesti - ilman korppuasemaa normaali kulutus on 400mA:n luokkaa. Virran määrä riippuu melko paljon valituista komponenteista - logiikan 74-komponenttien tuoteperheen valinta (LS, ALS, F) vaikuttaa kulutukseen  merkittävissä määrin. Omassa koneessa seurakunta on jonkin verran sekalaista (joidenkin komponenttien suhteen tietyt nopeusvaatimukset asettavat rajoja sille onko esim. CMOS-pohjaisten logiikkapiirien käyttö mahdollista), mutta noin kokonaisuutena alle 3W sähkönkulutus on - varsinkin nykylaitteisiin verrattuna - hyvinkin maltillinen.

Hupaisana yksityiskohtana mainittakoon että ledivalot kotelon sisällä syövät enemmän virtaa kuin itse tietokone. Ilman korppuasemaa laitetta olisi mahdollista käyttää vaikka paristoilla.

Värkki boottaa melko tasan sekunnissa. Instant On, 80's style.