How many files(0-15)?とは [PC98]

Image: PC-88 How many files

NEC PC-9800シリーズにおける「How many files?」というメッセージについて。

「How many files(0-15)?」とは、PC-88およびPC-98に標準で搭載されているプログラム実行・開発環境の「N88-BASIC」「N88-BASIC(86)」が起動して最初に表示されるメッセージです。メッセージそのものの意味についてはプログラミングの話になるので後ほど補足説明するとして、ここではこのメッセージが表示される理由(=N88-BASIC(86)が起動するわけ)に焦点を当てて説明します。

○起動の仕組み

例えば、PC-98の電源を入れてからHDD上のMS-DOSが起動するまでには、次のプログラムが実行されます。

電源を入れる → 本体内蔵ROMのITF → 本体内蔵ROM(または外部ROM)のブートストラップローダー → HDDの先頭にあるIPL(固定ディスク起動メニュープログラム) → MS-DOSがインストールされている領域の先頭にあるIPL → MS-DOSのシステム(IO.SYS,MSDOS.SYS)。

PC-98の電源を入れると、まず最初に本体内蔵のROMからITF(Initial Test Firmware)が実行されます。ITFでは本体内部にあるメインボードとメモリの動作確認が行われます。メモリチェックが終わると「xxxKB OK」というメッセージが表示され、その間に各ディスク装置のインターフェースについて初期化処理が行われます。BIOS ROMを搭載したSCSIインターフェースが実装されている場合は、このタイミングでIDチェックも行われます。
Image: MELCO IFC-NN SCSI BIOS ID Check

その後、同じくROMにあるブートストラップローダーが各ディスク装置の先頭にあるIPL(Initial Program Loader)を読み込もうとします。IPLは標準設定では次の順番で探索され、見つかった時点でそれに制御を移します。

640KB FD → 1MB FD → SASI HD → SCSI HD → OD(MO)。

起動可能なディスク装置が見つからない場合、PC-9801シリーズの場合は本体内蔵ROMからN88-BASIC(86)が起動します。PC-9821シリーズの場合は標準では「システムディスクをセットして下さい。」というメッセージが表示されます。これはPC/AT互換機でいうところの「Disk boot failure, insert system disk and press enter」メッセージと同じです。設定を変更すればPC-9801シリーズと同じようにN88-BASIC(86)を起動させることもできます。

つまり、「How many files(0-15)?」や「システムディスクをセットして下さい。」というメッセージは起動可能なディスクが見つからなかったことを意味します。その大元の原因としては、OSがインストールされていない、ディスクまたはインターフェースが故障もしくは認識されてない、ことが挙げられます。

なお、先ほどブートストラップローダーがIPLを読み込むと書きましたが、実際にはブートストラップローダーはディスク先頭のデータを読み込んでそれを実行するだけであり、そのデータが正しいIPLであるかどうかはチェックしていません。PC98で初期化されていないディスクやIPLが壊れているディスクがセットされていると、たいていの場合はブラックアウトしたまま何も表示されずにフリーズします。

○メモリスイッチによる起動順序の設定について

標準設定ではディスク装置の探索順序(立ち上げ装置)は先のようになりますが、メモリスイッチの設定を変更することで探索対象を1つに指定することができます。例えば1MB FDに設定した場合、FDDのディスクの有無をチェックしてディスクがあればそのIPLを読み込んで制御を移し、ディスクがなければ代わりにN88-BASIC(86)を起動します。
立ち上げ装置

メモリスイッチの設定はN88-日本語BASIC(86)やMS-DOS上で行います。(詳しくはマニュアルを参照。)メモリスイッチの設定は本体内蔵のバックアップ電池によって保存されていますが、電池の残量がなくなると設定データが不定になります。つまり、電源を入れるたびにメモリスイッチの設定がランダムで狂います。これにより、FDやHDからOSが起動しないという症状が起こることがあります。暫定的な対応策としては、ディップスイッチのSW2-5をOFFにすることで毎リセット時にメモリスイッチが標準設定に初期化され、立ち上げ装置の設定も標準設定になります。根本的に問題を解決するには、本体の電源を長時間(24時間以上)入れておいてバックアップ電池を充電してみて、それでも同じ症状が出る場合はバックアップ電池を交換する必要があります。

○「How many files(0-15)?」と「User identifier?」について

ここからはN88-BASIC(86)についての解説なので、余談になります。

「How many files(0-15)?」では、メモリに確保するファイルバッファと同時オープン数を指定します。N88-BASIC(86)ではファイル番号(OPEN xxx AS #yy)を使うことで最大15個までのファイルを同時に開いて操作することができます。ファイルの読み書きを行うにはメモリ上にファイルバッファを確保する必要があり、その数をここで指定します。ファイルバッファの数は後から変更することはできません。

DISK-BASICでかつHDDが接続されている場合は、この次に「User identifier?」というメッセージが表示されます。ここでは英数字3文字以内でユーザー識別名を設定します。N88-BASIC(86)で作成したファイルにはユーザー識別名が付けられます。自分が付けたユーザー識別名のファイルだけがアクセス可能で、他のユーザー識別名で作られたファイルにはアクセスできません。ただし、ユーザー識別名が「999」で作られたファイルは全てのユーザー識別名でアクセスできます。

「How many files(0-15)?」の問いに対して何も入力せずにリターンキーを押した場合は、現在接続されているディスク装置と同数のファイルバッファが確保されます。

「User identifier?」の問いに対して何も入力せずにリターンキーを押した場合は、「   」(半角スペース3つ)が指定されたものとみなされます。なお、メモリスイッチの設定を変更することでユーザー識別名を使わないように設定することができます。その場合は既定のユーザー識別名として「999」が使われます。他の識別名を既定に設定することもできます。

○参考文献

[EOF]


QLOOK ANALYTICS