N88-BASIC

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

N88-BASIC(エヌハチハチベーシック)は、NECパーソナルコンピュータPC-8800シリーズPC-9800シリーズに搭載され、標準プログラミング言語として使用されたBASIC言語の処理系である。

ブート時にROMから自動的に起動するものを「ROM-BASIC」、専用ディスクから起動してFDDHDDを扱えるように機能拡張したものを「DISK-BASIC」、MS-DOS上で動作するものを「DOS-BASIC」と呼んだ(ROM-BASICやDISK-BASICという語はいずれもどちらかといえば一般名詞だが、DOS-BASICはどちらかというと俗称)。初期はROM-BASICのみであったが、FDDの普及によってDISK-BASICが登場し、MS-DOSの普及に伴ってDOS-BASICが開発された。MS-DOSが普及する以前は、DISK-BASICが簡易なDOSとしての役割も担っていた。

N88-BASIC、N88-DISK BASIC、N88-日本語BASIC[編集]

N88-BASICは、1981年に発表されたPC-8801に初めて搭載されたスタンドアロンBASICで、PC-8001に搭載されていたN-BASICを大幅に拡張して作られた。一般的にはM-BASIC 4.5として知られているマイクロソフトのLevel-3 BASICインタプリタがベースとなっている。

N-BASICに対してある程度の上位互換性を持ち、PC-8001で作られたプログラムを実行させることも出来たが、完全互換ではなかった。N-DISK BASICとファイルフォーマットにも互換性があるが、BASIC中間コードは異なるので、プログラムを交換する際にはアスキー形式で保存する必要があった。

N88-BASICには、PC-8800シリーズの機能拡張に合わせて、V1、V2、V3の各メジャーバージョンがある。

  • V1は、V2の出現時に遡って付けられた呼称であり、もともとは「無印」であった。
  • V2はPC-8801mkIISRから新規に搭載されたもので、アナログRGB採用によって表示色が大幅に増えた他、FM音源などの新機能も扱えるようになった。V1に対し、ほぼ完全な上位互換性を保っている。
  • V3(N88-日本語BASIC V3)はPC-88VAシリーズ用に新規に作成されたもので、V2までのBASICの上位互換ではあるが完全上位互換ではなく、PC-Engineと呼ばれる独自OSから起動して使うもので、その意味ではスタンドアロンBASICではない。機能的にもN88-BASICよりは、むしろN88-日本語BASIC(86)に近い。標準で日本語を扱うことができ、ハードウェア・スクロールスプライトマウスメニューバー等も利用できた。また、音楽作成ソフト「インスタント・ミュージック」で作成したファイルBGMとして鳴らしたり、アニメ作成ソフト「アニメフレーマー」で作成したコンピュータアニメーションを再生することもできた。

また、V1およびV2対応の日本語拡張として、N88-漢字BASICやN88-日本語BASICが発売されたが、両者の間では漢字の内部表現形式が異なっている。前者はKI(FAh)/KO(FDh)コードおよびJISコードの上位と下位を反転させたもの、後者はShift_JISであった。

このほか、V1/V2には「タートルグラフィックス命令」も用意され、拡張モジュールをロードすると、LOGOを簡略化したような文法でグラフィックスを描画させる命令などが追加された。しかし、利用頻度が低かったことなどから、PC-8801MH/FH以降の機種にはバンドルされなくなった。

N88-BASIC(86)、N88-DISK BASIC(86)、N88-日本語BASIC(86)[編集]

N88-BASIC(86)は、1982年から発売されたPC-9800シリーズROM-BASICで、PC-8800シリーズのN88-BASICと、高いレベルで互換性がある。名称の(86)は、採用したx86プロセッサに由来する。8ビット機時代のN-BASICとN88-BASICはNECとマイクロソフトの共同開発であったが、N88-BASIC(86)はNECのみによる開発である。

  • 当初NECはマイクロソフトに開発を打診したが、8ビット機時代の「方言」の氾濫に手を焼き、標準化を画策していたマイクロソフトは、同社が16ビット機用の決定版として開発したGW-BASICの採用を強く働きかけてきた。しかし、GW-BASICはIBM PC互換アーキテクチャを前提としている上、ラベルすら使えない旧態依然としたBASICであるから、N88-BASICで蓄積された膨大なソフトウェア資産を継承することは困難である。NECはBASICを自社開発することによって独自路線を堅持する道を選択した。開発にあたってNECは、互換性を高めるためにN88-BASICのリバースエンジニアリングを行っている。当然ながら、完成したBASICにはN88-BASICと限りなく似た部分が存在し、マイクロソフトと衝突する可能性もあったわけであるが、最終的にはマイクロソフトから相当額の別の製品を購入することと、著作権の表示にマイクロソフトとNECの両社名を併記することで折り合った[1]

N88-DISK BASIC(86)も発売され、N88-DISK BASICとディスクフォーマットは互換性がある。しかし、BASICの中間コードおよび漢字の内部表現形式が異なるため、プログラム交換の際はアスキー形式で保存する必要があった。その後、日本語入力システムが追加されてN88-日本語BASIC(86)という名称になった。

MS-DOS版、コンパイラ[編集]

MS-DOSへの移行に伴い、N88-日本語BASIC(86)(MS-DOS版)が発売されたが、文字コードの扱いが変更され、PC-98シリーズ独自の文字が扱えるモードと漢字が扱えるモードとが、CONSOLE命令で切替える排他仕様となった(DISK-BASICでは両方同時に扱うことができた)。DISK-BASICとファイルを交換するため、MS-DOS上でフォーマット変換するツールがあったが、文字コードの違いのため、DISK-BASIC版でキャラクタコードと漢字の両方を扱うプログラムをDOS変換すると文字化けが発生した。

MS-DOS版にはBASICコンパイラも用意されたが、インタプリタとコンパイラの環境の相違により、全てのプログラムがコンパイル可能というわけではなかった。コンパイル後の実行ファイル中間言語による中間表現であるため、実行時には中間言語のインタプリタを含んだ200KB近いランタイムライブラリが必要であった。

MS-Windows版[編集]

MS-Windows版N88-BASIC(WN)インタプリタも発売されたが、極端に動作速度が遅く、画面周りの互換性も乏しかったため実用的とはいえず普及しなかった。MS-Windows 2.xx向けのものであり、MS-Windows 3.0以降ではスタンダードモードでもエンハンストモードでも動作しない。リアルモードではかろうじて動作したが、フリーエリアがほとんど無かった。

互換BASIC[編集]

EPSON DISK BASIC
PC-9800互換機であったEPSON製PCで、N88-BASICソフトウェア資産を利用できるよう開発された処理系。
BASIC/98
有限会社 電脳組が販売するWindowsベースのインタプリタ。互換性はかなり高い。
99Basic
Windowsベースのフリーウェア。互換性は高い方ではないが、インタプリタとしては高速。
N88互換BASIC
Windowsベースのフリーウェア。互換性は高い方だが、動作は遅い。
N88互換BASIC for Windows(3.1)」と「N88互換BASIC for Windows95」がある。

脚注[編集]