MSX BASIC

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

MSX BASIC is een dialect van de programmeertaal BASIC. Het is een uitgebreide versie van Microsoft Standard BASIC Version 4.5, en omvat ondersteuning voor grafische weergaven, muziek, en diverse computerrandparatuur die verbonden kunnen worden met MSX homecomputers. MSX BASIC is ontworpen om GW-BASIC te volgen, dat één van de standaard BASIC voor 16-bit computersystemen is. Tijdens de ontwikkeling van MSX-BASIC was een van de belangrijkste doelstelllingen om het systeem zo flexibel en uitbreidbaar mogelijk te maken.

Distributie[bewerken]

MSX BASIC was vervat in het ROM-geheugen van alle MSX computers. Bij de systeemopstart wordt MSX BASIC automatisch geladen en waardoor de opdrachtprompt wordt weergegeven, tenzij andere software in ROM de controle overneemt (dit is het typische geval van cartridges en disketteinterfaces, waar bij de laatste een MSX DOS opdrachtprompt wordt weergegeven indien er een diskette aanwezig is die de DOS-systeembestanden bevat).

Wanneer MSX BASIC wordt geladen, de ROM-code voor het BIOS en van de BASIC-interpreter zelf zijn zichtbaar in de lagere 32K van Z80 geheugenadresseringsruimte. De hogere 32K worden toegewezen aan het RAM-geheugen, waarvan ongeveer 23K 28K beschikbaar zijn voor BASIC-code en gegevens (de precieze hoeveelheid hangt samen met de aanwezigheid van een schijfcontroller en van de MSX DOS-kernelversie).

MSX BASIC-versies[bewerken]

Elke nieuwe MSX computer werd geleverd met een bijgewerkte versie van MSX BASIC. Alle versies zijn achterwaarts compatibel en voorzien van nieuwe mogelijkheden om de nieuwe en uitgebreide hardware van nieuwere MSX computers volledig te ondersteunen.

MSX BASIC 1.0 / 1.1[bewerken]

  • meegeleverd met MSX 1.0 / 1.1-computers
  • grootte: 16 KB
  • geen standaard ondersteuning van diskettestations, hier voor is een optionele Disk BASIC-cartridgeuitbreiding benodigd (4 KB overhead)
  • ondersteuning voor alle beschikbare schermmodi:
    • Screen 0 (tekstmodus 40 x 24 karakter)
    • Screen 1 (mixed tekstmodus 32 x 24 karakters, sprites en gekleurde custom karakters)
    • Screen 2 (hoge resolutie grafische weergavemodus 256 x 192 beeldpunten, 16 kleuren)
    • Screen 3 (lage resolutie grafische weergavemodus 64 × 48 - 4 × 4 beeldpunten blokken over de screen 2-schermresolutie)
  • volledige ondersteuning voor hardware sprites en interruptgestuurde automatische botsingsdetectie (collision detection)
  • volledige ondersteuning van de General Instrument AY-3-8910 Programmable Sound Generator (PSG)

MSX BASIC 2.0[bewerken]

  • meegeleverd met MSX 2.0
  • grootte: 16 KB
  • toegevoegde ondersteuning voor alle nieuwe beschikbare schermmodi (Opmerking: de 424 lijnen kunnen alleen in interlace modus worden weergegeven):
    • bijgewerkte Screen 0 (tekstmodus 80 x 24)
    • Screen 5 (grafische weergavemodus 256 x 212/424 beeldpunten, 16 kleuren uit een palet van 512)
    • Screen 6 (grafische weergavemodus 512 x 212/424 beeldpunten, 4 kleuren uit een palet van 512)
    • Screen 7 (grafische weergavemodus 512 x 212/424 beeldpunten, 16 kleuren uit een palet van 512)
    • Screen 8 (grafische weergavemodus 256 x 212/424 beeldpunten, 256 kleuren, geen kleurenpalet)
  • toegevoegde ondersteuning voor meerkleurige sprites (16 kleuren)
  • toegevoegde ondersteuning voor hardwarematige versnelling van grafische functies (copy, fill, blittering, enz.)
  • toegevoegde ondersteuning om het lagere 32 K RAM van de computer te gebruiken (niet direct zichtbaar omdat de BIOS en BASIC-interpreter ROMs de geheugenadresseringsruimte innemen) als een beperkte RAM-disk (slechts een beperkt aantal bestandstypen konden worden opgeslagen).

MSX BASIC 3.0[bewerken]

  • meegeleverd met MSX 2.0+ (MSX2+)
  • grootte: 16 KB
  • toegevoegd commando SET SCROLL voor een gladde, hardwaregebaseerde scrolling in BASIC
  • toegevoegde ondersteuning voor alle nieuwe beschikbare schermmodi:
    • Scren 10 (grafische weergavemodus 256 x 212/424 beeldpunten, 12499 YJK gelijktijdig + 16 kleuren uit een 512 RGB-kleurenpalet in ML)
    • Screen 11 (grafische weergavemodus 256 x 212/424 beeldpunten, 12499 YJK gelijktijdig + 16 kleuren uit een 512 RGB-kleurenpalet)
    • Screen 12 (grafische weergavemodus 256 x 212/424 beeldpunten, 19268 YJK gelijktijdig)

MSX BASIC 4.0[bewerken]

  • meegeleverd met MSX Turbo R (alleen uitgebracht in Japan)
  • toegevoegde ondersteuning voor schermmodi van 512 x 512 (16 kleuren uit een palet van 512) en 256 x 212 (19268 kleuren)
  • toegevoegd _PAUSE-commando om vertragingen in BASIC onafhankelijk te maken van de aanwezige processor en klok
  • toegevoegde extra commando's voor het PCM-geluidsweergaveapparaat (_PCMPLAY, _PCMREC)

MSX BASIC 4.1[bewerken]