N-BASIC
出典: フリー百科事典『ウィキペディア(Wikipedia)』
N-BASIC(エヌベーシック)は、NEC(日本電気)のパソコンPC-8000シリーズ・PC-8800シリーズに搭載された、スタンドアロンBASICインタプリタの一種。 Microsoft BASICを基にしている。
フロッピーディスクを扱えるように拡張されたものは、NECのマニュアル等ではDISK-BASICと呼んでいるが、ROM-BASICに対する普通名詞としてのDISK-BASICとまぎらわしいため、一般にはN-DISK-BASICなどと呼ばれる。
[編集] 概要
1979年に発売されたPC-8001に24KBのROMで搭載された。 倍精度実数演算やカラーグラフィックなど、当時のスタンドアロンBASICとしては最先端の機能を備え、完成度が高く、後の同種の環境の模範となった。 ただし、後のN88-BASICなどと比較すると、ラベルが使えない、変数名が先頭2文字しか識別されない、構造化制御文がないなど見劣りする点もある。
N-BASICのROMを逆アセンブルして注釈をつけた『PC-8001 BASIC SOURCE PROGRAM LISTINGS』という書籍が秀和システムトレーディング(現・秀和システム)から出版され、マイクロソフトとの間で訴訟問題に発展するという事件もあった。
N-BASICで開発されたソフトウェア資産が膨大であったため、N-BASICはその後のPC-8000シリーズ・PC-8800シリーズにも搭載された。 また、PC-9800シリーズにもオプションROMの形で提供されていた。
PC-8001mkII/SRに搭載されたN80-BASICは、N-BASICの24KBのROMをそのまま利用し、それに8KBの拡張ROMを増設する形で実装されている。
[編集] バージョン
- Ver. 1.0
- PC-8001に搭載された初期のバージョン。80桁モードでプログラムを編集すると80桁目が欠けるなどのバグがあった。
- Ver. 1.1
- PC-8001に搭載された後期のバージョン。バグが修正されている。
- Ver. 1.2
- PC-8801に搭載されたバージョン。PC-8801はPC-8001と比べてキーボードなど一部ハードウェアが異なるため、それに対応するための変更が加えられている。
- Ver. 1.3.
- PC-8001mkIIに搭載されたバージョン。TABキーに対応。
- Ver. 1.4
- PC-8801mkIIに搭載されたバージョン。
その後も後継機種に搭載され続け、微妙にバージョンが上がっているが、機能には変更はない。
[編集] 命令・関数
ここではN-BASICの特徴的な命令・関数を示す。
- CONSOLE文
- スクロール範囲、ファンクションキーの表示、カラーモードを設定する。
- COLOR文
- 文字色あるいは属性、グラフィックモードを設定する。
- LINE文
-
- キャラクタを用いて線や長方形を描画する。
- 簡易グラフィック機能を用いて線や長方形を描画する。
- カラーモードにおいて行ごとの表示属性(ブリンク、リバースなど)を設定する。
- PSET/PRESET文
- 簡易グラフィック機能により点を打ったり消したりする。
- CSAVE/CLOAD/CLOAD?命令
- テープに対してプログラムをセーブ・ロード・ベリファイする。
- CLEAR文
- 変数を消去し、文字列領域と機械語領域を確保する。
- USR関数
- 機械語で書かれたプログラムを呼び出す。
- MON命令
- 機械語モニタに入る。
- MOUNT/REMOVE命令(DISK-BASICのみ)
- フロッピーディスクを挿入したときにMOUNTによりFATを読み込み、抜く前にREMOVEによりFATを書き出す。FATの読み書きをメモリ上でのみ行うようにしてアクセスの高速化を図ったものだが、REMOVEを忘れてフロッピーの内容を破壊するという事故がおきやすいため評判が悪かった。N80/N88-DISK BASICでは不要となっている。 ベースとなったCP/M用Microsoft BASICにも同じ命令があった。
以下のような命令はない。
- CIRCLE
- PAINT
- CLS
- BSAVE/BLOAD
- CALL
- ON KEY GOSUB, ON STOP GOSUB
- RANDOMIZE
また、N-BASICには以下のような未使用予約語が存在し、将来的な機能拡張が想定されていた。 実際には、N80-BASICや特殊な拡張ROMで使用された。
- CMD
- STATUS
- IEEE
- IRESET
- ISET
- LISTEN
- MAT
- POLL
- RBYTE
- SRQ
- TALK
- WBYTE
カテゴリ: コンピュータ関連のスタブ項目 | 日本電気 | BASIC | オペレーティングシステム