MSX BASIC
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 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ă
- ^ faq.msxnet.org , MSXnet.org, http://www.faq.msxnet.org/msx2p.html#msx2pgfx . Adus 28/10/10 .
- ^ 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
- MSX.bas , un site portughez axat pe programare în MSX BASIC
- Ultimul MSX FAQ , site cu informații detaliate despre computerele MSX
Controlul autorității | LCCN ( EN ) sh85088218 |
---|