NEC PC-9800シリーズのIDEディスクインターフェイスとそのBIOSには、多くの機種で4351MiBの壁が存在しています。この壁はBIOSファームウェアに起因するものなので、外部的なソフトウェア単独では破ることができません。容量過大のディスクドライブを接続するとハングアップしてしまいます。
しかしがら、アドインROMを使うことで、起動停止する問題を解消させたり、メモリ上に展開しているIDE BIOSを変更することができます。そこで4351MiB以上でも使えるようにIDE BIOSの一部にパッチを当てようというのが、本アプリケーション EXIDE3AN です。
さらには、本来98のオンボードIDEで「まったく使用できないSSD」、SD-IDE変換ドライブ、「CFリセット」を起こしてしまうCFなども対応可能にします。一部の機種(第3世代以上)ではCFの場合のデータ転送速度の高速化もはかります。
EXIDE3ANは、以上のような特徴を持つROMアプリケーションです。対応機種はPC-9821Ap3,As3,Anでハイレゾモードも対応です。そのほかXn,Xp,Xs,Xe,Cx,Cb および PC-9801BA3,BX3にも対応ですが機種名は表示されません。未確認ですが初代Xaも対応する可能性があります。
付加機能として、CPU WriteBack有効化機能があります(EXIDE3AN限定)。PC-9821Ap3にてCPUとしてAMD 5x86を直に載せることができます(ただし3倍速動作)が、そのままではマザーボード側がWrite Back有効となっていないため、DMAが駆動されたときにデータが破壊されてしまいます。本プログラムはマザーボードに作用して、CPUが安全にWrite back動作できるようにします。なおAs3では5x86を載せるためには電圧変換下駄も必要です。※【注意】I-O DATAのPK-586A/98などメーカ製CPUアクセラレータには適用できませんのでEXIDE486のほうをお使いください。
■ 使い方
ファイルはROMイメージデータで、次の通りです。
- EXIDE3AN.ROM ワード幅ROMイメージデータ
- EXIDE3AN.EVN バイト幅ROMイメージデータ 偶数アドレス側
- EXIDE3AN.ODD バイト幅ROMイメージデータ 奇数アドレス側
ワード幅のデータは、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とで一致しているのがノーマルな状態で、このモードではWIndows95,98のネイティブドライバも動作します。こちらをHDDモードと呼ぶことにします。
いっぽう不一致にしてデバイス側をネイティブなヘッド数:セクタ数にすると、「CFリセット」の問題を回避できたり、「98で使えないSSD」が使用可能となるメリットが生まれます。ここではこのことを「CF,SSD向け」と呼ぶことにします。このモードではWin9xのドライバが動作しないというデメリットがあります(EPSON製 Windows95ドライバを使うという回避策があるほか、MS-DOS互換モードドライブとしては動作する)。
H:SがデバイスとBIOSとで↓ | IDE互換 | SCSI互換 |
不一致(抗CFリセット,使用可能SSDが拡がる) | モード1 | モード3 |
一致(Windows9xネイティブドライバ動作) | モード2 | モード4 |
すなわちまとめると上の表の4つのモードです。それに加えて、IDE BIOSを変更せずに起動阻害要因だけを取り除く DIV0ROMのモード6があります。EXIDEとしての動作はキャンセルされ、DIV0ROM機能のみが働きます。
- モード1 IDE拡張 SSD,CF向け(4351MiB以下でBIOSとデバイスのヘッド数セクタ数が異なる)
- モード2 IDE拡張 HDD向け(BIOSとデバイスのヘッド数セクタ数が同じ)
- モード3 SCSI互換 SSD,CF向け(BIOSとデバイスのヘッド数セクタ数が異なる)
- モード4 SCSI互換 HDD向け(BIOSとデバイスのヘッド数セクタ数が同じ)
- モード5.SCSI互換 HDD向け(BIOSとデバイスのヘッド数セクタ数が同じ)32GB以上メルコ拡張
- モード6.実行をキャンセルし DIV0ROMのみが作動する状態にする
メモリスイッチが初期化されているデフォルト状態ではモード1となっています。モードは変更可能です。このプログラムの起動時(メモリチェック完了直後ころ)、GRPHキーを押していると、次の図のように ファンクションキー f・1〜f・6のキーでモードを指定するようにメッセージが現れます。ファンクションキーの番号がモードの番号と対応します。
パラメータモードは「メモリスイッチ」の未使用箇所に記憶されますので、次回起動時に押す必要はありません。モード6でも記憶されます。ただしバックアップ電池切れのときやメモリスイッチを保持しない設定のときは、デフォルトのモード1に戻されます。。
表示を保持したいときはSHIFTキーを押し続けていてください。その間はプログラムは進行しません。なおCTRLキーを押してあると、その起動のときだけ動作をキャンセルできます。モードとキー操作はこれまでのバージョンやこれまでの他のEXIDE**とは大きく異なるのでご注意ください。
■ 容量の上限【重要】
最大容量について下記の制約があります。ただしSSDのかなり多くの製品では、98IDEのCHS方式でのアクセス可能な上限が16ヘッド63セクタ時に8063MiBとされており、それが優先されます。下記の上限はそうでない場合(HDDや多くのCF)での上限であり、必ずしもこの通りの容量までアクセス可能とは限りません(とくにSSDでは)。
モードにより異なる上限
- IDE拡張モード時 16ヘッド63セクタのとき 32255MiB
- IDE拡張モード時 15ヘッド63セクタのとき 30239MiB
- IDE拡張モード時 一般に デバイスのヘッド数×セクタ数×16383÷2048 [MiB]
- SCSI互換モード時 8ヘッド32セクタのとき 8191MiB
- SCSI互換モード時 8ヘッド128セクタのとき 32767MiB(CF,SSDでは32255MiBにすべき)
これらの上限を超えたドライブを接続してもハングアップはせず、打ち止めとなります。ただし特例として、ソフトウェアDIPスイッチの2-2で ROM BASICを「ターミナルモード」側に設定しておくと、IDE拡張モード時には全容量(最大130558MiB)まで 16ヘッド255セクタで使えるようにします。EXIDE3AN ではそれに加えて必ずモード2に設定してください。以前のEXIDEとの互換性のためにこの機能を温存してありますが、HDD(と完全に仕様が同じSSD)以外ではこの設定での運用はお薦めしません。
■注意
既に述べたように、「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は動作しなくなると思っておいてください。120MB以下の容量のディスクドライブも動作しません。本プログラムを適用すると、20,40,80,120MBのディスクディライブも「シリンダ数可変」という扱いになり、500MiB以上のドライブが単に小さい容量になっただけのものと見なされます。
セクタ長256バイトの設定では動作しません。
本プログラムが動作して起動したあとに、リウ様作の「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 を導入しているのであれば、使用する必要がありません。
ソースプログラム(一部)はここにあります。EXIDE486とはサイズの都合で削ったところ以外ほぼ同じです。
■ お約束
このソフトウェアは、フリーソフトウェアです。使用するためには下記のことに十分留意して下さい。
不特定多数がダウンロードできる場所への転載は禁止とします。それに相当する、このプログラムを入れたROMおよびROMボードの頒布、販売も禁止とします。廃棄する際も同様ですが、使えない形で廃棄してください。
プログラムは、ある程度のテストを経て公開していますが、動作が完璧に行なわれるということを、作者は保証するものではありません。
2025-10-6 まりも (DOSsoft) 連絡先メールアドレスはホームページ上で
日付 | 版 | 内容 |
---|
2025-02-17 | 5.11 | 設定モードを全面的に変更 |
---|
2025-02-20 | 5.12 | ソフトウェアDIPスイッチ2-2により32255MiB以上も使用可とした |
---|
2025-03-20 | 5.20 | エラー時の表示行の乱れを修正、DIV0ROM適用時最大シリンダ数を65535に変更 |
---|
2025-08-01 | 5.30 | 「DIPスイッチ2-5未設定によるメモリスイッチ初期化」を警告する機能の追加、An用EXIDE_Anと統合 |
---|
| | ここまでEXIDE486として ここからEXIDE3AN |
---|
2025-10-01 | 5.30A | ハイレゾモード時EXIDE486がGRPH押しでメニューが現れなかったのを修正し、別途のプログラムEXIDE3ANを作成 WBキャッシュ有効化機能追加 |
---|
2025-10-06 | 5.30E | 前バージョン5.30Aがハイレゾモードのとき正しく動作していなかったバグを修正 |
---|