MSX-DOS2 FCS 03 84
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:"が割り当てられます。