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 computerrandapparatuur die verbonden kunnen worden met MSXhomecomputers.
MSX BASIC is ontworpen om GW-BASIC te volgen, dat een van de standaard BASIC voor 16-bit computersystemen is.
Tijdens de ontwikkeling van MSX BASIC was een van de belangrijkste doelstellingen om het systeem zo flexibel en uitbreidbaar mogelijk te maken.
Distributie
MSX BASIC was verwerkt in het ROM van alle MSX-computers. Bij de systeemopstart wordt MSX BASIC automatisch geladen, waardoor de opdrachtprompt wordt weergegeven, tenzij andere software in het ROM de controle overneemt (dit is het typische geval van cartridges en diskette-interfaces, waarbij de laatste een MSX-DOS opdrachtprompt wordt weergegeven indien er een diskette aanwezig is die de DOS-systeembestanden bevat).
Wanneer MSX BASIC wordt geladen, is de ROM-code voor het BIOS en van de BASIC-interpreter zelf zichtbaar in de lagere 32K van de Z80 geheugenadresseringsruimte. De hogere 32K worden toegewezen aan het RAM, 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
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.
toegevoegde ondersteuning voor meerkleurige sprites (16 kleuren)
toegevoegde ondersteuning voor hardwarematige versnelling van grafische functies (copy, fill, blittering, enz.)
toegevoegde ondersteuning om het lagere 32K 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
meegeleverd met MSX 2.0+ (MSX2+, alleen uitgebracht in Japan)
grootte: 16 kB
toegevoegd commando SET SCROLL voor een vloeiende, hardwaregebaseerde scrolling in BASIC
toegevoegde ondersteuning voor alle nieuwe beschikbare schermmodi:
Screen 10 (grafische weergavemodus 256 × 212/424 beeldpunten, 12499 YJK gelijktijdig + 16 kleuren uit een 512 RGB-kleurenpalet in ML)
Screen 11 (grafische weergavemodus 256 × 212/424 beeldpunten, 12499 YJK gelijktijdig + 16 kleuren uit een 512 RGB-kleurenpalet)
Omdat MSX BASIC was gericht op uitbreiding, werd het mogelijk om uitbreidingsmodules te ontwikkelen. Ondersteuning voor specifieke hardware werd doorgaans via cartridges uitgevoerd, die tevens werkten als de interface. MSX Disk-BASIC is een voorbeeld, dat gebundeld kwam in een cartridge voor diskettestations om deze hardware te ondersteunen, en voorzag in extra instructies binnen MSX BASIC.