|
MSX-BASIC(エムエスエックス ベイシック)は、MSXパソコンにROMで搭載されたマイクロソフト製のBASIC。他のマイクロソフト製BASICと基本的に同じ文法、ユーザーインターフェースを持っていた。 == 概要 == 変数名が最初の2文字のみ有効、行番号を抽象化するラベルの概念がないため、 GOTO 命令等にラベルを指定できないなど、拡張された他機種のBASICと比べると原型に近かった。浮動小数点にはBCD(仮数部は6桁または14桁)を使用していた。 Z80のメモリ空間のうち前半32KBをBIOSとBASICインタプリタのROM、後半32KBにユーザーエリアと、周辺機器の使用するものを含むワークエリアが配置される。MSX2以降の追加機能やディスクドライブを接続した際のDISK-BASICのためのROMは前半32KBのスロットを切り替える形で実装されていたが、そのワークエリアはフリーエリア最後尾から削って使用されるようになっている。また、後半のユーザーエリアはページが固定であることを前提に使用されるため、そのVersionやハードウェアに関わらず、32KiB以上実装された機種やメモリマッパを持っている機種であってもBASICのユーザーエリアは増えず、初期状態で配置されるRAM以外はRAMDISK等の拡張機能で使用する形となっている。 システム部分がROMで構成されているため機能の拡張や、変更用のフックがメモリの最後部に配置されているほか、ディスクドライブなどのBIOSがワークエリアとして使用するため、ユーザーが直接メモリに書き込みを行う場合には、事前に使用可能な末尾のアドレスをきちんと確認する必要がある。BASICからの利用を前提としたハードウェアでは、カートリッジ内に制御BIOSと、拡張BASICを持っており、使用前にcall命令によって、初期化を行うことで拡張される。 MSXのBIOSは通常のパソコンのBIOSとは意味合いが異なり、ハードウェアを隠蔽するために起動時だけでなくハードウェアドライバやシステムコールとして常に使われる性質が強い。MSX-BASICの内部処理もほとんどの場合BIOSを経由して処理が行われ、BIOSの中にはBASICインタプリタのための機能もいくつか存在している。前述のBASIC上で行われるBCD浮動小数点演算もMATHPACKと呼ばれるサブルーチンライブラリとしてBASIC内で実装されており、機械語ベースのユーザープログラムやMSX-DOSアプリケーションからの使用も可能になっていた。 また、そのハードウェアの持つ、スプライト機能、VDP命令の補助によるグラフィックス処理等によって、他の機種では難しかった高速にキャラクタが動き回るリアルタイムゲームをBASICレベルで作成することが簡単だったほか、命令単位では、低級言語によるハードウェアの直接制御に肉薄する速度で、動作させることが可能であったことも特徴である。 但し、グラフィックス制御に関してはアルゴリズムレベルで最適化するなどしない限り、直接ハードウェアを制御しても、それ以上の速度は望めないということでもあり、VDPの処理速度から、必ずしも、他の実装に対し、高速であったわけではない。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「MSX-BASIC」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 MSX BASIC 」があります。 スポンサード リンク
|