98でCFを「無難に」使おう!

CFリセットを回避する画期的アプリケーション

FIXIDECF  Version 1.27

Copyright(C) 2024-25 まりも (DOSsoft)

[ダウンロードする]

■ プログラムの目的および概要

 2024年現在、ハードディスクは過去の物となり、SSD,CF,SDカードなどに置き換わりつつあります。しかしPC-98のオンボードIDEでそれらを使おうとしても、CFでは「CFリセット」を起こして使えないもの」がほとんどです。SSDにおいても「98で使えないIDEデバイス」といえる属性のものが増えており、SD-IDE変換器にもそうしたものがありましす。

 本アプリケーションは、IPLwareまたはMS-DOSプログラムとして実行し、これらの問題のあるメディア類をIDEで「大きな問題なく」使えるようにするものです。さらにおまけとして、これまで543MiB(情報量メガバイト)が容量の上限とされてきた本体機種では、上限が4351MiBに拡張されます。その他の機種では容量上限の拡張は行われませんが、従来互換性の悪化もありません。セクタ長256バイトの設定でも使えます。

 対応機種は、NEC製PC-98のデスクトップ機ほぼ全てとしています。ひとつのアプリケーションながら広範に対応している点が特徴といえます。しかしノート機にはほとんど対応していないかもしれません。PC-9801UF/UR/USも対応していない可能性が高いです。その他、430LXチップセットの機種は全く対応しません。

 EPSON-PC では動作しません。EPSON-PCのIDEインターフェイスには98と同じ問題はないようですから、このプログラムは必要ありません。

■ メリット

■ 標準的な使い方

 基本的にIPLwareですので、IPLware.exeを用意し、コマンドラインから

     IPLware FIXIDECF.BIN

と打ってインストールします。MS-DOSコマンドからはFIXIDECF.EXE が使用できます。

CFの場合: あまりにも容易にCFリセットを起こしてしまう製品を除けば、 ふつうにIPLwareとして組み込めばOKです。他のIPLwareアプリよりも先に組み込んでおいて下さい。他のアプリが実行中にCFリセットが発生するかもしれないからです。

98で使えないSSD,SD変換デバイスの場合: たぶんHDD版のIPLwareでは、組み込み 時点で使えるようになっていないので、無理です。OSFDIPLwareを使って本アプリのみ実行後、HやSのキーを押して、IDE/SCSI側を起動させて下さい。それか、DOSで実行したあとに、ディスクブートからの再起動をしてください。

CFリセットを起こしてしまったCFメディアの場合: DOS上で本プログラムを実行すれば、直後からそのCFにアクセスできるようになります。この場合、IPLwareに入れておく必要はありません。ということから、IDEのディスクドライブで運用している場合でも、本プログラムはFDやSCSIドライブに入れておくべきです。

HDDの場合: とくに留意すべき事はありません。

■応用的使い方

 IDEデバイス固有のHead:Sectorのパラメータは、ほとんどのものが16:63です。しかし希に15:63や16:32といった製品があります。そこで、本アプリケーション起動時(メモリチェック完了直後ころ)、GRPHキーを押していると、ESC または F・1〜F・7のキーでモードを指定するようにメッセージが現れます。

 押したキーで次のようにパラメータモードが一時的に変更できます。パラメータモードはメモリスイッチに記憶されますので次回起動時に押す必要はありません。メモリスイッチを保持しない設定のときはデフォルトの16:63のモードに戻されます。

 ただしプライマリ、セカンダリ、マスタ、スレーブ、全て同じ値に設定されます。デバイスごとに設定することはできないので注意して下さい。もし16:63でない物をどうしても使いたい場合は、それ1台のみとするか、別のROMアプリケーションEXIDE**の利用を検討してください。

 なおFIXIDECF.COM というプログラムもありますが、これはお試し用です。IDE BIOS第4世代後期の機種でも使用可能としていますが、ノート機の対応が不明なので、あくまでも試作版です。IPLwareでもDOSコマンドでも使用できますが、EXEよりも優先的に起動してしまうので注意してください。

■ 注意

● 本アプリケーションは、システム起動後、1回しか実行できません。既にパッチがあたっている状態では、「対応しないBIOSです」というエラー表示が出ます。HSBなどでディスクブートからの再起動をしている場合にもそうなります。

● 拙作ROMアプリケーションEXIDE**シリーズを導入してある場合もこれに該当します。しかしEXIDEの最新版ではCFを使えるようにしており、本アプリケーションは必要ありません。リウ様作品のIDE-BIOS-LBA-patch を先に実行してある状態でも本アプリケーションは実行されません。本アプリケーションの目的は達成済みですから、改めて実行する必要はありません。

● CFリセットを回避できるのは32GBまでのものに限ります。

● 容量上限が4351MiBを超えられる機種では、CFはこの容量以上の(8GBの)ものを使用すべきです。該当の機種ではCFリセットの大きな問題はありません。ということで4351MiBを超えられる機種は本アプリケーションの対象外です。4351MiB以下のCFでもCFリセットを避けたいのであれば、ROMアプリケーションEXIDE** の利用を検討してください。

● 543MiBの壁がある機種で4351MiBまで正常に使えるようになったのはバージョン 1.27からです(このバグをご指摘くださったリウ様に感謝いたします)。

● PCIバス搭載機では次の機種は動作対象外となっています。 PC-9821Cf,Xf,St,RvII,RsII,SV-98/2 など

● 本アプリケーションにより「CFリセット」の最大の問題である「CHSパラメータの変動」を回避できますが、実際にはリセットは起こっており、例えば次の図のように、データ転送速度の低下が起こる場合があります。本アプリケーションではこれを避けることはできません。

■ やっていること(技術的説明、読み飛ばし可)

 IDE BIOSのいろいろな機能のうち、デバイスに対してinitialize device parameters というコマンドを発行する箇所と、LBAで受けたディスク番地をCHSに直してコマンドを発行しにゆくルーチンにだけ、16:63のパラメータを強制的に与えます。それ以外、disk senseの返値などは8:17のままですし、CHS-->LBAに変換するルーチンでも8:17として変換しますので、BIOSを呼ぶアプリケーション側からみれば、なにも変更はなかったように見えます。

■ 発展

 本アプリのあとにリウ様作の IDE-BIOS-LBA-patch(LBA_IDE)を実行すると、容量上限が突破できたり、デバイスごとに論理H:Sを変更できるなど、機能拡張できます。実行の順序には注意が必要です。

■ 宣伝

 それでもROMアプリケーションの EXIDE**(第2世代機種用の例)のほうが優位であることは間違いありません。容量上限の拡張も行われますし、ソフトやOSの導入手順で特に注意することは発生しません。

■ お約束

 このFIXIDECFはフリーソフトウェアとしますので、ダウンロードして実行することは自由ですが、著作権は作者である私にありますので、作者の意向に反する使い方は禁止とします。私的な使用は自由ですが、再配布を認めません。

 したがって、このソフトウェア全体を、不特定多数のダウンロードできる場所へ「転載」することも、禁止とします。しかしリンク先の紹介についてはなんら制限はありません。

 ソースファイルを改良して同様の作品を作り公開する場合は、それを明記していただくことを希望します。ソースファイルを翻案して何かを創作すること自体はなんら妨げられることはありませんので自由にやっていただいて構いません。

 プログラムは、ある程度のテストを経て公開していますが、動作が完璧に行なわれるということを、作者は保証するものではありません。ユーザがプログラムを組み込んだことによる起動不能などのトラブルの補償には一切応じません。

 システムが起動しなくなったことや、それに付随した逸失利益、精神的損害について、作者は一切責任は負わないものとします。これらの点を了承できない方には、使用(ソースファイル含む)を認めません。

            まりも(DOSsoft)

【改版履歴】


日付     版 内容
2024-12-01 1.00 新規
2024-12-01 1.01 (22:44) 第1〜2世代機が対象から外れた状態になっていたのを修正
2024-12-03 1.03 初代Xa,Xtが動作対象から外れていたのを修正
2024-12- 5 1.10 第1〜2世代機の容量上限は4351MiBに拡大
2024-12- 7 1.20 適用済み判定の追加,A-mate SOUND BIOS検出方法の変更
2024-12-21 1.21 第4世代(4.3GBの壁がある機種)には一部ノート機以外対応した
2024-12-25 1.22 ファイルサイズの都合(4096バイト以内)でPC-9821Stを対応から外した
2025-01-25 1.27 第1〜2世代機で544MiB以上のときに正常に動作しないバグの修正

[戻る]