[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]
{
MR³ How do you tell the difference between a fixed hard drive, and a
³ removable drive or network drive? Why? I have a program which reports
This little demo program contains the answers for most of your
questions.
{ uses int $21, service $44, subservices 8 & 9 to get drive
existence, removeable/non-removeable, and local/remote status }
uses dos;
var drive : word;
ts : string[30];
r : registers;
drexist : boolean;
begin
for drive := 1 to 26 do
begin
drexist := false;
ts := 'unkn';
r.ax := $4408; { check for dos floppy/hard drv }
r.bl := drive;
msdos(r);
if not odd(r.flags) then { if not carry then ... }
begin
drexist := true;
if (r.ax = 0) then ts := 'floppy' else ts := 'hard';
end;
r.ax := $4409; { check for local/remote (lan) drv }
r.bl := drive;
msdos(r);
if not odd(r.flags) then
begin
drexist := true;
if ((r.dh and $10) <> 0) then ts := 'remote';
end;
If DrExist then
begin
ts := chr(ord('A')+pred(drive))+': ' + ts;
writeln(ts);
end;
end;
end.
[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]