Changes

NEXTOR 03 06 09

141 bytes added, 06:30, 14 February 2019
3.6.9 CALL MAPDRVコマンド
==3.6.9 CALL MAPDRVコマンド==
BASIC環境からドライブをデバイスおよびパーティションのマッピングに変更できるようにするこのコマンド。これはMAPDRVBASIC環境からドライブをデバイスおよびパーティションのマッピングに変更できるようにするコマンドです。これはMAPDRV.COMツールと同等です。
CALL MAPDRVの構文は以下のとおりです。一部のパラメーターはオプションであるため、最も完全な(すべてのパラメーターを使用する)ものから始めて、考えられるすべてのバリエーションについて説明します。各パラメータに設定可能な値の詳細は後で説明します。
CALL MAPDRV(<ドライブ>、<パーティション>)
指定したドライブを指定したパーティションにマップします。装置は、すでにドライブにマップされている区画を含むものと同じであると想定されます。ドライブが現在デバイスベースのドライバに割り当てられていない場合は、 指定したドライブを指定したパーティションにマップします。ドライブは、すでにドライブにマップされているパーティションを含むものと同じであると想定されます。ドライブが現在デバイスベースのドライバに割り当てられていない場合は、 "Invalid device driver"エラーが発生します。
CALL MAPDRV(<ドライブ>、-1)
コマンドパラメータの構文は次のとおりです。
:*<drive>は、ドライブ文字の後にコロン( は、ドライブレターの後にコロン( "A:"など)または数字が続く文字列です。ドライブA:からH:の場合は1から8、現在のドライブの場合は0です。  :<partition>は0〜255の範囲の数値で、次のように解釈されます。  ::0:デバイスにパーティションがないと仮定します。ドライブはデバイスの絶対セクタ0にマッピングされます。  ::1:装置の最初の1次区画。 ::2、3、または4:装置区画2が拡張されている場合、番号はそれぞれ1番目、2番目、または3番目の拡張区画として解釈されます。それ以外の場合、番号はそれぞれ装置の2、3または4番目の1次区画として解釈されます。  ::5以上:番号は、デバイスの(n-1)番目の拡張パーティションとして解釈されます。 ::<device>は1〜7の範囲のデバイスインデックスです。デバイスに複数の論理ユニットがある場合は、式<デバイス> + 16 * <論理ユニット>を使用します。論理単位の可能な値も1から7です(0も受け入れられ、1として解釈されます)。  ::<slot>は0〜3の範囲のスロット番号です。スロットが拡張されている場合は、式<メインスロット> + 4 * <サブスロット>を使用します。特別な場合として、スロット番号として0が指定され、サブスロット番号が指定されていない場合は、1次コントローラーのスロットが使用されます。 
*<partition>は0〜255の範囲の数値で、次のように解釈されます。
**0:デバイスにパーティションがないと仮定します。ドライブはデバイスの絶対セクタ0にマッピングされます。
**1:デバイスの最初の1次パーティション。
**2、3、または4:デバイスパーティション2が拡張されている場合、番号はそれぞれ1番目、2番目、または3番目の拡張パーティションとして解釈されます。それ以外の場合、番号はそれぞれパーティションの2、3または4番目の1次パーティションとして解釈されます。
**5以上:番号は、デバイスの(n-1)番目の拡張パーティションとして解釈されます。
**<code><device></code>は1〜7の範囲のデバイスインデックスです。デバイスに複数の論理ユニットがある場合は、次の計算式<code><デバイス> + 16 * <論理ユニット></code>を使用します。論理単位の可能な値も1から7です(0も受け入れられ、1として解釈されます)。
**<slot>は0〜3の範囲のスロット番号です。スロットが拡張されている場合は、式<メインスロット> + 4 * <サブスロット>を使用します。特別な場合として、スロット番号として0が指定され、サブスロット番号が指定されていない場合は、1次コントローラーのスロットが使用されます。
MSX-DOS 1モードでは、Nextorアーキテクチャによって課される追加の制限がいくつかあります。
:*指定されたドライブは、起動時にデバイスベースのドライバにマップされている必要があります。ブート時に、マップされていないドライブ、またはMSX-DOSドライバまたはNextorドライブベースのドライバにマップされているドライブのマッピングを変更することはできません。
:*新しいマッピング情報は、異なるパーティションやデバイスを指定することがありますが、ドライバスロットは起動時にドライブに割り当てられたものと同じである必要があります。システムにNextorカーネルが1つしかない場合、これは問題になりません。また、MSX-DOS 1モードでは、ドライブをサポートされていないパーティションタイプ(1つのFATあたり3つ以上のセクタを持つFAT16パーティションまたはFAT12パーティション)にマップすると、常に "ディスクI / Oエラー"が発生します。そのドライブにアクセスするとき。これは、デバイスが実際に故障していることを意味するのではなく、Nextorがアクセスを拒否したことだけを意味します。