Technomorous

Powerbanka

Odolával jsem dlouho, protože považuju přelévání elektřiny z akumulátoru do akumulátoru za částečně pošahaný nápad, ale nakonec jsem podlehl a pořídil si powerbanku. Alternativou je palivový článek v ceně středně velkého jen lehce ojetého auta nebo malý trampský gril s integrovaným peltierovým článkem. Obé má jistě své místo i využití, ale pro občasné nabití mobilu, tabletu či sady vysílaček je to tak trošku přehnané.

V akci za pětistovku pořízená powerbanka AlzaPower s kapacitou 20000 mAh vypadá, že zvládne vše, co od ní očekávám. Dobít někde na kopci Xiaomi, jeho interní akumulátor po dvou letech už není, co býval, napojit můj budoucí tabletobook když do něj budu někde v terénu celou noc sázet spojení do deníku, přes USB nabíječku trochu našťouchnout AA/AAA akumulátory do PMR stanic a pokud se nějak podaří připojit měnič, tak i dobít HAM stanici AnyTone. Víc nechci, proto jsem nebyl ochoten utrácet víc peněz a i když mám jemné výhrady k dílenskému provedení (tváří se jako luxusní kus hardware s pseudokarbonovou texturou a přitom stavové LCD vrže a lesklý plast po obvodu dorazil už s mikrovlásečnicemi), za ty prachy dobrý.


Další (jablečné) přírůstky do sbírky

Jednou z radostí pravidelného blogování je to, že vám občas někdo pošle nějaký ten hardware, abyste se zabavili a nezlobili. Stalo se tak i tentokrát, jsem zase o jeden Mac Mini G4 a 15" PowerBook G4 bohatší. První jmenovaný víceméně půjde hned do regálu, protože takové mám už další dva (a to jsem se jednoho vloni zbavil v naivním přesvědčení, že nebudu zbytečně hromadit stejné počítače), ale ten patnáctipalcový PowerBook si i přes jisté provozní opotřebení (mrtvá baterie, špína, chybějící nožičky, chybějící gumy držící displej v zavřeném stavu ve správné vzdálenosti od klávesnice, polofunkční západka displeje) asi vyslouží alespoň občasné používání.

Jdou do něj totiž nacpat 2 GB RAM (Mac Mini jen giga, 12" Powerbook jen jeden a čtvrt giga, 12" iBook jen jeden a půl giga), má PCMCIA slot a byť to není ani zdaleka nejrychlejší z patnáctipalcových modelů (1.25 GHz), tak s Void Linuxem to bude blesk, ten je svižný i na pomalejších strojích.


Kompilátory na Spectru

Příjemná práce s MIRA Fortranem mě přivedla k tomu, že se na kompilátory na Spectru chci podívat trochu více. Klasické domácí osmibitování, to bylo hodně hraní her, sledování demoscény a občas trocha programování v zabudovaném BASICu. Přitom Sinclair nedělal Spectrum kvůli hrám - proto taky nemělo zákaznické čipy, porty pro joysticky či vícekanálový zvuk - dělal ho jako nástroj pro vzdělávámí. A co lepšího se na počítači naučit, než programování?

Vím, že kromě Fortranu existují kompilátory či interprety pro:
  • BASIC
  • C
  • Forth
  • Pascal

Určitě jich v nejbližší době několik vyzkouším. Nenapadá někoho nějaký další jazyk, který jsem vynechal?


MIRA Fortran

Intenzivní četba dokumentace v hromadné dopravě a pár hodin pokusů a omylů mě dovedly až k tomu, že už se v MIRA Fortranu nejen orientuju, ale přímo se cítím být povolán ho trochu zhodnotit. Totéž už udělali v roce 1987 v časopise Crash, do jisté míry se naše názory shodují, takže nechám jen na vás, zda si chcete nejdříve přečíst původní recenzi, nebo začnete mým výplodem.

Začnu něčím, co tehdy vědět nemohli: MIRA Fortran byl pro spectristy znovuobjeven letos v březnu. Hledal jsem ho roky, všude byl však veden jako Missing-In-Action. Není to zrovna Manic Miner, je otázkou kolik lidí si ho za patnáct liber pořídilo, kolik z těchto prodaných kopií se dochovalo a kolik majitelů dochovaných kopií ví, jak je zaarchivovat a dát online. Jeden se ale přeci jen našel, vzpomněl si, že má ve sklepě v krabici originálku, po 25 letech nepoužívání si někde půjčil kazeťák, vyrobil TZX obraz kazety, naskenoval dokumentaci, booklet a nafotil kazetu. Velmi záslužná práce.

MIRA Fotran je poctivý kompilátor redukované verze standardu Fortran 77, určené pro mikropočítače, značené jako Fotran 77S. To, že je to kompilátor, mimo jiné znamená, že zdrojový kód zadáte, pak ho přeložíte a v paměti už spouštíte jeho překlad do strojáku. Má to své výhody i nevýhody, ale o tom až dále - teď pěkně od začátku. Na začátku nahrajete editor se syntax checkerem, který má necelých 11 kB. Ten vás uvítá suchou hláškou Press required key, což je bez manuálu neřešitelný problém. Nebo bez stisknutí klávesy H, která vám ukáže ovládání. Pokud chcete programovat, stačí stisknout klávesu Enter, čímž se dostanete do režimu zadávání řádků programu.

Ovládání MIRA Fortranu

Ty se zadávají stejně jako na děrných štítcích sálových počítačů té doby, tj. vše na řádku má své přesné místo a píše se to velkými písmeny. Na první pozici je buď C nebo *, pak se jedná o komentář a kompilátor řádek přeskakuje; nebo je tam D, značící debugovací řádek, který se dle nastavení bere buď jako kód nebo jako komentář, čímž možno elegantně zapínat a vypínat například ladící výpisy proměnných; nebo tam není ani jedno z uvedeného a pak se na prvních pěti místech očekává buď číslo značící štítek řádku (neplést s číslem řádku!), nebo mezera. Následuje jedna mezera a samotné příkazy se píší až od pozice 7, což v případě, že se jedná o řádek bez štítku znamená zmáčknout vždy šestkrát mezerník, než můžete začít psát - je to otrava a autoři to mohli vyřešit nějakou zkratkou, která to udělá za vás, ale na druhou stranu je to Fortran a ten je jen pro opravdové programátory. Celková délka programového řádku nesmí překročit 80 znaků, na obrazovce Spectra široké 32 znaků je takový řádek několikrát zalomený a na jeho konci je vždy jeho pořadové číslo, tedy přesně naopak, než třeba v BASICu. Dá se na to zvyknout. Každý řádek je po zadání hned kontrolován na syntaktické chyby.

Máte-li už hotovo, pomocí Caps Shift + 6 se dostanete opět do "menu" v němž klávesou X přejdete ke kompilaci. Nejdříve je ještě jednou provedena syntaktická kontrola, tentokrát ale na věci, které nelze zkontrolovat na jednotlivých řádcích: neukončené funkce, smyčky či samotný program. Následně se z kazety dohrává samotný kompilátor (10 kB), který po svém skončení vrací řízení BASICu a zpět do editoru už se nijak nedostanete. Je proto velmi dobré si zdroják uložit před tím, než X zmáčknete!

MIRA Fortran - info po kompilaci

Když X stisknete, už není cesty zpět. Kontrola, kompilace, následně se vypíší zajímavé údaje, jako kolik výsledná binárka zabírá paměti, od které adresy ji najdete a po stisku libovolné klávesy jste v BASICu. Produkt kompilace lze spustit pomocí RANDOMIZE USR 63500, uložit na kazetu si jej musíte sami s pomocí předtím zobrazených údajů, snad jste si je zapsali, protože teď už je nezjistíte. Délka binárky je vždy minimálně 5 kB, linkuje se k ní knihovna funkcí, je tedy evidentní, že tvořit ve Fortranu krátké prográmky nemá smysl.

Nemám s kompilátory jiných jazyků než je BASIC na Spectru velké zkušenosti, nicméně provedení MIRA Fotranu se mi líbí. Kompilace je rychlá, dle dobové recenze zhruba třicet řádků za sekundu - ve výsledku tak trvá déle nahrání z kazety, než samotné přeložení i celkem komplexního programu. Vytkl bych akorát dvě věci: již zmíněnou nutnost dělat na začátku každého řádku manuálně mezery a pak absenci byť i jednoduchého stavového řádku, který by alespoň ukazoval pozici na obrazovce. Se zbytkem problém nemám a myslím, že implementace jazyka určeného pro sálová monstra na krabičce od mýdla s gumovými tlačítky a 48 kB paměti dopadla víc než dobře.


Fortran na Spectru

Fortram je bezva programovací jazyk a ZX Spectrum je bezva počítač. Proto mi vždy vadilo, že je nemůžu nijak příjemně spojit. Pro Spectrum totiž existoval historicky asi jediný použitelný kompilátor - MIRA Fortran - a ten se mi nikdy nikde nepodařilo dohledat.

MIRA Fortran

A teď mi jen tak přistál v mailu i s dokumentací a příklady. Implementuje standard Fortran 77S a vypadá to, že s jedná o skutečný čistokrevný kompilátor do strojového kódu - žádné bytekódové nesmysly, vyžadující runtime, zakuklené interprety a tak podobně. Tak jen už abych se ho naučil pořádně ovládat a alespoň něco v něm napsal, přeložil, uložil, nahrál a spustil. Zatím jen čtu manuál a snažím se ho pochopit. Je to moc pěkný kus software.


A RPi 2 stále běží!

Přesouvám zrovna data z EliteBooku na USB disk připojený k RasPi 2, které běží 24/7 a jednou denně vytváří zálohu mého webserveru. Napadlo mě při tom podívat se, jak vlastně běží to zálohování, nějak jsem na něj od posledka úplně zapomněl.

 -bash-5.0# date
 Sat Nov 9 22:37:19 UTC 2019
 -bash-5.0# uptime
  22:37:22 up 80 days, 03:10, load average: 0.16, 0.13, 0.15
 

Pohled do top ukazuje, že po osmdesáti dnech je obsazeno celých 23 MB RAM, evidentně tak vše funguje jak má, bez memory leaků. Čtvrtroční výročí tu bude za chvilku, tak schválně, zda to dotáhneme alespoň na půlroční uptime - začátkem jara se ozvu.


Ježdění se síbíčkem

Už si na to pomalu začínám zvykat: Když jedu kamkoliv mimo Prahu, dávám na střechu magnetku, na sedačku spolujezdce hážu CRT One a pouštím sken CB pásma.

Jelikož nějaký centrální svolávací kanál u nás nemáme, je sken jediná možnost jak zaslechnout nějakou místní komunikaci. Obvykle mám štěstí na pražské dvojce či osmnáctce, jakmile ale vyjedu skutečně za hranice města, je to spíš věc náhody.

Projiždím oblastmi menšího či většího rušení, občas někde někdo odpoví na kamioňácké desítce, občas se podaří najít místní hovor a člověk si alespoň může zapsat, kde místopisně a jak frekvenčně to příště zkoušet, například mezi Vraným a Slaným na pětatřicítce.

Není to úplně tak, že by si člověk na dvouhodinové cestě z Prahy na německé hranice za Chomutovem celou cestu pokecal, ale tu a tam se to dá. A to i když zrovna neprobíhá žádný závod, což jsem popravdě řečeno ani nečekal.


TOPlist