Agon Light od The Byte Attic je už poměrně starší projekt a i jeho lehké vylepšení v podobě AgonLight2 od OLIMEX se mi doma válí už nějakou dobu. Jedná se o jednodeskový počítač s procesorem eZ80F92, což je modernější inkarnace procesoru Z80 běžící na 20 MHz. Se Z80 je zpětně kompatibilní a kromě 8-bitového režimu umí i 24-bitový režim s možností adresace až 16 MB paměti. AgonLight2 má „jen“ 8 + 512 kB paměti RAM, což je na počítač se Z80 i tak dost. Ovšem eZ80 navíc obsahuje i další součásti, jako je 128 kB interní flash, timer, SPI, I2C, UART a spoustu použitelných GPIO. O grafiku se stará EPS32-pico-D4, který je minimálně 100x výkonnější než „nadupaný“ eZ80 😉 Zkrátka parametry počítače jsou celkem slibné.
Dalo by se říct, že máme nadupané Z80 se super grafickými akcelerátorem. Bohužel komunikace mezi CPU a grafikou probíhá po sériové sběrnici. Sice rychlostí 1152000 baudů, ale i tak je to za mně velká brzda. CPU Z80 oddělený od grafiky má třeba Zeta SBC V2, ale tam je to po paralelní sběrnici a navíc počítač je určený pro CP/M, ne pro grafiku.
Původní záměr autora bylo asi vytvořit takové nějaké BBC Micro na steroidech nebo spíš počítač s BBC BASIC, který by umožňoval ovládat GPIO, komunikovat s okolím moderními protokoly a spoustu dalších novodobých věcí. Abych se přiznal, před časem mě AgonLight2 moc nenadchnul. Nejsem fanda BBC BASIC a počítač mi trochu připomíná Maximite. Je pravda, že tady máte navíc k dispozici CP/M a lákadlem je i skutečná Z80, byť modernizovaná. Na druhou stranu jiného softwaru bylo pomálu a programovat moderní aplikace v BASICu mě dnes úplně neláká. Na to jsou dnes lepší HW i SW nástroje. Nicméně teď jsem na AgonLight2 narazil při úklidu a řekl jsem si, že prozkoumám, co se změnilo, co je nového a kam celý projekt pokročil.
Agon Light má dva „BIOSy“ nebo firmwary, je to trochu nezvyklé, ale je to dané tím, že jeden je ve flash eZ80, nazývá se MOS (Machine Operating System), a druhý je v ESP32 a jmenuje se VDP (Visual Display Processor). MOS a VDP spolu musí umět komunikovat. Původní MOS a VDP měly označení Agon Quark, nové jsou pojmenované Agon Platform. Kromě toho existuje Agon BBC BASIC a další aplikace, které se dají spouště z MOS. I zavaděč CP/M se spouští z MOS. Vše je Open Source, jak hardware, tak software, což je super.
Pro aktualizaci (nebo vrácení ke starší verzi) obou firmwarů existuje program flash.bin, který snadno spustíte z microSD karty v MOS. Ovšem, je potřeba si pohlídat, abyste se nedostali do situace, kde MOS nebude umět komunikovat s VDP nebo nevrátili oboje na příliš starou verzi. VDP můžete do ESP32 nahrát kdykoli přes sériovou linku jen přehozením dvou jumperů, ale obsah flash v eZ80 nahrajete v případě „bricknutí“ jen speciáním Zilog programátorem, který je 2x dražší než AgonLight2 😉 Po zapnutí počítače skončíte v MOS, kde je ovládání z příkazové řádky a je chováním tak nějak mezi BBC a modernějšími OS. Pomocí autoexec.txt se obvykle hned spustí BASIC, ze kterého ale můžete vyskočit příkazem *BYE do MOS a spustit cokoli jiného. Příkazy MOS se vám hodí i v BASICu, jen je musíte uvodit *, např *CAT.
BASIC je hodně silný, má spoustu příkazů a podporuje komunikace s VDP, můžete tak snadno pracovat s grafikou a je to celkem rychlé, jak ukazují různé BASIC prográmky pracující s grafikou, sprity apod.
Přímo v MOS pak můžete pracovat obdobně jako v běžných operačních systémech. Procházet adresáře, spouštět programy, hry, utility. Dokonce existuje 12AM COMMANDER, což je obdoba známého Midnight Commander.
Jak jsem se již zmínil, AgonLight2 je lehce modernizovaná a vylepšená verze původního Agon Light od OLIMEX. Původní autor společně s Heber vytvořil ještě projekt Agon Console8, který vylepšil pár drobností a přidal dva Atari joystick porty. Nejnovější verze od The Byte Attic má název Agon light Origins edition a opravuje jen pár drobností. Důležité je, že jsou všechny vzájemně kompatibilní a umožňují provozovat stejné firmwary.
Přímo na Agon Light lze, kromě BBC BASIC, provozovat eZ80 assembler, případně Forth. Širokou škálu programovacích jazyků máte dostupnou pod CP/M. Nicméně zrovna Turbo Pascal 3 v buildu CP/M mi nefungoval, nešlo vůbec spustit překlad. Když jsem si ale vyrobil vlastní CP/M disk z čisté instalace Turbo Pascal 3.0 a nakonfiguroval ho pro ANSI terminál, chodí mi bez problémů. Asi jen nějaká „nabitá“ binárka.
Další vývojové nástroje lze provozovat na PC a překládat tak programy přímo pro eZ80 nebo Z80. Vznikly tak různé předělávky her z klasických retro platforem, ale za mně není softwaru mnoho a kvalita není kdoví jaká. Spíš bych si tipnul, že většina vývojářů si chce osahat eZ80, což by i můj hlavní zájem, a po zjištění potřebných informací je to přestane táhnout. Další uživatelé se asi rekrutují z bývalých uživatelů BBC Micro apod. a musí se nechat, že se vytvořila celkem velká komunita. Jen na Facebooku je ve skupině Agon asi 1900 lidí a stále vznikají nové verze firmwaru a nové programy.
Z toho je vidět, že cílovka existuje, nicméně já to asi nejsem. Za mě je AgonLight2 fajn deska na osahání eZ80. Má hezké specifikace, pěknou krabičku, ale možnosti ovládání GPIO apod. asi nevyužiju. Také se mi nelíbí zapínání a vypínání pomocí zasunutí a vysunutí USB-C kabelu, kterým se AgonLight2 napájí. USB-C na napájení mám rád, ale chtělo by to do krabičky přidat vypínač. AgonLight2 umožňuje připojit i LiPo baterii, ale proč je její konektor vyvedený ven z krabičky mi taky nějak uchází. Hezká je prototypová deska do rozšiřujícího konektoru, to je trochu výzva něco tam dobastlit, ale když zajímavých projektů je tolik a času tak málo 🙁 Kdybych vyrůstal na počítači BBC, asi bych byl pozitivnější, ale holt jsem SHARPista 😉