発端はPC-9821Xa12のセットアップメニューで「内蔵固定ディスク」の設定が「使用する」になっていたこと。
この子は入手してすぐにALL-SCSI化していたので、内蔵IDEインターフェースは使っていません。
ですのでとっくに「切り離す」設定に変えていたと思っていました。
改めて設定を見直してみると「ROM BASIC」も「使用する」になっています。
そうなるとUMBも使える範囲が限られてきます。
そこでこの機会に見直すことにしたんですが、これが今週末丸々をつぶすことになるトラブルの始まりでした。
◇◇◇
経緯は後述するとして、結論(今回の教訓)を一言。
PC-9821Xa12ではセグメントD800-DBFFをアドレススワップ、あるいはUMBに設定してはいけない。
(兄弟機のPC-9821Xa13もおそらく同じ)
まあ今どきUMBをどうこうしようとする人はほとんどいないでしょうけど…。
これをやってしまったおかげで遭遇したトラブルは下記のとおりです。
・9821系固有の480lineグラフィック画面を使うソフトを起動すると強制リブートする
・それ以降メモリスイッチの「BOOT装置」が「標準」に設定されていてもFDから起動しようとする
・どうにかしてHDDから起動するとMS-DOSのCopyrightが表示されたところでフリーズする
当初は原因がわからず、とうとう壊れてしまったと思って、PC-9821Xa13をオクで落札してしまいました。
その後原因が判明し、Xa13は到着する前に不必要に…orz。
まあ、授業料だったと思って、何か有効な使い道を考えることにします。
以下は原因調査の過程やその際にわかったことの備忘録です。
◇◇◇
今までデフラグにはノートンユーティリティをずっと使っていました。
MS-DOS6.2にDEFRAGコマンドが標準搭載されていることを実はつい最近まで知らなかったんですよね…(苦笑
ノートンユーティリティはファイル配置の情報を収集して動くので、ファイルが多いドライブだとメモリ不足でデフラグできなくなります。
最近フリーソフトの整理をしたことがきっかけでファイル数が増え、ノートンユーティリティがメモリ不足エラーを出すようになってしまいました。
メモリの空き状態を見てみると、コンベンショナルメモリの空きは600KBありません。
そこでROM領域が空いたこの機会にコンベンショナルメモリを空けられるようにUMBの拡張を図ろうとしたのが今回のトラブルのきっかけです。
で、調査の過程で分かった/知ったことを箇条書き。
・セットアップメニューで「内蔵固定ディスク」を「切り離す」にしても、セグメントD800以降にある内蔵IDEインターフェース用のBIOS-ROMはアドレス空間に残っているらしい(根拠は次項)。
・またセグメントD800-DBFFには9821系固有の256色/400,480lineのモードに関連するBIOSルーチンが含まれているらしい。
∵仮想86モードドライバでセグメントD800-DBFFをアドレススワップした状態、UMBにした状態いずれの場合も480lineに変更するBIOSコールをすると強制リブートした
・MS-DOS6.2標準搭載の次のコマンドはNEC版では無効化されている
DEFRAG、SCANDISK
どちらも実行すると「Windows95に含まれている同名のコマンドを使え」という旨のメッセージが表示される。
パッケージ版のMS-DOS6.2ではどちらも拡張子が「.EXE」から「.EX~」に変更されていて、上記メッセージを表示するBATファイルが実行されるようになっている。
パッケージからインストールしているのでWindows95など入っていないのに…。
PC-9821Xa12プレインストールのMS-DOS6.2ではこれらのEXEファイル自体がインストールされていない
MS-DOS6.2と一緒にWindows3.1またはWindows95(※)がインストールされているからだと思われる。
※:ちなみに初回起動時にWin3.1とWin95どちらを使うか選択します。
・PC-9821Xa12はGRPH+1/GRPH+2キーによるディスプレイの水平同期周波数切り替えが有効
PC-9821A系(いわゆるA-MATEシリーズ)では有名な機能だけど、そういえばPC-9821Xaでは試してみようと思ったことすらなかったな~。
・NEC版MS-DOS6.2のアップデートモジュールはNECのサポートページで今でもダウンロードできる。
このページで機種名を入れて検索すると、「MS-DOS 6.2 アップデートサービス」というアイテムがほかのドライバのアップデートモジュールと一緒にリストに出てくる
・NEC版MS-DOS5.0A-Hのアップデートモジュールは上記サポートページにはない。
当時は1GBオーバーのHDDを認識できるようになる修正モジュールが希望者に配布されてたそうなんだけど、残念。