Beta BASIC

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Beta BASIC
software
Tip interpret (nu este listat )
Dezvoltator BetaSoft
Ultima versiune 4.0 ( 1987 )
Sistem de operare Sinclair ZX Spectrum (nu este listat )
Licență proprietar
( licența nu este gratuită )

Beta BASIC este un interpret BASIC dezvoltat pentru computerele casnice Sinclair ZX Spectrum de Andrew Wright și comercializat prin intermediul companiei sale BetaSoft. Acest lucru a avut, de asemenea, grijă de publicarea unui buletin / revistă periodică numită BetaNews , care a reprezentat unul dintre principalele forumuri ale vremii pentru programatorii Spectrum mai experimentați. [1]

Dezvoltat inițial ca o extensie a Sinclair BASIC, a crescut în timp pentru a deveni un interpret cu drepturi depline.

Caracteristici

Beta BASIC a fost un program de tip TSR (Terminate and Stay Resident) care a înlocuit pe deplin toate interpretele Sinclair BASIC ZX Spectrum care, ca în multe alte ere ale microcomputerelor , a fost și sistemul său de operare, oferind o linie de comandă a interfeței (CLI, linia de comandă Interface) și ecranul „ editor pentru programe, precum și să fie singura modalitate de a gestiona resursele computerului.

Beta BASIC a oferit noi CLI-uri și editori care au susținut atât modul particular de introducere a comenzilor BASIC ale ZX Spectrum bazat pe presiunea tastelor unice, cât și tiparea clasică literă cu literă a cuvintelor cheie, care a fost mult mai rapidă în cazul în care utilizatorul s-a conectat o tastatură completă către computer. În plus, Beta BASIC a extins sistemul la taste individuale prin maparea caracterelor „grafice” ale Spectrum cu noi combinații. Pentru a comuta între diferitele moduri, utilizatorul a trebuit pur și simplu să apăsați bara de spațiu: această acțiune a cauzat cursorul la starea de schimbare între „K“ (pentru cuvinte cheie), modul de cuvânt - cheie, „L“ (pentru Minuscule), tastatura normala cu litere mici și „C” (pentru majuscule ), tastatura cu litere mari. Instrucțiunea KEYWORDS ar putea fi utilizată pentru a modifica starea de inserare, de exemplu prin dezactivarea modului „K”.

O altă caracteristică a Beta BASIC a fost capacitatea de a formata text pe măsură ce tastați. Chiar și Sinclair BASIC a permis această posibilitate, dar Beta BASIC a făcut-o automat, astfel încât, de exemplu, a fost posibil să se observe mai bine închiderea buclelor folosind indentarea liniilor. O altă caracteristică a fost evidențierea liniei curente și capacitatea de a muta cursorul în sus și în jos, la stânga și la dreapta, un ajutor evident atunci când scriem linii lungi de cod.

Beta BASIC a fost un interpret în adevăratul sens al termenului, înlocuindu-l complet pe cel al spectrului rezident în ROM , pe care l-a folosit ca bibliotecă efectuând apeluri către funcții care nu au fost reproduse în codul BETA BASIC în principal pentru a nu consuma prea multă memorie: interpretul a rulat ca program și a folosit o parte din cei 48 KB de RAM ai Spectrum, lăsând restul liber pentru programele utilizatorului.

Diferențe cu Sinclair BASIC

Comparativ cu interpreții contemporani, Beta BASIC era foarte sofisticat: suporta programarea structurată cu funcții și proceduri indicate cu nume și variabile locale, permițând programarea recursivă . [2] Chiar dacă editorul a acceptat numerele de linie, acestea nu erau necesare: de fapt, a existat un anumit mod de operare care a omis complet afișajul lor. În cele din urmă, a oferit operații de matrice și comenzi pentru accesarea fișierelor de pe disc sau casetă.

În ceea ce privește performanța aceasta surclasat multe alte 8 biți BASICurile din 1980 prin abordarea de capacitățile Microsoft „s QuickBasic 4.5 sau QBasic , BASIC medii care vor apărea mai târziu pentru viitoarele 16-biți calculatoare.

Pe Spectrums cu 128 KB de RAM, Beta BASIC începând cu versiunea 4.0 a oferit funcționalitatea de a accesa memoria suplimentară a mașinii gestionând-o ca un disc RAM : [3] în ea programatorii își puteau salva programele pentru a le încărca ulterior, stoca blocuri de memorie sau imagini de pe ecran. Beta BASIC a permis, de asemenea, să creeze matrici de date practic de până la 64 KB pe discul RAM, păstrând 30 KB de RAM al computerului (ceea ce a rămas din 48 KB inițial după pornirea interpretului) pentru programul utilizatorului, o cantitate semnificativă după standardele vremii: aproape toate celelalte baze de 8 biți ale timpului erau în general limitate la 64 KB, între program și date.

Functii noi

Beta BASIC a gestionat direct ecranul Spectrum (256 × 192 pixeli ) eliminând restricțiile ecranului modului de text cu 32 de coloane al interpretului Sinclair: oferea fonturi scalabile, inclusiv un font special de doar 4 pixeli lățime, dar totuși lizibil că permite Beta Editor BASIC pentru a afișa text în 64 de coloane, concurând astfel cu editorii unora dintre computerele pe 8 biți apărute pe piață la acea vreme, care au introdus un nou mod de 80 de coloane. A existat, de asemenea, un mod cu un număr și mai mare de coloane, 85: totuși, a fost limitat de faptul că nu exista niciun decalaj între caractere, astfel încât lizibilitatea textului să fie foarte afectată, chiar dacă a permis adaptarea BASIC programe create pentru a lucra cu interfețe adaptate pentru utilizare pe 80 de ecrane de coloane.

Dimensiunea textului poate fi controlată prin intermediul unui software, astfel încât un program să poată utiliza o parte a ecranului cu 64 de coloane, o parte cu 32 de coloane sau o dimensiune intermediară mai mare sau mai mică.

Au fost realizate și versiuni speciale pentru utilizatorii ZX Interface 1 și ZX Microdrive , precum și pentru alte interfețe non-Sinclair , cum ar fi DISCiPLE și + D.

Când a apărut Amstrad Spectrum +3, s-a gândit, de asemenea, să facă o versiune pentru acest computer, dar proiectul a fost abandonat.

Limitele interpretului

Beta BASIC a suferit de unele limitări. La fel ca toate microprocesoarele de 8 biți, chiar și Zilog Z80 din Spectrum putea gestiona direct doar 64 KB de memorie: dintre aceștia, 16 KB erau ROM-ul care conținea interpretul Sinclair BASIC, lăsând doar 48 KB de RAM adresabilă. Pentru a stoca informațiile video, sistemul a folosit o parte din această memorie RAM, care a fost folosită și pentru a salva unele structuri de date ale interpretului. Beta BASIC a ocupat aproximativ 11/12 KB din memoria rămasă, astfel încât la final 20/30 KB de RAM au rămas liberi pentru utilizator.

Beta BASIC nu avea propriul compilator, iar cele existente pentru Sinclair BASIC, cum ar fi HiSoft BASIC, nu erau compatibile prin nerecunoașterea cuvintelor cheie suplimentare ale Beta BASIC: singura modalitate de a exploata aceste compilatoare cu Beta BASIC era pentru a scrie ceva cod fără a utiliza noile comenzi.

La fel ca Sinclair BASIC, Beta BASIC a acceptat doar variabile și operații în virgulă mobilă , o limitare în comparație cu alte BASIC ale timpului, care au acceptat și numere întregi . O altă limitare a versiunii BASIC Beta a fost abilitatea de a utiliza nume de variabile cu o singură literă.

Atribuirea numelor la proceduri a avut loc în Beta BASIC fără obligația de a utiliza cuvântul cheie PROC , obligatoriu în schimb în singurul celălalt BASIC pe 8 biți care a integrat suportul pentru programarea structurată, BBC BASIC . Datorită acestei caracteristici, s-ar putea crea noi cuvinte cheie, extinzându-le pe cele ale interpretului. Dar BBC BASIC, deși nu oferea o astfel de posibilitate, a oferit o viteză de execuție mai mare: a fost unul dintre cei mai rapizi interpreți ai vremii. Beta BASIC nu a fost deosebit de rapid, chiar dacă a înlocuit unele rutine ale interpretorului ROM cu altele mai rapide, cum ar fi cele pentru urmărirea grafică a cercurilor și arcurilor. Un alt neajuns de la BBC BASIC a fost suportul pentru executarea codului mașinii încorporat în liniile de program BASIC.

Dezvoltări ulterioare

În timpul dezvoltării mașinii lor SAM Coupé , foști angajați Sinclair și fondatori ai tehnologiei Miles Gordon Alan Miles și Bruce Gordon au contactat BetaSoft cerând dezvoltarea unui interpret BASIC pentru noul computer. Rezultatul a fost un limbaj complet, fără utilizarea rutinelor externe, ca în cazul Beta BASIC, care a folosit cele ale lui Sinclair BASIC și cu o structură diferită de cea din urmă. Noul limbaj s-a numit SAM BASIC : era în mare parte compatibil cu Beta BASIC, față de care opera în mod similar, cu excepția rutinelor care accesau hardware SAM, cum ar fi cele pentru gestionarea afișajului sau a memoriei extinse. BetaSoft a lansat apoi o extensie pentru SAM BASIC, numită MasterBASIC .

Notă

  1. ^ Philip M. Parker, Advancements: Webster's Quotations, Facts and Phrases , ICON Group International Inc., 2008, p. 473, ISBN 0-546-67381-3 .
  2. ^ (EN) Beta BASIC (JPG), în Sinclair User , n. 34, Londra, EMAP, ianuarie 1985, p. 50, ISSN 0262-5458 ( WC ACNP ) .
  3. ^ ZX Computing 8706 ( JPG ), în ZX Computing , nr. 8706, 06/1987, p. 27.

Elemente conexe

linkuri externe

  • ( EN ) Beta BASIC , pe SpectrumComputing.co.uk .
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT