NEXTOR DDG 04 06 03

From Z80 Machines Wiki
Revision as of 03:55, 26 January 2019 by Kumokosi (talk | contribs) (Created page with "===4.6.3。 DEV_STATUS(4166h) === 装置または論理装置の可用性を取得し、状況を変更します。 入力:A =デバイスインデックス、1〜7  ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

4.6.3。 DEV_STATUS(4166h)

装置または論理装置の可用性を取得し、状況を変更します。

入力:A =デバイスインデックス、1〜7         B =論理装置番号、1から7             デバイス自体のステータスを返すには0 出力:A =指定された論理装置の状況             0が指定された場合は、デバイス全体に対して             0:デバイスまたは論理ユニットが使用不可、またはデバイス                または指定された手術ユニット番号が無効です。             1:装置または論理装置は使用可能で変更されていません                最後のステータス要求以降。             2:装置または論理装置は使用可能で変更されました                最後のステータス要求以降。                (デバイスの場合は、デバイスのプラグが抜か                 同じデバイスインデックスが割り当てられているデバイスが接続されています。                 論理ユニットの場合は、メディアが変更されています。             3:装置または論理装置は使用可能ですが不可能です                最後から変更されたかどうかを判断する                ステータス要求

このルーチンはデバイスのメディア変更ステータスを知らせます。 Nextorは通常、LUN_INFOによって返された情報ブロックに「取り外し可能」フラグが設定されている論理装置に対してのみこのルーチンを呼び出します。ただし、MSX-DOS 1モードで実行している場合は、ルーチンは固定論理装置に対しても呼び出されます(固定論理装置の場合、このルーチンは常にAに0または1を戻す必要があります)。 Nextorの現在のバージョンでは、このルーチンはB = 0で呼び出されることは決してありません(装置自体の状況を確認してください)。 USBバスなどのホットプラグ対応デバイスシステムのサポートは、将来のバージョンで予定されています。 Nextorは、ブートセクタチェックサムメカニズムを使用して、DEV_STATUSの呼び出しに応答してドライバがA = 3を返したときのデバイスの変更を管理します(詳細については、Nextor 2.0ユーザマニュアルの「メディア変更の管理」を参照)。ブートセクタの読み取りとチェックサムの計算を避けるために、ドライバは可能な限り適切なデバイス変更情報を返すべきです(つまり、DEV_STATUSは3ではなくA = 1または2を返すべきです)。