Návrat k legendám: Jak se nám líbí BBC Micro

BBC Micro je počítač z osmdesátých let určený k výuce. Pro našince zvyklé na IQ151 či PMD85 je to nyní krásná retro ukázka, jak byli Britové napřed.
Kapitoly článku

Tato varianta Basicu je bezpochyby nejlepší implementací tohoto jazyka na osmibitech, tedy alespoň pokud porovnáváme ty, jenž byly zabudovány v ROM počítačů. Je faktem, že na některých platformách existovaly varianty Basicu srovnatelné s BBC verzí, některé ji možná i předčily, ovšem žádný nebyl přímo zabudován do ROM počítače. BBC Basic byl přitom velmi důkladně promyšlen, aby podporoval strukturované programování a byl snadno rozšiřitelný pomocí dodatečných ROM modulů.

P1250135.JPG
Experimenty s ukládáním nejprimitivnějšího programu - ano, opravdu to sejvuje!

BBC Basic je skvělým Basicem, o čemž svědčí i fakt, že zatímco jinde jste měli k dispozici mnohem výkonnější Basicy (například Simons Basic na C64 či Turbo Basic na osmibitovém Atari), u BBC Micro sice též existovaly jiné interpretry, ovšem většinou se jednalo o rozšíření BBC Basicu, málokdy o zcela jiný jazyk.

BBC Basic podporoval základní příkazy pro strukturované programování – REPEAT-UNTIL, IF-THEN-ELSE, možnost vytváření procedur a funkcí. Pravda, řádky se stále musely číslovat, ale bylo možné je snadno přečíslovávat zabudovaným příkazem. Dále Basic podporoval příkazy pro ovládání grafiky i zvuku (na rozdíl třeba od Basicu v C64), no a tyto jeho schopnosti šlo výrazně rozšířit pomocí ROM Modulu Graphics Extension ROM, který uměl vytvářet a manipulovat se sprity (pochopitelně pouze softwarovými, protože BBC Micro neznalo hardwarové sprity) a znal i mnoho dalších grafický příkazů.

Jednou z nejzajímavějších schopností jazyka byla možnost programovat v něm v assembleru – mohli jste využívat tzv „inline assembler“ a vytvářet bloky assembleru mezi basicovskými příkazy (samozřejmě při zachování některých konvencí). Touto schopností v této době nedisponoval snad žádný programovací jazyk na osmibitových počítačích a i jiné mnohem výkonnější programovací jazyky jsou v tomto ohledu omezenější, než tento dávný Basic.

P1250141.JPG
Příkaz VDU

Zajímavý je také příkaz VDU, což je v podstatě to samé, co jinde PRINT CHR$(X), tedy možnost používání různých řídících znaků, čímž se realizovaly i u jiných počítačů takové věci jako vymazání obrazovky, přesun kurzoru na nový řádek atd., prostě záležitosti, pro které neměl příslušný Basic vlastní příkaz. U BBC Micro ale těchto řídících znaků existuje mnohem větší množství, mnohé vyžadují další parametry, no a proto máte právě onen tajuplný příkaz VDU, pomocí kterého můžete tyto řídící sekvence používat. Podobným tajuplným je příkaz FX, umožňující volání systémových služeb.

BBC Basic by toho znal ještě mnohem víc, bohužel jeho autorka, Sophie Wilson, byla omezena 16kB velikostí ROM modulu. Když se objevil BBC Master, byl Basic přepsán pro nově použitý mikroprocesor MOS 65SC12 a díky tomu bylo možné pár dalších příkazů přidat.

Poslední verze jazyka Basic V se objevila v nové platformě Acorn Archimedes v systému Risc OS, no a zde již neexistovala 16kB hranice, takže přibyla spousta dalších příkazů pro strukturované programování, práci s poli, knihovnami atd. Kromě toho byl BBC Basic nesmírně efektivní a rychlý, takže například na Archimedu byla první verze okenního GUI napsaná právě v něm, což je asi jediný případ, kdy byl Basic použit pro naprogramování části operačního systému. Další platformou, která měla BBC Basic uložen v ROM, byl například známý přenosný Sinclairův Z88.

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