MSX-BASIC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/05/11 21:19 UTC 版)
バージョン
MSX-BASICにはMSXの規格と対応するいくつかのバージョンが用意された。ローマ字入力等の一部を除けば、規格の拡張に伴い機能に対応する予約語の追加が主な変更点となる。但し、メモリについては積極的にフリーエリアや、ワークエリアとして使用するような拡張はされず、RAMDISKなど拡張ストレージとしての対応に留まっている。すべてのバージョンで文法に上位互換性があり、大幅なシステムプログラムの更新が行われたturboRを除けばスイッチ、システムの読み込みなどによるモード変更やシステムの変更などを必要とせずにそのまま旧版のソフトウェアが実行可能である。MSX turboRではプロセッサの変更やMSX-DOSの改版に伴い、起動時に「1」キーを押し続けるか、MSX-DOS1またはDISK-BASICのVersion1でフォーマットしたディスクで起動するとDISK-BASICがVersion1でZ80ベースの互換モードで起動し、互換性を維持している。
Version1.x
MSX(1)用。 FDDを含む拡張BASICを使用しない場合、ROM-BASICのワークエリアは約4KBである。ユーザエリアは
となっており、標準で32KiB未満の機種では拡張したメモリが直接BASICで使用可能な容量に反映される。
Version2.x
MSX2用。
SCREEN
命令やスプライト命令の拡張。- マウスやトラックボール等の入力機器の情報取得。
- CMOSメモリによるカレンダ時計機能や設定バックアップ機能が搭載されたことにより、設定変更のための
SET
命令を追加。- カレンダ時計の設定(
SET TIME
、SET DATE
)。 - カレンダ時計の取得(
GET TIME
、GET DATE
)。 - 画面表示位置の補正値を設定(
SET ADJUST
)。 - ビープ音の音量や種類を設定(
SET BEEP
)。 - デフォルトの画面設定を保存(
SET SCREEN
)。 - 6文字以内の任意の文字列を起動ロゴ画面に表示(
SET TITLE
)、プロンプトを標準のOk
から6文字以内の任意の文字列に変更(SET PROMPT
)、起動時の簡易パスワードロック機能を設定(SET PASSWORD
)。これらは、CMOSメモリの保存領域が共通のため排他使用となる。
- カレンダ時計の設定(
SET VIDEO
などグラフィックに関するSET
命令を多数追加。- ROM空間に隠された裏RAM32kバイトを擬似RAMディスクとして使用する命令(
CALL MEMINI
)。装置名MEM:
の追加。- 擬似RAMディスクはMSX2+まではRAMディスク、MSXturboRではメモリディスクと呼称。Disk-BASIC ver2.0で実装されたRAMディスクと異なり裏RAMを利用する性質上、インタースロットコールにより間接的にしかアクセスできない関係で転送速度はカセットテープ並に遅かった。
- 漢字ROM(オプション)の内容を出力する
PUT KANJI
を追加。 - かな文字のローマ字入力モードを追加。かなキーをShiftキーを押しながらONにすることにより、ローマ字入力が可能になる。
- V9938のVDPコマンドを利用した
COPY
命令。- 配列の形で確保したメインメモリと画面の矩形との間での転送と、画像をメインメモリを経由することなく矩形でコピーが可能。論理演算や透明色を適用でき、非常に容易にグラフィックを取り扱うことが可能となった。
MSX2は全機種がRAM 64KiB以上であるため、ROM-BASICのユーザエリアは28,815バイトである。2.xで拡張された命令は1.xで未使用だったワークエリアで動作する。
Version3.x
MSX2+用。
SCREEN
命令(10~12)のモード追加。SET SCROLL
を追加。MSX2ではVDPで縦スクロールはあるものの、VDP命令から直接指示しなければならなかったが、この命令で直接、BASIC上から縦横スクロールが出来るようになった。- 平仮名などのフォントを変更し、
SCREEN 0
の横6ドット表示でも識別できるようになった。 - 漢字BASICを標準搭載。(連文節変換機能のMSX-JEは規格上はオプション。非搭載の機種では単漢字変換となる。)ただし、漢字フォントのスタイルは本体メーカーによって違う。
- ファンクションキーのF7の登録命令が「
cload"
」から「load"
」に変更。
MSX2+は全機種がRAM 64KiB以上であるため、ROM-BASICのユーザエリアは28,815バイトである。3.xで拡張された命令は1.x, 2.xで未使用だったワークエリアで動作する。
Version4.x
- R800の高速モードに対応。
- PCM機能などの命令を追加。
- MSX-DOS2内蔵によりDISK-BASICがVersion2になり、カレントディレクトリを変更する
CALL CHDIR
命令やメモリマッパをRAMディスクとして使用するCALL RAMDISK
命令などが追加。互換Z80モードではVersion1で起動。 - カセットテープI/Oに関する命令(
CSAVE
/CLOAD
/CLOAD?
/MOTOR
)および装置名CAS:
が削除され、実行するとエラーとなる。CSAVE
/CLOAD
/CLOAD?
/MOTOR
はSyntax errorとなり、CAS:
はBad file nameとなる。Device I/O errorとはならない
- 対応するBIOSのエントリは残っているものの、コールしても何もせず正常終了かエラーを返すだけになっている
- これまでのBASICインタプリタはPLAY文が終了する時に1カウント分余計な空白が入るバグがあり、MIDIインターフェイスが本体へ搭載される際に解消された[2]。
固有名詞の分類
- MSX-BASICのページへのリンク