LOWDMA - 非DMAのUMBでフロッピーディスクのセクタを扱うためのドライバ ヒント:以下のような場合のとき、このドライバを使用しなければなりません: * UMBPCI のようなリアルモードのUMBドライバを使用時 * UMBのRAMがDMA転送に必要な能力がないとき * DOSLFN(または他のディスク・キャッシュ・プログラム)をUMBにロードし  たいとき * フロッピーディスク(LS120ドライブではないもの)にアクセスしたいとき 特に、起動用フロッピーディスクで UMBPCI を使うときにドライバーが必要です。 UMBの中のDMAに関してのもっと詳しい情報は、UMBPCI の説明書を読んでく ださい。LOWDMA は今後、UMBPCI.ZIP のアーカイブにバンドルされるでしょう。 LOWDMA は DOSLFN の前にロードしなければなりません。 LOWDMA を、例えばコマンドラインで .COM のTSRとしてロードするか、あるい は(こちらが望ましい)CONFIG.SYS を修正してからリブートして .SYS のドライ バとしてロードします。以下のような形です: device=c:\util\umbpci.sys device=c:\util\lowdma.sys LOWDMA をUMBに読み込んではなりません。(そうでなければ、エラー・メッセ ージが出ます。)できるだけ早いうちに LOWDMA をロードするべきです。 内部処理:LOWDMA は割り込み40(フロッピーのセクタ処理)をフックします。 それは Int40 を発行する前に、危ないUMBから、640KB より下の安全なコンベ ンショナルメモリにセクタをコピーし、そして読み取り時には逆の動作をします。 この処理はフロッピーディスクおよびUMBのデータの場合のみ行われます;そ れ以外のときは、Int40 への呼び出しはそのまま本来のDOSファンクションに 渡されます。 (誤ったハードディスクがBIOSが原因で)Int40 ベクタがどこも指していな い場合には、LOWDMA は Int13 を代わりに使用しますが、このチェックは安全で ないし、テストもされていません。 危険な副作用の可能性があるのですが、まだ生じたことはありません。 -------------------------------- 変更履歴: (+ 仕様追加 - バグ取り * 仕様変更) 10/01 + オリジナルの .COM 形式のドライバを書いた 10/01 + .COM 形式と .SYS 形式の両方を作成できるようにソースを変更、どちらを作成  するかは外部シンボルで切替 11/01 + LOWDMA の内部処理の説明を追加 11/01 * Int13 の代わりに Int40 をフックするようにしたことにより、もはやユーザは  IOS.INI の [SafeList] セクションにこのドライバを記入する必要がない。  [Franck Uberto ]