Hu-BASIC

Hu-BASIC



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用:HuBASIC 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。シャープハドソンが共同開発しており、両社の関係性がうかがえる。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。