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である。
  • VDPTMS9918対応機能が、他機種との違いにもなった
  • PSGAY-3-8910対応機能が、他機種との違いにもなった
バージョン2
MSX2用のBASICである。MSX BASIC version 2.0である。
  • 新VDP(V9938)に対応し、SCREEN命令やスプライト機能まわりの拡張
  • 同じく新VDPに対応し、SET ADJUSTなど画面まわりの機能をSET命令で追加
  • 同じく新VDPに対応し、COPYステートメントで画面、配列、ディスクファイル間で画像データを転送を可能とした
  • マウス、トラックボールなどの入力機器に対応
  • バッテリーバックアップのカレンダー時計機能に対応
  • BASIC ROMに隠れてBASICから直接使えないメモリー(裏RAM)をメモリーディスクとして利用する命令の追加
  • 漢字ROMのグリフをグラフィック画面に表示するPUT KANJI命令の追加
  • かな入力で、ローマ字入力に対応(SHIFT+かな)
  • その他、BEEP音変更、パスワード設定、プロンプト設定、タイトル文字列設定などの機能をSETステートメントで追加
バージョン3
MSX2+用のBASICである。MSX BASIC version 3.0である。
  • 新VDP(V9958)に対応し、SCREEN命令が拡張された(SCREEN 10/11/12の自然画モード追加)
  • SET SCROLLで、BASICから縦横のハードウェアスクロールを可能とした
  • 漢字BASIC搭載。CALL KANJIで利用可能
  • 日本語処理(MSX-JE)に関する機能追加(オプション仕様)
  • 半角ひらがな等のグリフを変更、SCREEN 0で横2ドットが切れても読みにくくならないよう改善
  • 時代を反映してか、F7の初期設定が従来の「cload"」から「load"」に変更
バージョン4
MSXturboR用のBASICである。
  • FS-A1ST用が、MSX BASIC version 4.0である。
  • FS-A1GT用が、MSX BASIC version 4.1である。
  • 新CPU、R800に対応
  • 新機能であるPCM機能に対応する命令の追加
  • MSX-DOS2内蔵に伴い、Disk BASIC version 2.0にバージョンアップ
  • DOS2で対応するメモリーマッパー用メモリーを使うRAMDISK機能搭載
  • カセットテープI/Oに関する機能、命令の削除(CLOAD/CSAVE/MOTOR)
  • MSX-MUSICの機能を標準搭載、CALL MUSIC対応
  • FS-A1GTではMIDIに対応した。これがver 4.1である
バージョン5
正体は不明だが、MSX BASIC version 5.0なるものも存在するらしい。
関連するリンク
MSX.MS
FrontPage - テクハンwiki
用語の所属
MSX (総称)
BASIC
関連する用語
BIOS
AY-3-8910
MSX-MUSIC
TMS9918
V9938
V9958
MSX-DOS

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club