MSX-BASIC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/05/11 21:19 UTC 版)
BASICコンパイラ
MSX-BASICには「MSXべーしっ君」という名称でMSX独自の機能を活用できるコンパイラも存在した。
アスキーに所属していたプログラマ・鈴木仁志が開発した[3]。初版は雑誌に発表、1986年にアスキーからROMカートリッジで発売された。製品名は当時ログイン誌で連載していた4コママンガのタイトルから取られており、ソフトのパッケージにも主人公・べーしっ君のイラストが描かれ、一見するとゲームソフトを思わせる体裁だった。付属のフロッピーディスクにはサンプルのマンデルブロ集合の描画やワイヤーフレームの3D迷路自動作成のプログラムが収められていた。
MSX2+が発表されると新機能に対応した「べーしっ君ぷらす」が発売されたほか、サンヨーのMSX2+であるWAVY77シリーズに同等のものが内蔵された。また、MSXturboRが発表されるとソフトベンダーTAKERUからディスク版で「べーしっ君たーぼ」が発売された。
なお、MSX-BASICのコンパイラは、べーしっ君以外にも、ソフトウエスト、ハート電子産業がそれぞれ開発・発売していたものが存在する。
仕様
オンメモリのコンパイラで、拡張BASICとして実装されている。ROM媒体や本体内蔵のバージョンではROMカートリッジや本体内のスロットに、ディスク媒体のバージョンではメインRAMの未使用領域(裏RAM)に格納されて動作する。
既存のBASICプログラムに対し少し手直しするだけで高速化できるというコンセプトで設計されている。
一般的なコンパイラと違い、中間コードや機械語オブジェクトをファイルとしては生成せず、プログラム実行の都度コンパイルを行い、オンメモリで機械語オブジェクトを生成して実行する仕様となっている。このため、MSX-BASICのプログラムソースそのものがMSXべーしっ君のソースとなり、一般のBASICプログラムと同等に管理できるため、BASICの扱いの簡便さと機械語の高速さを併せ持った開発環境となっている。
実行速度は最大で10倍程度に高速化される。
ただし、MSX-BASICの完全互換ではなく、ディスク入出力など未サポートの命令が一部あるため、プログラム全体をコンパイルするか一部分のみをコンパイルするかを選択できるようになっている。
RUN
の代わりに拡張命令 CALL RUN
により実行開始した場合、プログラム全体の機械語オブジェクトを生成し実行する。
一部分のみをコンパイルする場合は、BASICプログラム内に拡張命令(CALL TURBO ON
、CALL TURBO OFF
)を用い、高速化したい部分の前後にこの拡張命令を記述する。実行時にその拡張命令に処理が移ると、ワークエリアにコンパイル対象の部分の機械語オブジェクトが一時的に生成されて実行される仕組みとなっている。コンパイル対象外の箇所はそのままBASICインタプリタで動作するため、MSXべーしっ君非対応の命令がプログラムソース中に同居できる。
浮動小数点数は、MSX-BASICがBCDで実装しているのに対して効率化を理由に3バイトの2進数という独自方式で実装している[4]ため、非コンパイル部分と受け渡しすることはできない。
- 1 MSX-BASICとは
- 2 MSX-BASICの概要
- 3 概要
- 4 バージョン
- 5 BASICコンパイラ
- 6 脚注
固有名詞の分類
- MSX-BASICのページへのリンク