EXIDE 拡張IDE BIOSにおけるCHSパラメータの設定フロッピーを作成するプログラム

[ EXIDESW3 ] 使用説明書

Version 3.00 Copyright (C) 2017-24 まりも(DOSsoft)

 

【このアプリケーションの目的および概要】

 別のツールEXIDECB(バージョン2.00以上)あるいはEXIDE55x(バージョン2.00以上)"EXIDEBX4 などを使うと、PCIバス搭載機のIDE BIOSにパッチをあてて4.3GB以上の容量を突破できますが、そのツールではIDE BIOSのCHSパラメータ(*)を変更することもできます。その際補助的に必要となる のが本アプリケーションです。(* CHSパラメータ:シリンダ、ヘッド、セクタ数のパラメータ)

 パラメータの設定は本体のソフトウェアDIPスイッチ領域に記憶されます。ただしHSパラメータの設定とフォーマット時のパラメータとが一致していないと、HDDからの起動やパーティションの認識ができなくなってしまいます。このような場合、パラメータ設定のためのアプリケーションがOS上の実行プログラムでは全く手出しができないということになってしまいます。

 そこで、どんな場合でもすぐにフロッピーが起動できる「FDローダ機能」(**)でパラメータ設定を行えるようにしたのが、本アプリケーションです。一度HSパラメータ設定フロッピーを作っておけば、[ESC][HELP][8]押し起動で瞬時に設定を開始できます。

(**) https://www7b.biglobe.ne.jp/~marimo9821/fdldrapp/fdloader.html

【フロッピーディスクの作り方】

 まずPC-98の1.25MBでフォーマット(1024バイト8セクタ形式フォーマット)されたフロッピーディスク用意し、もっともドライブ番号が若いドライブに挿入しておきます。別途 FDloader作成ツール FDLDMKFD.EXE (***)も カレントディレクトリに用意しておきます。
(***) https://www7b.biglobe.ne.jp/~marimo9821/fdldrapp/fdldmkfd.html

 コマンドラインから

FDLDMKFD EXIDESW3.COM

とタイプして実行します(【注意】バージョン2の EXIDESW2とは手順が異なります)。すると書き込みが始まり、起動用FDが作られます。

 なお、このフロッピーはシステムからダイレクトに読まれる物であるため、通常のファイルシステムに則った形式では書かれていませんが、それでは何だかりませんので、dirコマンドで見ると EXIDESW3.APP というダミーの0バイトのファイルが見えるようになっています。これは削除しても問題ありません。

【フロッピーの起動】

 フロッピーに入ったアプリケーションの起動方法には次の3通りがあります。
アプリケーションの起動方法には次の3通りがあります。
1.作成フロッピーを[ESC][HELP][8]押し起動で起動
2.通常のブートプロセスでフロッピーから起動
3.フロッピーを作らずに、DOS上で EXIDESW3.COM を直に実行

HDDのパラメータが既に不適切な値となっている場合、ハングアップしてしまい、2.や3.の起動ができなくなることがあります。1.のほうが確実で早く起動できます。

【パラメータモードの選択】

 起動すると次のような画面が出ます。

一度も本プログラムを適用したことがない場合は DEFAULT と表示されているはずです。↓↑キーで[1]〜[7]のいずれかを選択し、リターンキーを押してください。[1]を指しているときに↑を押すと DEFAULTに戻れます。DEFAULT は[1]〜[6]のいずれもが選択されていない状態で、EXIDE のROM作成時の デフォルトのモードとなります。

 [1] のEXIDE(M9)モードは8063MB未満では本来の98と互換性があり、32255MBまではそれを拡張したものです。それ以上128未満までは玄人志向から発売されたMistress9と同じにしてあります。旧作ソフトEXIDE32Gでもこれがデフォルトとなっています。詳しくはEXIDECBやEXIDE55xなども参照してください。


   モード名   容量ゾーンと【ヘッド数:セクタ数】
[1] EXIDE(M9)モード 【8:17】< 4351MB <【16:63】< 32255MB <【16:255】< 127.5GB
[2] SCSI 混在モード 【8:17】< 4351MB <【8:32】< 8GB <【8:128】< 32GB <【16:255】< 127.5GB
[3] SCSI 標準モード 【8:32】< 8GB <【8:128】< 32GB |頭打ち|
[4] SCSI メルコ 拡張 【8:32】< 8GB <【8:128】< 32GB <【15:128】< 61GB <【15:255】|
[5] SCSI SSD 拡張 【8:32】< 8GB <【8:128】< 32GB <【16:128】< 64GB |頭打ち| 
[6] SCSI 混在/SSD 【8:17】< 4351MB <【8:32】< 8GB <【8:128】< 32GB 【16:128】< 64GB <【16:255】|
[7] シリンダ数拡張   4.3GBリミットのない機種と完全互換だが使用可能容量はそのまま


 ちなみに私は[2]で使用しています。基本的にSCSI互換としていると便利だからですが、たまに32GB以上のHDDを接続した場合にはその全容量が使え、いっぽうで515MB以下の大昔のHDDもそのまま認識できるという利点もあるためです。

 [4]の「SCSIメルコ拡張」というのは、同社のIFC-USPなどで採用された、32GB以上61.4GBまで使えるようにしたモードと互換があり、さらには122GBまで独自拡張しています。。しかしWindows NT/2000ではこのパラメータでは認識されなくなります(SCSI変換でSCSIアダプタに接続したときのみ、IDE接続では問題ありません)ので、さほど使い勝手がよいとも言えません。それであればヘッド数を16にしたほうが切りがよい、ということで[5]の「SCSI SSD拡張」というモードを設けてみましたが、32GB以上64GB未満でこのモードと互換性のあるSCSIボードもSATAボードも知られていませんので、完全独自仕様となります。

 さらに、それを超えたらEXIDEモードと同じでいいのではということで、[6]の混在モードを設けてあります。4.3GB未満はIDE互換です。

<1.10で追加>

 [7]の「シリンダ数拡張」というモードは、4.3GBの上限がない機種に繋いだときと同じセクタ数・ヘッド数のパラメータでシリンダ数のみ拡張したもので、互換性は完全に保たれます。みかけの容量の限界は15ヘッドのとき30239MB、16ヘッドのとき32255MBとなります。4.3GBの上限がない機種ではそれぞれ7559,8063MBと少なく扱われますが、EXIDE拡張BIOSではそれを是正します。しかし実質的な容量は変わりません。

<3.00で機能追加>

 ENTERキーを押してHSパラメータモードを確定すると、「4.3GB未満のCFの扱い」をどうするかの選択メニューが現れます。ここでは←→キーで次の2つのいずれかを選択します。
「従来通りHDDと同じCHSパラメータ」と「CFネイティブなCHSパラメータ(16:63)」

とあります。CFリセットを起こさない産業用やSANDISK製のを用いておりEXIDECB2.60以降、EXIDEBX4 1.6以降を使用している場合は、前者で問題ありません。

 いっぽうそうでない一般のCFでは、後者にすればCFリセットによるパラメータ変動から免れることができます(しかし速度低下や動作不安定の問題は回避できません)。ご自身が使うCFに合わせて選択してください。なお4.3GB未満のCFの扱いは、システムセットアップメニューのDIPスイッチ2ー2のBASIC/ターミナルモードの選択を流用しており、そちらでも設定できますし、設定は双方に反映されます。

 【注意】CFに領域を作ったあとに変更するとOSから認識できなくなってしまいます。CFのフォーマット前に決定しておいてください。せっかくEXIDEを導入するならば、4.3GB以上32GB 未満の容量のCFか、SATAからの変換ドライブを使うことをお奨めします。

 ENTERキーで確定すると派手な音がして設定完了です。その後はENTERを押せば再起動となりますし、電源を切ってもかまいません。FDloaderでなく通常起動で適用した場合でもリセットからの再起動が必要です。ディスクブートからの再起動では IDE BIOSの HSパラメータが変更されていません。

【注意・補足事項】

 このアプリケーションは、EXIDECB(バージョン2.00以上)EXIDE55X(バージョン2.00以上)EXIDEBX4でIDE BIOSにパッチが当たっている9821デスクトップ機専用です。それ以外の機種・状態・バージョンに対しては、何の作用もなく無意味です。ノート機では使用できません。

 モードは本体側が記憶していることから、異なるモード下でフォーマットしてしまった複数のHDDを接続すると起動時にどちらかが不適合となり、起動や認識ができなくなりますので注意して下さい。

 パラメータモードの設定記憶は何かの拍子で飛ぶことがあります。バックアップバッテリの消耗、スーパーリセットや[GRPH][SHIFT]押し起動で初期化すると、拡張IDE BIOSのデフォルトのモード(ROM書き込み時に決定)になります。他のモードで使用していた場合、設定が初期値に戻る場合があるということは心得ておいてください。余計なことはしたくないという人は、デフォルトのモードでずっと使い続けるのがよいでしょう。

 本アプリケーションで作ったフロッピーは、それ全体としてアプリケーションソフトとなります。内容識別のため、ファイルらしきものがあるように見える状態にしてありますが、アクセスできません。またファイルシステム上はスキップセクタが多数ある状態に見えます。そこに本アプリケーション本体がありますので、削除もできません。ただしファイルシステムとして正しい状態にはなっていますので、フロッピーの空き領域にファイルを書き込んで使うことは問題ありません。もしフロッピーをまっさらにしたい場合はフォーマットをしてください。

 フロッピーディスクにセクタエラーがある場合、通常起動時にIPLだけ読めてアプリケーション本体が読みとりエラーとなる可能性があります。その場合エラーメッセージは出ませんが、通常より低いBEEP音が鳴り続けます。もしそのような音がしたらフロッピーディスク不良ということです。古いフロッピーディスクを使い回していると得てして起こりますので、留意しておいて下さい。[ESC][HELP][8]押し起動時に読みとりエラーが出た場合は、BIOSがDATA ERRORというメッセージを出します。

【技術的説明】

 パラメータモードを記憶するソフトウェアディップスイッチは、I/O アドレス 891Eで設定されるもので、bit2〜0 に割り当てています。7(111b)のときは初期化されたとみなし、EXIDE BIOSの動作ではそのROMに書かれたデフォルト値に合わせます。本アプリケーションではDEFAULTと表示され、特定のモードが選択されていない状態で開始します。

 CFのモード設定記憶は、I/O 851Eh bit 1に設定されているものを使用しています。いずれも当該アドレスに直接書き込むことはできず、対応する裏KCG領域を操作して書き込んでいます。なおこの対応は独自に解析したもので、これまでに知られた情報はないようです。

 Undocumented 9821/9801によると、ソフトウェアディップスイッチは、I/O アドレス 891Eは一時期のノート機種でしか使用されていないようです。MATE-R,MATE-X/W のITFやシステムセットアップメニューを調べた限りでも、このI/Oアドレスへの書き込みはないようでしたので、流用しています。

 なお旧バージョンEXIDE 1.xxでは 8C1Eを使用していましたが、設定情報がなにかのきっかけで破壊される機種があることから、891Eに変更しました。

 バージョン3よりソースコードも公開します。ソフトウェアDIPスイッチ制御などは参考にしていただけると思います。ただし文字列の画面表示ルーチンのみ付属していません。

【お約束】

 著作権は保持しますが、フリーソフトウェアですので、自由に使用してかまいません。ただし不特定多数がダウンロードできる場所に置く(公衆送信可能な状態にする)ことや、二次的な譲渡や販売を行うことは禁止とします。

 このソフトを使用したことによる損害(起動不能、何かの設定への干渉など)に関し、作者は一切責任を負わないものとします。自己責任でお使いください。

【改版履歴】

日付   版  内容
2017-11-05 1.00 公開
2017-11-25 1.10 EXIDECBの仕様変更に合わせて、シリンダ数拡張モードを追加
2017-12- 5    EXIDE55xの掲載に合わせて説明文書のみ更新
2018-01-21 1.11 デフォルトモード(初期化状態)のときはそれを表示するようにした
2021- 8-15 2.00 記憶場所を変更し、EXIDESW2に改名した
2024- 9- 8 3.00 4.3GB以下のCFモード、デフォルトに戻す機能の追加、EXIDESW3に改名


[戻る]