S-BASIC(エスベーシック)とは、シャープの8ビットパーソナルコンピュータMZシリーズに標準添付されていたBASICである。

解説 編集

標準添付のBASICが本体内蔵のMicrosoft系のROM-BASICが殆どだった時代に、MZシリーズでは、システムをROMとして持たない設計ゆえにテープメディアで本体に標準添付されていた。

グラフィックス描画命令など、本体に搭載されている機能をほぼ全て使うことは出来たが、同時期のMicrosoft BASICに比べると文字列操作用の関数などの機能が弱く予約語が少なかったため、同等の処理を行うためにはサブルーチンに分割しなければならないケースもあった。予約語の少なさゆえにマイクロソフト系のBASICに比べると単純な動作についての実行速度は速く、変数は逐次処理されることから、他のBASICの処理系に見られるガベージコレクションは存在せず、フリーエリアも多く取れる傾向にあった。 ベースとなる命令セットは初代機であるMZ-80Kに影響も与えたPET 2001に由来する物である。

音程を制御するMMLの文法もMicrosoft系の多くが採用した物と異なり、音長を0〜9の引数で渡し、連符の表現はできない物だった。

単精度浮動小数点演算など、基本的な命令セットの標準添付のBASIC以外に、倍精度、カラー表示対応、漢字表示対応などの機能そのものを拡張したBASICや、QD、ミニフロッピーディスクに対応した、DISK-BASIC等もシャープから別途供給されている。

特筆すべき点としてはMZ-80B/MZ-2000シリーズに搭載されていたフルロジックコントロールデータレコーダの制御命令を装備していたため、プログラム上から必要なデータの頭出しを行うことが出来、ユーザーからは「TOS(Tape Operating System)」とも呼ばれた。

X1Hu-BASICが標準BASICとして採用された後、MZ-2500シリーズではシャープの文法に則ったBASIC(BASIC S25)のほかに、Microsoft BASICライク(もっと正確に言うとN88-BASICライク)な文法のBASIC(BASIC M25)が付属していた。これはハドソン製ではなかった。純正以外にもバイナリパッチを当て、機能を拡張した亜種のBASICも販売されていた。

なおS-BASICなる名称が正式に登場したのはMZ-700からで、これはMZ-700にはS-BASIC以外にHu-BASICが同梱されていたためである。それ以前は「SHARP BASIC」という名称だった。

主なS-BASIC 編集

  • SP-5030 (MZ-80K/C/K2/K2E/1200)
  • SB-5520 (MZ-80B/B2)
  • SB-6520 (MZ-80B系用DISKBASIC)
  • 1Z-007B (MZ-700 S-BASIC)
  • 5Z-001 (MZ-1500)
  • MZ-1Z001(MZ-2000)
  • MZ-6Z001(MZ-2500 BASIC S25)