Beta BASIC
Author
Albert FloresBeta Basic patří mezi nadstavby Sinclair BASICu. Tato nadstavba je robustní a přidává mnoho nových příkazů a funkcí. Umožňuje práci s okny. Zavádí procedury. Přidává nové příkazy pro tvorbu grafiky. Rozšiřuje možnosti některých původních příkazů o nové možnosti stávajících příkazů a funkcí.
Pozdější verze Beta Basicu přidala i nový editační mód, kdy se příkazy nezadávají stiskem klávesy, ale musí se vypsat po jednotlivých písmenech. Taktéž zavádí klávesové zkratky, zadatelné v režimu „*“ (po stisku kláves Symbol Shift a Space).
Nevýhodou je poměrně velká velikost nadstavby, Beta Basic 3.0 zaujme asi 18 KiB.
Pro počítače ZX Spectrum 128K+/+2 vznikla verze Beta Basic 4. +more I v této verzi zůstal editor podobný 48 BASICu, nicméně přibyly některé příkazy pro obsluhu rozšířené paměti, ve které mohla být uložena pole proměnných, a zvukového čipu. Beta Basic 4. 0 umožňoval naprogramovat hudbu tak, aby hrála pod přerušením IM2, čili současně s vykonávaným programem. Navíc umožňoval přepínání tisku mezi tiskárnou připojenou na sériový konektor a tiskárnou ZX Printer. Slíbena byla i verze Beta Basic u pro počítače ZX Spectrum +2A/+3, ale realizována nebyla. V této nerealizované verzi mělo být možné pracovat se sekvenčními soubory a soubory s náhodným přístupem na disketové mechanice ZX Spectra +3.
Autorem Beta BASICu je Andy Wright, který je také autorem později vytvořeného interpretu jazyka BASIC počítače SAM Coupé.
Vznik a vývoj
Vývoj Beta Basicu započal v roce 1983, v tomto roce také šla do prodeje verze 1. 0 s 32stránkovým manuálem. +more Autor byl zpočátku inspirován vymoženostmi basicu počítače Tandy TRS80, který používal v zaměstnání. Jako první rozšíření napsal (tehdy ještě v hexeditoru napsaném v BASICu) příkaz ELSE, poté DO, LOOP, UNTIL. Dále doplňoval cokoliv, co jej právě zaujalo. Např. příkaz SORT napsal poté, co zjistil, jak zdlouhavé je bubblesortové třídění v jednom programu na TRS. Později přišla doporučení od uživatelů, s nimiž měl čilou korespondenci, vyřizoval poštu i 3 hodiny denně a od roku 1985 vydával časopis Beta BASIC Newsletter pro 600 předplatitelů.
Další verze, která byla představena veřejnosti, byla v roce 1984 verze 1. 8. +more Obdobně následující rok, objevila se dvakrát větší verze 3. 0 s 90stránkovým manuálem. Verze 4. 0 z roku 1987 se už do paměti běžného ZX Spectra nevešla a běžela už jen na ZX Spectru 128K. Postupně tak vznikl poměrně samostatný jazyk, který by mohl běžet i odděleně od původní ROM počítače. Autor však pravděpodobně nikdy vážně nepomýšlel na samostatnou verzi Beta BASICu ve vlastní ROM, spíše čas od času uvažoval o převedení jazyka na PC.
Za oficiální verze jsou vydávána i čísla 1. 9 a 3. +more1, ale zde se jedná o autorem neschválené označení, které učinili někteří dealeři. Autor pro svoji potřebu versoval interně, např. ve verzi 1. 8 postupně přibylo 73 drobných modifikací a ve verzi 3. 0 asi 40.
K tomu, aby podporoval běžné počítačové sestavy, byl autor nucen disassemblovat a nastudovat mnoho ovladačů tiskáren a diskových řadičů připojovaných k ZX Spectru. Svůj nejoblíbenější diskový operační systém, G+DOS pro řadič Plus D, nakonec podstatně vylepšil a urychlil a prodával jako nový systém BetaDOS.
Své zkušenosti a současně i dosud nerealizované záměry se ZX BASICem mohl A. Wright uplatnit až v roce 1988 při práci na dialektu jazyka BASIC pro počítač SAM Coupé. +more K této práci jej firmě Miles Gordon Technology navrhlo několik aktivních uživatelů Beta BASICu (sdružených zejména okolo časopisu FORMAT). Nový BASIC psal ve strojovém kódu v Pyradev assembleru na počítači Amstrad CPC (obsah 3 disket kompiloval cca 15 minut) a převáděl jej sériovým kabelem na ZX Spectrum, na němž v jeho 24KB RAM "emuloval" obrazovku SAMa (reálného SAMa dostal až po roce). Litoval, že nový počítač nebude mít 64KB ROM, jen 32KB - jeho pozdější rozšíření SAM Basicu a SAMDOSu nazvaná Master BASIC a Master DOS mají skutečně každá cca 16KB.
Práce na systému SAMa jen nepatrně prodloužila "osmibitové" aktivity autora. Prodej Beta BASICu 4. +more0 byl pro něj zklamáním, začal vnímat, jak se trh pro ZX Spectrum zmenšuje. Chvíli uvažoval o speciální verzi pro ZX Spectrum +3, ale už "nebylo kde inzerovat" a ani jej už vlastně nebavilo studovat další cizí ROM a upravovat funkčnost počítače způsobem, na který jeho tvůrci ani nikdy nepomýšleli.
A. Wright uvádí, že nebyl příliš zaujat ostatními dialekty jazyka BASIC pro ZX Spectrum. +more Nikdy nepoužil Laser BASIC ani Mallard BASIC (pro ZX Spectrum +3). Pracovně znal autora Mega BASICu, kterému jednou nechtěně poradil, jak tento program (přes RST 08) urychlit.
Přidaná klíčová slova
Editace
EDIT * KEYWORDS * LIST FORMAT * CSIZE * JOIN * SPLIT
Procedury a parametry
DEF PROC * END PROC * PROC (od verze 3.0 nepovinné) * LOCAL * DEFAULT * REF * READ LINE * LIST PROC * ITEM
Cykly, větvení
DO * LOOP * EXIT IF * WHILE * UNTIL * IF - THEN - ELSE * ON
Grafické příkazy
ALTER * CONTROL CODES * CSIZE * DRAW TO * FILL * GET - umožňuje získat část obrazu, a uložit ho do proměnné, a později znovu využít k zobrazení, * OVER 2 - nově vykreslenou grafiku přidává pomocí funkce OR (původní OVER 1 používá XOR), * PLOT - kromě původního použití umí vypsat text na libovolnou pozici na obrazovce, * POKE * ROLL * SCROLL * WINDOW * XOS/YOS/XRG/YRG - proměnné nastavující velikost a počátek virtuální obrazovky, nastavují se pomocí standardního příkazu LET, * SINE * COSE * FILLED * MEMORY$ * SCRN$ - podobné funkci SCREEN$, ale navíc zná i znaky UDG (uživatelem definované znaky ve znakové sadě Sinclair BASICu),
Modifikace programů
ALTER * AUTO * DEF KEY * DELETE * LIST … TO … * LIST REF * REF * RENUM * LIST DATA/VAL/VAL$ * LIST DEF KEY * LIST PROC * MEM
Ostatní
CLOCK - práce s hodinami a alarmy * TIME - aktuální čas * DPOKE - zápis dvoubytového čísla do paměti * DPEEK - čtení dvoubytového čísla z paměti * KEYIN - vloží řetězec jako nový řádek do programu nebo vykoná * TRACE - sledování běhu programu
Beta BASIC 4.0
Beta BASIC 4. 0 zabírá v paměti počítače 25 KiB, ale proměnné a části programů až do velikosti 64 KiB mohou být uloženy v RAMdisku, takže při vhodné organizaci programu je možné v Beta BASICu 4. +more0 psát programy až do velikosti 90 KiB. Množina příkazů je rozšířena o dalších 30 příkazů proti Beta BASICu 3. Příkaz BEEP v Beta BASICu 4. 0 umožňuje generovat tříkanálovou hudbu která hraje i při běhu programu. K dispozici je matematická operace MOD a bitová operace AND.
Sigma BASIC
Sigma BASIC je česká úprava Beta BASICu od Sinsoftu. Existuje ve verzích 1. +more0, 2. 0, 4/85-II a 5/85, poslední verze umožňuje zrychlené ukládání a nahrávání souborů pomocí příkazů LOAD #"jmeno" a SAVE #"jmeno" a české znaky UDG.
Reference
Literatura
- porovnání Beta BASICu, Laser BASICu a Mega BASICu
Související články
Externí odkazy
[url=http://www. worldofspectrum. +moreorg/infoseekid. cgi. id=0007956&loadpics=3]Beta BASIC[/url] na World of Spectrum - archiv verzí programu a časopisu Beta BASIC Newsleter.
Kategorie:Programovací jazyky Kategorie:Nadstavby Sinclair BASICu