Hu-
BASIC(ヒューベーシック)は、日本のソフトウェア開発会社である
ハドソンによって開発されたプログラミング言語です。主に
シャープのパーソナル
コンピュータ(PC)向けに提供され、特定の機種では標準の
BASIC言語として位置づけられました。
概説
当時のPC市場では、
マイクロソフト(MS)が開発したMS-
BASICが広く普及しており、多くの機種で採用されていました。一方、
シャープが自社のMZシリーズに当初標準搭載していたS-
BASICは、PET
コンピューターに由来する命令体系を採用しており、MS-
BASICとの互換性が低いという課題がありました。このため、MS-
BASICで書かれたプログラムをS-
BASIC環境に移植するには多くの修正が必要でした。
これに対し、
ハドソンが開発したHu-
BASICは、MS-
BASICと互換性のある命令体系を持っていました。この互換性の高さから、MS-
BASICユーザーがHu-
BASIC環境へ、あるいはその逆方向へのプログラム移植が比較的容易に行えるという利点がありました。Hu-
BASICという名称は、開発元である
ハドソンの社名「Hudson」に由来しています。
対応機種と展開
Hu-
BASICは当初、
シャープの
MZ-80K向けにインタープリタとして開発されました。
MZ-80Kの派生機種である
MZ-80Cなど、「
MZ-80K系」と呼ばれる多くの機種で動作し、後に
MZ-80B系の機種向けにも提供されました。
MZ-80K系には、Hu-
BASICの
コンパイラも開発されましたが、初期バージョンには多くの不具合が含まれていたとされています。
MZシリーズの中でも、
MZ-700ではS-
BASICと共にHu-
BASICも標準添付されました。しかし、後継機の
MZ-1500ではHu-
BASICは別売となりました。
MZ-80B系の最終機種であるMZ-2500用としてはHu-
BASICそのものは発売されませんでしたが、標準搭載された
BASIC-M25はHu-
BASICに近い命令体系を備えていました。
シャープがMZシリーズとは別に展開したX1シリーズでは、Hu-
BASICが標準のプログラミング言語として全面的に採用されました。X1ではS-
BASICは提供されず、Hu-
BASICのみが標準で添付されました。これにより、X1ユーザーにとってHu-
BASICは馴染み深い存在となりました。
日本国外では、韓国のサムスンが1982年に発売したSPCシリーズ(例: SPC-1000)でもHu-
BASICが採用されました。また、任天堂の家庭用ゲーム機であるファミリー
コンピュータ向けに
ハドソンが開発した
ファミリーベーシックに採用された「NS-Hu
BASIC」も、同一ブランド名が冠されており、一部共通する特徴を持ちますが、機能的には大きく異なる独自の
BASIC言語でした。
このほか、Hu-
BASICとは文法が異なる、整数
BASICをベースとした「mini Hu-
BASIC/
コンパイラ」という製品も存在し、
MZ-700、X1、NEC PC-8001mkII向けに提供されました。
特徴
Hu-
BASICには、ユーザーの利便性を高めるいくつかの特徴がありました。
命令の省略形: シャープのポケット
コンピュータや
富士通のF-
BASICと同様に、一部の命令には入力の手間を省くための省略形が用意されていました。例えば`LOCATE`は`LOC.`、`FOR`は`F.`、`NEXT`は`N.`といった形で入力できました。
高速な実行: 同時期のMS-
BASICと比較して、Hu-
BASICは内部構造が洗練されており、プログラムの実行速度が高速であるという評価がありました。
RAMディスク対応: MZ-2000/2200用のVer 2.0以降やX1用の一部バージョンでは、
RAMディスクの利用に対応していました。これにより、カセットテープ版であっても
RAMディスクを介してランダムアクセス処理を行うことが可能になり、データ処理の効率が向上しました。他の多くのROM-
BASICでは、テープメディアにおける
シーケンシャルアクセスしかサポートせず、ランダムアクセス命令自体が実装されていない場合がほとんどでした。
共通ディスクフォーマット: Hu-
BASICは、対応機種間で共通のディスクフォーマットを採用していました。これにより、MZ用とX1用など、機種が異なる環境でもファイルの読み書きが可能でした。後にX1を軸に開発された
オペレーティングシステム、S-OS「SWORD」でもこのディスクフォーマットが引き継がれています。
メモリ利用効率: Hu-
BASICは多くの機能を内蔵していたため、
BASIC本体が占めるメモリ領域が比較的大きく、ユーザーがプログラムやデータに自由に利用できるフリーエリアが他の環境よりも狭くなる傾向がありました。64KiBのメインメモリを搭載したX1用でも、フリーエリアは約20KiB程度でした。この問題に対し、X1turbo向けのturbo
BASICでは、ファイル管理やグラフィック描画などのルーチンをシャドーROMに配置することでフリーエリアの拡大を図りました。また、X1F以降の標準添付されたV2.0(NEW
BASIC)では、使用頻度の低い命令やエラーメッセージなどを段階的にメモリから削除できる`NEW ON`命令を実装し、利用可能なメモリ空間を増やせるように改良されました。
バージョンと歴史
Hu-
BASICは対応機種や時代の変遷に合わせて様々なバージョンがリリースされました。代表的なものには以下のようなものがあります。
MZ-700用:HU-
BASIC VERSION 2.0A(標準添付)
MZ-1500用:Hu
BASIC Ver2.0(別売)
X1用:
CZ-8CB01 V1.0(カセット版、標準添付)
CZ-8RB01 V1.0(ROM版、拡張ボード)
CZ-8FB01 V1.0(フロッピー版、標準添付)
CZ-8FB01 V2.0(フロッピー版、NEW
BASIC、標準添付)
CZ-8CB01 V2.0(カセット版、標準添付)
CZ-8FB02(X1turbo用、turbo
BASIC、標準添付)
CZ-8CB02(X1turbo model 10用カセット版、標準添付)
CZ-8FB03(X1turboZII/ZIII用、New Z-
BASIC、標準添付)
ファミリーベーシック用:NS-Hu
BASIC
サムスンSPC用:V1.0
これらのバージョンは、対応ハードウェアの機能(グラフィック、サウンド、メモリ構成など)に合わせて機能が追加・強化されたり、あるいはメモリ効率のために一部機能が変更されたりしました。
関連項目
S-BASIC: シャープが開発し、MZシリーズに標準搭載されたもう一つの
BASIC言語。
dB-BASIC: デービーソフトが開発し、MZシリーズやX1シリーズで利用された市販の
BASIC言語。
*
Human68k: X1の後継機である
X68000シリーズのOS。
シャープと
ハドソンが共同開発しており、両社の関係性がうかがえる。