S-
BASIC(エスベーシック)は、
シャープの8
ビットパーソナル
コンピュータ、MZシリーズに標準添付されていた
BASICです。当時、多くのパーソナル
コンピュータではMicrosoft系のROM-
BASICが本体に内蔵されていましたが、MZシリーズはシステムをROMとして持たない設計であったため、S-
BASICはテープメディアで本体に標準添付されていました。
S-
BASICは、グラフィックス描画命令など、本体に搭載されている機能をほぼ全て利用することができました。しかし、同時期のMicrosoft
BASICと比較すると、
文字列操作用の関数などの機能が弱く、予約語も少なかったため、同等の処理を行うためには
サブルーチンに分割する必要があるケースもありました。
一方で、予約語の少なさゆえに、
マイクロソフト系の
BASICに比べて単純な動作についての実行速度は速く、変数は逐次処理されることから、他の
BASICの処理系に見られるガベージコレクションは存在せず、フリーエリアも多く取れる傾向にありました。ベースとなる命令セットは、初代機であるMZ-80Kに影響を与えたPET 2001に由来するものです。
音程を制御するMML(Music Macro Language)の文法もMicrosoft系の多くが採用したものとは異なり、音長を0~9の引数で渡し、連符の表現はできないものでした。単精度浮動小数点演算など基本的な命令セットに加え、倍精度演算、カラー表示対応、漢字表示対応などの機能拡張された
BASICや、QD(Quick Disk)、ミニフロッピーディスクに対応したDISK-
BASICなども
シャープから別途供給されていました。
特筆すべき点として、MZ-80B/MZ-2000シリーズに搭載されていたフルロジックコントロールデータレコーダの制御命令を装備していたことが挙げられます。これにより、プログラム上から必要なデータの頭出しを行うことが可能になり、ユーザーからは「TOS(Tape Operating System)」とも呼ばれました。この機能は、データレコーダーを用いたプログラムの読み込みやデータ保存を効率化しました。
X1でHu-
BASICが標準
BASICとして採用された後、MZ-2500シリーズでは、
シャープ独自の文法に則った
BASIC(
BASIC S25)のほかに、Microsoft
BASICライク(正確にはN88-
BASICライク)な文法の
BASIC(
BASIC M25)が付属していました。この
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)