IDE BIOSの容量上限を拡大するROMアプリケーション

EXIDE5 (バージョン5.12)

(CバスROMボード用のROMイメージ)

Copyright (C) 2025 まりも

予告です、2/23現在,仕様が固まっていないため、バイナリは未だ公開されていません

■ 何をするものか

 NEC PC-9800シリーズのIDEディスクインターフェイスとそのBIOSには、多くの機種で4351MiBの壁が存在しています。この壁はBIOSファームウェアに起因するものなので、外部的なソフトウェア単独では破ることができません。容量過大のディスクドライブを接続するとハングアップしてしまいます。

 しかしがら、アドインROMを使うことで、起動停止する問題を解消させたり、メモリ上に展開しているIDE BIOSを変更すことができます。そこで4351MiB以上でも使えるようにIDE BIOSの一部にパッチを当てようというのが、本アプリケーション EXIDExxx シリーズです。

 さらには、本来98のオンボードIDEで「まったく使用できないSSD」、SD-IDE変換ドライブ、「CFリセット」を起こしてしまうCFなども対応可能にします。一部の機種(第3世代以上)ではCFの場合のデータ転送速度の高速化もはかります。

 EXIDExxxは、以上のような特徴を持つROMアプリケーションです。対象機種ごとにそれぞれプログラムファイルが異なります。
対象機種群プログラム代表的機種(リンク先は実機テスト済みを示す)
IDE BIOS第1世代機EXIDE1ABPC-9801BX,BA、PC-9821A-mate初代機Ap,As,Ae
IDE BIOS第3世代機EXIDE486PC-9801BX3,BA3、Mate PC-9821Ap3,As3,Xn,Xp,Xs,Xe, Canbe Cx,Cb3,初代Xa,Xt
IDE BIOS第3世代機EXIDE_ANPC-9821An専用
IDE BIOS第4世代機EXIDEBX4PC-9801BX4,PC-9821Xe専用
IDE BIOS第4世代機EXIDEPCIPCIバスが内部に存在する9821(初代Xa,Xf,XtおよびSt,RvII,RsIIを除く)

※IDE BIOS第2世代機(PC-9801BA2,BX2,BS2, Multi Ce2,Cs2, Mate Bp/Bs/Be)については EXIDE2Gn をお使いください。

※上記のプログラムのどれにも当てはまらない(対象外である)機種
PC-9801US,UF,UR
PC-9821Ap2,As2,Af,Bf,Cf
PC-9821XfおよびSt
SV-98,FC-98シリーズ
ノート機全般
EPSON PC-9801互換機全て

■ 使い方

 ファイルはROMイメージデータで、次の通りです。xxxの部分は 「1AB」, 「486」, 「BX4」、「PCI」のいずれかが当てはまります。

 ワード幅のデータは、1個だけのROMが載っているボード用です。バイト幅のデータは、2個のROMが載っているROMボード用です。いずれかのデータをROMに焼いて「しかるべきROMボード」に載せて使います。SCSIボードの流用については過去のEXIDE**の説明書を参照して下さい。ただしそのSCSIボードに適合したROM物理アドレス出現域に書き込まないと、98側にROMイメージが現れてきません。物理0番地から書き込んでも現れないSCSIボードは非常に多いです。16KB単位で場所を変えればどこかに現れるはずです。

参考
SSDを漫然と使ってはいけない(文書)
NICを流用したROM焼きツールとその方法 rt8139xx
ROMエミュレータPC34D0
CHSパラメータが変わる場合のOSの入れかた(文書)

■ 動作

 IDE拡張SCSI互換か、CF,SSD向けHDD向けか、の2×2=4通りの「パラメータモード」があります。IDE拡張モードでは4351MiB以下は従来どおり BIOSヘッド数 8,セクタ数17、それ以上8063MiB(保証できませんが最大32255MiB)までは IDEデバイスのヘッド数,セクタ数(通常16,63)となります。いっぽうSCSI互換モードでは 8191MiB以下 BIOSヘッド数 8,セクタ数32、保証できませんがそれ以上最大32255MiBまで BIOSヘッド数 8,セクタ数128 となります。

 この2通りのモードに対し、デバイスのヘッド数、セクタ数をBIOSと一致させるか一致させないかの2通りがあります。デバイスとBIOSを一致させると、「CFリセット」の問題を回避できたり、「98で使えないSSD」が使用可能となるメリットが生まれます。ここではこのことを「CF,SSD向け」と呼ぶことにします。いっぽうこのモードではWIndows95,98のネイティブドライバが動作しないというデメリットがあります(EPSON製 Windows95ドライバを使うという回避策があるほか、MS-DOS互換モードドライブとしては動作する)。こちらをHDDモードと呼ぶことにします。

 すなわちまとめると以下の4つのモードです。それに加えて、IDE BIOSを変更せずに起動阻害要因だけを取り除く DIV0ROMのモード6があります。EXIDEとしての動作はキャンセルされ、DIV0ROM機能のみが働きます。

 メモリスイッチが初期化されているデフォルト状態ではモード1となっています。モードは変更可能です。このプログラムの起動時(メモリチェック完了直後ころ)、GRPHキーを押していると、次の図のように F・1〜F・6のキーでモードを指定するようにメッセージが現れます。ファンクションキーの番号がモードの番号と対応します。

 パラメータモードは「メモリスイッチ」の未使用箇所に記憶されますので、次回起動時に押す必要はありません。モード6でも記憶されます。ただしバックアップ電池切れのときやメモリスイッチを保持しない設定のときは、デフォルトのモード1に戻されます。。

 表示を保持したいときはSHIFTキーを押し続けていてください。その間はプログラムは進行しません。なおCTRLキーを押してあると、その起動のときだけ動作をキャンセルできます。モードとキー操作はこれまでのバージョンやこれまでの他のEXIDE**とは大きく異なるのでご注意ください。

■ 容量の上限【重要】

 最大容量について下記の制約があります。ただしSSDのかなり多くの製品では、98IDEのCHS方式でのアクセス可能な上限が16ヘッド63セクタ時に8063MiBとされており、それが優先されます。下記の上限はそうでない場合(HDDや多くのCF)での上限であり、必ずしもこの通りの容量までアクセス可能とは限りません(とくにSSDでは)。

 これらの上限を超えたドライブを接続してもハングアップはせず、打ち止めとなります。ただし特例として、ソフトウェアDIPスイッチの2-2で ROM BASICを「ターミナルモード」側に設定しておくと、IDE拡張モード時には全容量(最大130558MiB)まで 16ヘッド255セクタで使えるようにします。とは言うものの、以前のEXIDEとの互換性のため必要というのでなければ、この設定は使わないことをお薦めします。

■注意

 既に述べたように、「98で本来使用できないSSD」や「リセットを起こしやすいCF」を使いたいときは、モード1または3に限ります。Windows95,98のドライバが動作しないことと引き換えです。

 「98で本来使用できないSSD」やCFをどうしてもWindows95,98で使いたい場合は、モード2に設定のうえ、8GB(4352MiB以上8063MiB以下)のものを使うしかありません。本プログラムは容量を拡張するものであり、8GBクラスのディスクドライブ(CF,SD-IDE変換, SSD)を常用することをお奨めします。

 基本的には各モードの上限容量を超えないように容量を制限して使って下さい。容量制限ツールの 「ICCFIX」 にはこれらの設定値が用意されています。容量制限を行わない/できない場合は、DIV0ROMが作動して所定の上限容量までで打ち止めとなります。しかしSSDでは8063MiBまでしか使用できないものもあるため、8063MiB以内だけを使って運用したほうがよいでしょう。

 上限を超えたまま使用している場合、WindowsNTやWindows2000のディスク管理では本当の容量までの間に未使用領域が現れます。しかし絶対にそこを確保してはいけません。パーティションテーブルが破壊されます。なので可能であれば容量を制限しておいたほうが無難です。

 非常に古い時代のHDDとの従来互換性は悪くなっています。1995年以前に発売の機種に内蔵されていたHDDは動作しなくなると思っておいてください。本プログラムを適用すると、20,40,80,120MBのディスクディライブも「シリンダ数可変」という扱いになり、500MiB以上のドライブが単に小さい容量になっただけのものと見なされます。通常の使い方ではたぶん大きな問題は起こりませんが、最終シリンダ番号が変わることで、本プログラムを適用していないときに、最後尾に読み出せない部分が発生するかもしれません。また極度にIDE BIOSに依存したツール類が正常に動作しなくなります。

 セクタ長256バイトの設定では動作しません。EXIDE1ABのみ、モード1のみにおいて一応使用可能かもしれませんが、保証の限りではありません。

 本プログラムが動作して起動したあとに、リウ様作の「IDE-BIOS-LBA-patch」(LBA_IDE)が使用できる「はず」です。CFや本来動作しないSSDで容量を制限せずに使いたいならば、このソフトウェア(およびパッチを当てた各Windowsドライバ)は必要です。もしLBA_IDEが動作しないようであれば、モード6のDIV0ROMのみ作動の状態で起動してください。IDE BIOSに変更が行われないので、LBA_IDEが動作するようになります。

 本プログラムの使用に直接関係ありませんが、プライマリとセカンダリにSATA-IDE変換器(または内部で変換しているIDEデバイス)で、2台のデバイス(ATAPIも含む)を接続すると、一部の98では正常に動作しないというハードウェア上の問題が最近わかってきています。第2世代B2-FELLOWやB-MATEはこれに該当します。2台接続したらおかしくなったという場合はこのことを思い起こして下さい。この問題は本プログラムを使わなくても発生し得ます。

 2024年12月に公開したIPLwareアプリケーションの 'FIXIDECF' は、EXIDE を導入しているのであれば、使用する必要がありません。

 ソースプログラム(一部)はこちらにあります。サブフォルダで機種グループごとに分かれています。

■ お約束

 このソフトウェアは、フリーソフトウェアです。コピーすることは自由です。使用するためには下記のことに十分留意して下さい。

 不特定多数がダウンロードできる場所への転載は禁止とします。それに相当する、このプログラムを入れたROMおよびROMボードの頒布、販売も禁止とします。廃棄する際も同様ですが、使えない形で廃棄してください。

プログラムは、ある程度のテストを経て公開していますが、動作が完璧に行なわれるということを、作者は保証するものではありません。

    2025-2-20 まりも (DOSsoft) 連絡先メールアドレスはホームページ上で

■ 更新履歴

日付     版   内容
2025-02-17 5.11 設定モードを全面的に変更
2025-02-20 5.12 ソフトウェアDIPスイッチ2-2により32255MiB以上も使用可とした

[戻る]