Návrat k legendám: Programování na Atari

Nejen samotné osobní počítače, ale i jejich programování prošlo ohromným vývojem. Pokud si chcete zavzpomínat, oprašte Atari a znalosti Basicu.
Kapitoly článku

Asi nikdo z ctěných experimentátorů nepropadne znenadále vášni tvorby softwaru pro platformu dávno odpočívající v hájemství stínů. Pokud si však Atari zakoupíte, tak mnozí asi snadno pochopí, proč má generace takovéto puzení měla. Ne snad, že by se každý stal programátorem. Ale nápis READY zkrátka vybízel to zkusit, takže ukázkové příklady z návodu k použití do počítače naťukali skoro všichni.

První software, který každý uživatel Atari má možnost vyzkoušet a ani jej přitom nemusí nahrávat, je Atari Basic přítomný v ROM počítače. Pokud pouze spustíte počítač a nevložíte do disketové jednotky žádnou disketu (případně ji ani nepřipojíte k počítači), objeví se vám po chvilce na modrém pozadí bílý nápis READY a můžete ihned započít s programátorskými experimenty. Jaký je tedy Atari Basic a jak se ovládá?

Snímek obrazovky 2013-12-25 v 18.38.47.png
Úvodní obrazovka počítače neskutečně lákala k experimentům

Co se ovládání týče, Atari zvládalo na svou dobu velmi pokrokovou celoobrazovkovou editaci. Je ovšem třeba zdůraznit, že co bylo pokrokové v roce 1979 se o deset let později už považovalo za standard. Zatímco některé jiné počítače (především sedmdesátých let, ovšem třeba i Sinclair ZX Spectrum) vám pro editaci vyhradily pouze část obrazovky a neumožňovaly vám pohybovat se s kurzorem kdekoliv po ní, Atari vám nekladlo žádná omezení.

To vedlo k velmi příjemným editačním možnostem, protože jste si mohli nechat vypsat program a přímo v tomto výpisu měnit jednotlivé řádky dle vaší libosti. Dnešního uživatele ale poněkud zmate fakt, že obrazovka Atari nefunguje jako moderní textové okno, že není možné rolovat nahoru a dolu a text, který se nám jednou odroloval za horní okraj už nikdy neuvidíme.

Atari pracuje pouze s aktuálním obsahem obrazovky, nic jiného je nezajímá. Jak už ale bylo řečeno, před nějakými pětadvaceti léty se jednalo o jedno z nejlepších dostupných řešení. Některé programovací jazyky celoobrazovkovou editaci nenabízely a jejich ovládání bylo nesmírně krkolomné. Editace, opravy, výpis programu, to vše se řešilo složitě a neintuitivně.

Atari Basic byl v oněch dávných dobách poněkud přezírán. Ataristé se o něm vyjadřovali jako o pomalém a nevyspělém Je to trošku překvapivé, protože pokud Atari Basic srovnáváme s tím, co v základu nabízeli přímí konkurenti, tak se opravdu nedá říci, že by Atari Basic nějak propadal. Především C64, jak si ještě řekneme, mělo Basic výrazně horší, který například vůbec neznal žádné grafické či zvukové příkazy, takže grafické programy se staly zástupem PEEK a POKE.

 snimek-obrazovky-2013-06-05-v212959.jpg
Programování v Basicu

Je ovšem pravda, že Atari Basic představuje pouhý základ. Jedná se o standardní Basic své doby, který ničím příliš nenadchne. Nabízí základní aritmetické i ty nejzákladnější „vědecké“ funkce (LOG, SIN, COS, LN atd.), práce s řetězci je velmi omezená (v základu například nelze jednoduše dva řetězce sečíst, musíte na to jít trikem). Zná maximálně dvourozměrná pole a to ještě pole čísel, nikoliv řetězců. No a pochopitelně, je to Basic, takže čekejte jen pevně dimenzované délky řetězců či polí, které v programu již nelze měnit.

Největší výhrady k Basicu tkvěly v neexistenci podpory pro strukturované programování – Atari Basic neumí procedury ani funkce (to se nahrazovalo proklínaným GOTO, případně kombinací GOSUB/RETURN), zná pouze základní variantu IF (ne už ELSE), neumí vícenásobné vyhodnocování, obsluhu chyb atd. Na druhé straně uměl tento Basic velmi šikovně pracovat s daty díky příkazu DATA a RESTORE, což v této době zdaleka nebylo běžné, nehledě na velice zajímavý trik se schopností přihrát k již existujícímu programu řádky z programu dalšího.

Jak jsme si už řekli, Atari Basic nabízel aspoň základní příkazy pro práci s grafikou. Mohli jste snadno nastavit grafický mód, kreslit body či čáry různými barvami, ale například vyplnit nějaký objekt barvou už Basic neuměl. Taktéž neuměl využívat speciálních grafických vlastností Atari, jako například spritů či vertikálních přerušení.

Snímek obrazovky 2013-12-25 v 18.26.24.jpg
Tuto obrazovku při spuštění Turbo Basicu jsem v mládí vídal opravdu velmi často

Základním Basicem na Atari, který byl širokou komunitou uznáván, byl Turbo Basic. Ten mnohé z výše uvedeného řešil a přitom zůstával s Atari Basicem kompatibilní. Už jste ale mohli programovat strukturovaně, přibyla obsluha chyb, mnoho nových grafických příkazů (sprity ale Turbo Basic ovládat neuměl) a spousta aritmetických funkcí. Turbo Basic byl také na rozdíl od Atari Basicu o dost rychlejší. Ovládal se ale úplně stejně a pro běžného amatéra neexistoval jediný důvod, proč jej na místo Atari Basicu nepoužívat.

Snímek obrazovky 2013-12-25 v 18.24.29.jpg
Turbo Basic Compiler - tato verze ještě neuměla vytvořit spustitelný soubor

Samozřejmě, existovaly i jiné varianty Basicu, některé i dost kvalitní. Například poněkud zapomenutý byl Microsoft Basic, který se mohl pochlubit plnou kompatibilitou s klasickou verzí Basicu této firmy. Velmi dobrým interpretrem byl i Basic XE, který se ale dodával primárně na zásuvných modulech, takže se aspoň u nás nikdy nerozšířil. Ten nabídl dokonce i ovládání spritů pomocí příkazů a prý byl ještě rychlejší, než Turbo Basic. Nejrychlejším Basicem byl Advan Basic, ovšem ten v době největší slávy Atari u nás nebyl dostupný.

Snímek obrazovky 2013-12-25 v 18.06.53.jpg
Advan Basic - prý nejrychlejší Basic na osmibitovém Atari. Před spuštění program zkompiluje

Všechny zde zmiňované Basicy pracovaly jako interpretry (s výjimkou Advan Basicu), jak bylo v těchto dobách běžné, ale k některým Basicům (například k Turbo Basicu i Advan Basicu) existovaly i kompilery. Zde ovšem vyvstával problém, protože většina takových kompilerů potřebovala k práci disketovou jednotku, kterou nikdo nevlastnil. Upravit je pro používání s magnetofonem se snad sice podařilo, ovšem existoval ještě jiný problém.

Některé kompilery (např. první verze pro Turbo Basic) vám program zkompilovaly pouze pro spuštění s jejich runtime knihovnou, která musela být přítomna na stejném disku. Až finální verze kompilátoru dokázala vytvořit skutečně nezávislý soubor, spustitelný kdekoliv a jakkoliv. Takový soubor je pochopitelně rychlejší, než basicovský originál. Bohužel, v době mého ataristického působení jsem nikdy neměl možnost toto vyzkoušet. Neměl jsem prostě disketovou jednotku a tím bylo vymalováno.

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,