MSX BASIC

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
MSX BASIC
limbaj de programare
Autor Microsoft
Data de origine 1983
Ultima versiune 4.1
Utilizare Computer de casă MSX
Paradigme programare imperativă
Influențată de Microsoft BASIC și GW-BASIC
Implementare referință
Implementare interpret
Site-ul web www.microsoft.com
MSX BASIC: exemplu de cod și editor

MSX BASIC este un dialect al limbajului de programare BASIC dezvoltat de Microsoft pentru computerele de acasă MSX .

Acesta derivă din versiunea Microsoft BASIC 4.5, deși a fost influențată de GW-BASIC , un interpret BASIC pentru mașinile MS-DOS pe 16 biți . MSX include suport pentru gestionarea graficii, audio și perifericelor conectate la computere și a fost dezvoltat pentru a fi flexibil și extensibil.

Caracteristici

MSX BASIC a fost integrat în ROM - ul tuturor computerelor MSX, care l-ar numi atunci când au pornit dacă pe computer nu era prezent niciun alt software rezident pe ROM, cum ar fi un cartuș de joc sau o interfață de disc : în aceste cazuri sistemul ar porni sau jocul pe cartuș sau sistemul de operare de pe dischetă , MSX-DOS .

Când a fost pornit MSX BASIC, ROM- ul BIOS - ului și interpretorului BASIC a fost mapat în primii 32 kB din spațiul de adrese CPU Zilog Z80 , în timp ce restul de 32 kB au fost mapate în RAM : dintre acestea, acestea erau disponibile utilizatorului pentru program și date de la 23 la 28 kB, în funcție de prezența sau absența controlerului de disc (4 kB) și a nucleului MSX-DOS (5 kB).

Mediul de dezvoltare MSX BASIC (IDE) era foarte asemănător cu cel al sistemului Dartmouth Time Sharing Dartmouth BASIC , adică o interfață de linie de comandă în care să introduceți comenzi și instrucțiuni. Dacă linia introdusă a început cu un număr, a fost considerată ca făcând parte din programul utilizatorului și stocată în RAM; în caz contrar, a fost considerată o comandă care trebuie executată imediat (modul direct). IDE a prezentat un mesaj inițial cu conținutul memoriei libere și în partea de jos un memento al comenzilor asociate tastelor funcționale ale computerului.

Versiuni

Fiecare versiune nouă a computerelor MSX a fost oferită cu o versiune actualizată a MSX BASIC. Toate versiunile erau compatibile cu versiunile anterioare și furnizau caracteristicile necesare pentru a utiliza hardware-ul actualizat sau adăugat găsit pe computerele noi.

MSX BASIC 1.0 / 1.1 / 1.2

  • Integrat în calculatoarele MSX 1.0 / 1.1 / 1.2
  • Dimensiunea interpretului: 16 kB
  • Nu există suport nativ pentru dischete: în prezența unei unități de disc era necesar să aveți cartușul de expansiune „Disk BASIC” (care scădea 4 kB din memoria RAM disponibilă);
  • Suport pentru toate modurile grafice gestionate de coprocesorul video:
    • Ecran 0: modul text 40 × 24 caractere
    • Ecran 1: modul text mixt de 32 × 24 caractere cu fonturi colorate și suport sprite
    • Ecran 2: modul grafic de înaltă rezoluție 256 × 192 pixeli , 16 culori
    • Ecranul 3: modul grafic de rezoluție scăzută cu blocuri grafice de 64 × 44 - 4 × 4 pixeli pe rezoluția ecranului 2
  • Suport complet pentru sprite hardware, inclusiv gestionarea coliziunilor de întrerupere
  • Suport complet pentru cipul audio AY-3-8910

MSX BASIC 2.0

  • Integrat în MSX 2
  • Dimensiunea interpretului: 32 kB (primii 16 kB disponibili direct, al doilea 16 kB accesibil prin comutare bancară )
  • Suport adăugat pentru noi moduri grafice:
    • Ecranul 0 actualizat: modul text 80 × 24 caractere
    • Ecranul 5: modul grafic 256 × 212/424 * pixeli, 16 culori dintr-o paletă de 512
    • Ecranul 6: modul grafic 512 × 212/424 * pixeli, 4 culori dintr-o paletă de 512
    • Ecranul 7: modul grafic 512 × 212/424 * pixeli, 16 culori dintr-o paletă de 512
    • Ecran 8: 256 × 212/424 * mod grafic pixel, 256 culori (fără tabletă)

* : 424 de linii grafice erau disponibile numai în modul intercalat

  • Suport adăugat pentru sprite multicolore (16 culori)
  • Suport adăugat pentru funcții grafice accelerate hardware (copiere, umplere, blitter etc.)
  • S-a adăugat suport pentru a utiliza primii 32 kB de RAM ai computerului (nu sunt vizibili direct deoarece sunt mapați pe ROM-urile BIOS și interpretorului BASIC) ca un disc RAM cu utilizare limitată (ar putea conține doar anumite tipuri de fișiere).

MSX BASIC 3.0

  • Integrat în computerele MSX 2+ (plus)
  • Dimensiunea interpretului: 32 kB (primii 16 kB disponibili direct, al doilea 16 kB accesibil prin comutare bancară )
  • S-a adăugat comanda SET SCROLL pentru a gestiona derularea fără probleme a materialului video prin BASIC
  • Suport adăugat pentru noi moduri grafice:
    • Ecranul 10: modul grafic 256 × 212/424 pixeli cu 12499 nuanțe în codare YJK * și 16 culori dintr-o paletă de 512 în codificare RGB (mod întrețesut) +
    • Ecran 11: modul grafic 256 × 212/424 pixeli cu 12499 nuanțe în codare YJK * și 16 culori dintr-o paletă de 512 în codificare RGB +
    • Ecranul 12: modul grafic 256 × 212/424 pixeli cu 19268 nuanțe în codare YJK *

* : moduri și codare color permise de noul cip grafic Yamaha V9958
+ : din punct de vedere tehnic identic, MSX BASIC a tratat aceste 2 moduri ca fiind diferite, folosind ecranul 11 ​​pentru a corecta problema pătării culorilor în linii verticale folosind culori RGB [1]

MSX BASIC 4.0

  • Integrat în modelul MSX Turbo R (vândut doar în Japonia )
  • S-a adăugat suport pentru modurile 512 × 512 pixeli (16 culori RGB din 512) și 256 × 212 (19268 culori YJK)
  • S-a _PAUSE comanda _PAUSE pentru a recrea așteptări independente de CPU și ceas în BASIC.
  • Comenzi adăugate pentru dispozitivul audio PCM ( _PCMPLAY , _PCMREC )

MSX BASIC 4.1

  • Integrat în Panasonic FS-A1GT MSX Turbo R
  • S-au adăugat extensii MIDI

Extensii MSX BASIC

Datorită faptului că MSX BASIC a fost conceput pentru a fi extensibil, a fost posibil să se facă extensii la limbă relativ ușor. Suportul pentru hardware specific a fost adăugat prin utilizarea cartușelor de expansiune, care au servit și ca interfață pentru hardware-ul în cauză. Disk BASIC este un exemplu: integrat în cartușul care furniza interfața pentru conectarea unităților de disc, a adăugat comenzi pentru a le accesa.

De asemenea, a fost posibilă extinderea MSX BASIC prin intermediul software-ului: o extensie la versiunile 1.0 / 1.1 a fost „Screen IV”, o modificare care a adăugat modul mixt grafic / textual Screen 4 (de aici și numele) cu 64 × 24 de caractere și Screen 2 rezoluție pentru grafică (256 × 192 pixeli, 16 culori).

Eșantion de cod

Următorul este un exemplu de cod scris în MSX BASIC: [2]

 10 ECRANUL 2
20 C = INT ( 15 * RND ( 1 ))
30 I = INT ( 92 * RND ( 1 ))
40 X2 = 255 - I
50 Y2 = 191 - I
60 PENTRU X = I PENTRU X2 PASUL 4
70 PSET ( X , I ), C
80 PSET ( X , Y2 ), C
90 IF X2 - X <= 64 THEN 120
100 PSET ( I , X ), C
110 PSET ( X2 , X ), C
120 NEXT X
130 GOTO 20

Notă

  1. ^ faq.msxnet.org , MSXnet.org, http://www.faq.msxnet.org/msx2p.html#msx2pgfx . Adus 28/10/10 .
  2. ^ David H. Ahl , Grafică simplă pe ecran cu MSX Basic , în Creative Computing , vol. 10, nr. 2, 1984, p. 204.

Bibliografie

  • Albert Sickler, MSX-BASIC , Ediții tehnice Kluwer, 1987.
  • VideoBasic MSX , 20 de tranșe, Jackson Publishing Group, 1985.

Elemente conexe

linkuri externe

Controlul autorității LCCN ( EN ) sh85088218
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT