Beta BASIC

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Beta 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

Sinclair BASIC * Super BASIC * SAM BASIC * BASIC

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

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top