MSX BASIC
Paradigmimperative
DeveloperMicrosoft Corporation
First appeared1983; 39 years ago (1983)
Stable release
4.1
OSOptional; Any suitable OS is O.K.
LicenseMS-EULA
Websitewww.microsoft.com
Influenced by
GW-BASIC
Influenced
Vilnius BASIC

MSX BASIC is a dialect of the BASIC programming language. It is an extended version of Microsoft's MBASIC Version 4.5, adding support for graphic, music, and various peripherals attached to MSX microcomputers. Generally, MSX BASIC is designed to follow GW-BASIC, released the same year for IBM PCs and clones.[1] During the creation of MSX BASIC, effort was made to make the system flexible and expandable.

Distribution

MSX BASIC version 3.0
MSX BASIC version 3.0

MSX BASIC came bundled in the ROM of all MSX computers. At system start-up MSX BASIC is invoked, causing its command prompt to be displayed, unless other software placed in ROM takes control (which is the typical case of game cartridges and disk interfaces, the latter causing the MSX-DOS prompt to be shown if there is a disk present which contains the DOS system files).

When MSX BASIC is invoked, the ROM code for BIOS and the BASIC interpreter itself are visible on the lower 32K of the Z80 addressing space. The upper 32K are set to RAM, of which about 23K to 28K are available for BASIC code and data (the exact amount depends on the presence of disk controller and on the MSX-DOS kernel version).

Development Environment

MSX BASIC development environment is very similar to other versions of Microsoft BASIC. It has a command line-based Integrated Development Environment (IDE) system; all program lines must be numbered, all non-numbered lines are considered to be commands in direct mode (i.e., to be executed immediately). The user interface is entirely command-line-based.

Versions of MSX BASIC

Every new version of the MSX computer was bundled with an updated version of MSX BASIC. All versions are backward compatible and provide new capabilities to fully explore the new and extended hardware found on the newer MSX computers.

MSX BASIC 1.0

Note that the Brazilian MSX "clones" by Sharp and Gradiente show other versions of MSX BASIC (on the Sharps even called HOT-BASIC), but they're basically just unlicensed MSX BASIC 1.0.

MSX BASIC 2.0 / 2.1

MSX BASIC 2.1 exists on computers like the Philips MSX2 machines (except for the VG 8230), the Yamaha YIS-805[2] and Sanyo MPC-2300.[3]

MSX BASIC 3.0

MSX BASIC 4.0

MSX BASIC 4.1

 100 OPEN "COM5:9600,N,8,1,RS,CS,DS,CD" FOR RANDOM AS #1
 110 A$=INKEY$
 120 IF A$<>" " THEN 110
 130 PRINT #1, "X0"
 140 INPUT #1, B$
 150 PRINT B$
 160 GOTO 110

Extensions of MSX BASIC

Since MSX BASIC was meant to be expandable from inception, it was possible to write add-on modules quite easily. Support for specific hardware was commonly added by means of expansion cartridges, which also served as the interface to the hardware in question. MSX Disk-BASIC is an example, bundled in the cartridge that provides the hardware interface to the disk drives, it adds commands to access the floppy disk drives.

References

  1. ^ Tom R. Halfhill (January 1985). "MSX Is Coming - Part II: Inside MSX". Compute!. Retrieved 2010-10-31.
  2. ^ Sergei Frolov (April 2011). "Yamaha YIS-805 (Soviet Digital Electronics Museum)". Retrieved 2011-04-06.
  3. ^ Sergei Frolov (April 2011). "Sanyo MPC-2300 (Soviet Digital Electronics Museum)". Retrieved 2011-04-06.