MSX-DOS2 FCS 03 43

From Z80 Machines Wiki
Jump to: navigation, search

3.43.ディスクパラメータの取得(31H)

パラメータ:C = 31H(_DPARM)

DE = 32バイトバッファへのポインタ

L =ドライブ番号(0 =デフォルト、1 = Aなど)

結果:A =エラーコード

DE =保存済み


この関数は、指定されたドライブのディスクのフォーマットに関する一連のパラメータを、ユーザーのプログラム内に割り当てられているバッファに返します。絶対セクタ番号を解釈できるようにするために、絶対セクタの読み書きを行うプログラムにとっては便利です。一時的なプログラムに最も役立つパラメータを提供するために、返されるパラメータには冗長な情報が含まれています。返されるパラメータブロックの形式は次のとおりです。


DE + 0 - 物理ドライブ番号(1 = Aなど)

DE + 1,2 - セクターサイズ(現在は常に512)

DE + 3 - クラスタあたりのセクタ数(2のゼロでない乗数)

DE + 4,5 - 予約済みセクター数(通常1)

DE + 6 - FATのコピー数(通常2)

DE + 7,8 - ルートディレクトリエントリの数

DE + 9,10 - 論理セクターの総数

DE + 11 - メディア記述子バイト

DE + 12 - FATあたりのセクター数

DE + 13..14 - 最初のルートディレクトリのセクタ番号

DE + 15..16 - 最初のデータセクター番号

DE + 17..18 - 最大クラスタ番号

DE + 19 - ダーティディスクフラグ

DE + 20..23 - ボリュームID。 (-1 =>ボリュームIDなし)

DE + 24..31 - 予約済み(現在は常にゼロ)


ダーティディスクフラグは、UNDELコマンドで回復できるファイルがディスクにあるかどうかを示します。ファイル割り当てが完了するとリセットされます。