MSX-DOS2 FCS 03 84

From Z80 Machines Wiki
Jump to: navigation, search

3.84 RAMDISKの作成または破壊(68H)

パラメータ:C = 68H(_RAMD)

B = 00H => RAMディスクを破壊する

1 ... FEH =>新しいRAMディスクを作成

FFH => RAMディスクサイズを返す

結果:A =エラー

B = RAMディスクサイズ

レジスタB = 0FFhの場合、このルーチンは現在RAMディスクに割り当てられている16k RAMセグメントの数を返すだけです。値0は、現在定義されているRAMディスクがないことを示します。 B = 0の場合、現在のRAMディスクは破壊され、それに含まれていたすべてのデータが失われ、RAMディスクがなければエラーは返されません。

そうではなく、Bが01h ... FEhの範囲にある場合、この関数はレジスタBに指定された16kセグメントの数を使用して新しいRAMディスクを作成しようとします。すでにRAMディスクがある場合はエラーが返されます。 RAMDX ")または空きセグメントが1つもない場合は(" .NORAM ")。指定されたサイズのRAMディスクを作成するのに十分な空きRAMセグメントがない場合は、最大のものが作成されます。この場合、エラーは返されません。

すべての場合において、RAMディスクのサイズはレジスタBにいくつかのセグメントとして返されます。 RAMの一部はファイル割り当てテーブルとルートディレクトリに使用されるため、 "DIR"または "CHKDSK"で示されるRAMディスクのサイズは、使用されるRAMの合計容量よりもいくらか小さくなります。システム内のドライブ数に関係なく、RAMには常にドライブ文字 "H:"が割り当てられます。