NEXTOR DDG 04 05 03

From Z80 Machines Wiki
Jump to: navigation, search

4.5.3. DRV_GETDPB(4166h)

特定のドライバユニットに関連付けられているメディアのDPB(Drive Parameters Block)を取得します。

入力:A = 0から始まるドライバユニット
        B = C =メディア記述子
        HL = DPBのベースアドレス-1
出力: - 

18バイトDPBのフォーマットは次のとおりです。

+00:メディアディスクリプタバイト(F0h〜FFh)
+01:セクターサイズ(2バイト)、2のべき乗でなければなりません
+03:ディレクトリマスク、(セクタサイズ/ 32)-1として計算されます。
+04:ディレクトリシフト、ディレクトリマスク内の1ビットの数
+05:クラスターマスク。(クラスターあたりのセクター数)-1として計算されます。
+06:クラスタシフト。(クラスタマスクの1ビット数)+1として計算されます。
+07:最初のFATのセクタ番号
+08:FAT数
+ 0A:ディレクトリエントリ数(最大254)
+ 0B:先頭データセクタ番号(2バイト)
+ 0D:最大クラスタ数。次のように計算されます。
      (クラスタ数+1)(2バイト)
+ 0F:総セクタ数 +10:ルートディレクトリの先頭セクタ番号

DPBは、HLに1を加えたアドレスにコピーする必要があります。