MSX BASIC
読み:エムエスエックス-ベーシック
外語:MSX BASIC

 MSXシリーズに標準搭載されていたBASIC言語。「MSX-BASIC」とも書かれるが、画面上にはMSX BASICと表示されている。
目次

概要
 ROMとして内蔵されており、フロッピーディスクが挿入されていなかったり、カートリッジスロット等に自動起動するソフトウェアが無い場合、このBASICが起動する。
 64Kiバイトのメモリー空間のうち32KiバイトにBASICが存在し、残る32Kiバイトにメインメモリーが8Kiバイト、16Kiバイト、32Kiバイトの何れかが配置される。
 MSXは様々なメーカーが参入する規格で、ハードウェアの仕様も様々あったことから、このハードウェアの違いを吸収、隠蔽するOSのような機能/役割も有していた。

特徴

機構
 MSXは、64Kiバイトのメモリー空間を16Kiバイトごとに区切り、スロットとして切り替えて使用できる。
 BASICインタプリタはスロット0のページ0と1に配置される。メインメモリーは機種ごとに違うが、スロット3-0に置かれ、これがページ2と3に配置される仕様が多かった。
 MSX2以降は機能拡張に対応するため、サブBIOS ROM 16Kiバイトがスロット3-1に配置され、切り替えて使われた。
 BASICインタプリタは、BASICからだけではなくMSX-DOSなどからも呼び出して利用できる機能が用意されており、例えばBASICで使われているBCD浮動小数点演算機能Math-Pachなどがある。

特殊機能
 Microsoftの一般的な8ビットCPU用BASICに対し、MSXの機能を充足するための新機能が搭載されている(ABC順)。
CALL
拡張命令の呼び出し。アンダースコア_で省略可能。
各スロットごとにCALL命令拡張のためのアドレスが用意されており、自由に追加することが出来た。またシステムに拡張機能が搭載された場合も、CALLで呼び出す例が多かった。
DISK-BASICの場合はCALL SYSTEMでMSX-DOSを呼び出すことが可能
MSX2+の漢字モードはCALL KANJIで切り替え、CALL ANKで戻ることが可能
FM音源は、MSX-AUDIOならCALL AUDIO、MSX-MUSICならCALL MUSICで呼び出すことが可能
CMD
他機種ではCMDで命令を拡張する例が多かった。MSXにもあり拡張可能だが、殆ど使われていない。
ON … GOSUB
キーボード入力(KEY)、スプライト衝突(SPRITE)、インターバルタイマー(INTERVAL)などの条件でサブルーチンをコールする割り込み命令。
PLAY
搭載されているPSG(AY-3-8910)を利用して演奏する機能。
演奏方法はMMLとして記述する。
PUT
出力関係の拡張用。PUT SPRITEでスプライト表示、PUT KANJIで漢字表示など。
SET
設定関係の拡張用。SET ADJUSTなど、MSX2以降で多数拡張された。
SPRITE$(n)
スプライトのパターンを定義するための関数。
VDP
VDPのレジスターを読み書きするための関数。
VPOKE,VPEEK
VRAMの読み書きを行なう関数。
MSXでは、VRAMはVDPが管理しており、CPUのメモリー空間とは別になることから用意された。POKE,PEEKにVRAMないしVDPのVを冠したことが名前の由来と考えられる。

バージョン
 MSXの規格に応じて、様々なバージョンが存在した。
バージョン1
初代MSX用のBASICは、MSX BASIC version 1.0である。
バージョン2
MSX2用のBASICである。MSX BASIC version 2.0である。
バージョン3
MSX2+用のBASICである。MSX BASIC version 3.0である。
バージョン4
MSXturboR用のBASICである。
バージョン5
正体は不明だが、MSX BASIC version 5.0なるものも存在するらしい。

再検索