HOME

TheInfoList



OR:

MSX BASIC is a dialect of the
BASIC programming language BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
. It is an extended version of
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
's MBASIC Version 4.5, adding support for graphic, music, and various peripherals attached to MSX
microcomputer A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (PC ...
s. Generally, MSX BASIC is designed to follow
GW-BASIC GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the ...
, released the same year for
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
s and clones. During the creation of MSX BASIC, effort was made to make the system flexible and expandable.


Distribution

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 A ROM cartridge, usually referred to in context simply as a cartridge, cart, or card, is a replaceable part designed to be connected to a consumer electronics device such as a home computer, video game console or, to a lesser extent, electron ...
and disk interfaces, the latter causing the
MSX-DOS MSX-DOS is a discontinued disk operating system developed by Microsoft for the 8-bit home computer standard MSX, and is a cross between MS-DOS 1.25 and CP/M-80 2. MSX-DOS MSX-DOS and the extended BASIC with 3½-inch floppy disk suppo ...
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 In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the b ...
and the
BASIC interpreter A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BAS ...
itself are visible on the lower 32K of the Z80 addressing space. The upper 32K are set to
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
, 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 Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learn ...
version).


Development Environment

MSX BASIC development environment is very similar to other versions of Microsoft BASIC. It has a
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
-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 Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in ...
and provide new capabilities to fully explore the new and extended hardware found on the newer MSX computers.


MSX BASIC 1.0

* Bundled with MSX1 computers * 16 KB in size * No native support for floppy disk requiring the Disk BASIC cartridge extension (4 KB overhead) * Support for all available screen modes: ** Screen 0 (text mode 40 x 24 characters) ** Screen 1 (mixed text mode 32 x 24 characters, sprites and colored custom characters) ** Screen 2 (high resolution graphic mode 256 x 192 pixels, 16 colors) ** Screen 3 (low resolution graphic mode 64×48 - 4×4 pixel blocks over the screen 2 resolution) * Full support for hardware sprites and
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
-driven automatic
collision detection Collision detection is the computational problem of detecting the intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing fields, primarily in computer grap ...
* Full support for the General Instruments AY-3-8910 Programmable Sound Generator (PSG) 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

* Bundled with MSX2 computers * 32 KB in size (First 16 KB directly available, second 16 KB in other slot and has to be paged in/out for usage) * Added support for new available screen modes, including graphic modes with 212 progressive or 424 interlaced lines: ** Updated Screen 0 (text mode 80 x 24) ** Screen 5 (graphic mode 256 x 212/424 pixels, 16 colors out of 512) ** Screen 6 (graphic mode 512 x 212/424 pixels, 4 colors out of 512) ** Screen 7 (graphic mode 512 x 212/424 pixels, 16 colors out of 512) ** Screen 8 (graphic mode 256 x 212/424 pixels, 256 colors, no palette) * Added support for multicolored sprites (16 colors) * Added support for hardware accelerated graphics functions (copy, fill, blitting, etc.) * Added support for using the lower 32K RAM of the computer (not directly visible because the BIOS and BASIC interpreter ROMs take over the addressing space) as a limited RAM disk (only certain types of files could be saved). MSX BASIC 2.1 supports using the memory mapper (if available on the machine) to expand this RAM disk to almost 90 KB. MSX BASIC 2.1 exists on computers like the Philips MSX2 machines (except for the VG 8230), the Yamaha YIS-805 and Sanyo MPC-2300.


MSX BASIC 3.0

* Bundled with
MSX2+ MSX is a standardized home computer architecture, announced by Microsoft and ASCII Corporation on June 16, 1983. It was initially conceived by Microsoft as a product for the Eastern sector, and jointly marketed by Kazuhiko Nishi, then vice- ...
computers * 32 KB in size (First 16 KB directly available, second 16 KB in other slot and has to be paged in/out for usage) * Added command SET SCROLL for smooth, hardware based scrolling in BASIC * Added support for new available screen modes: ** Screen 10 (graphic mode 256 x 212/424 pixels, 12499 YJK at once + 16 colors out of 512 RGB in ML) ** Screen 11 (graphic mode 256 x 212/424 pixels, 12499 YJK at once + 16 colors out of 512 RGB) ** Screen 12 (graphic mode 256 x 212/424 pixels, 19268 YJK at once)


MSX BASIC 4.0

* Bundled with the Panasonic FS-A1ST MSX turbo R model * Added _PAUSE command to make delays in BASIC independent of the current CPU and clock * Added extra commands for the
PCM Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio applications. In a PCM stream, the am ...
device (_PCMPLAY, _PCMREC)


MSX BASIC 4.1

* Bundled with the Panasonic FS-A1GT MSX turbo R model * Added
MIDI MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and ...
extensions 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


External links


MSX.bas
- A Portuguese website focusing completely on development in MSX-BASIC.
MSX2 Technical Handbook, Chapter 2: BASIC
- Official documentation of MSX-BASIC 2.0, generated manually from a printed copy of MSX2 Technical Handbook. {{DEFAULTSORT:Msx Basic MSX Discontinued Microsoft BASICs BASIC, MSX BASIC interpreters BASIC programming language family MSX-DOS Microsoft programming languages