Program teszt ;
uses crt,dos;
var currdir : array[1..128] of byte;
hiba : byte ;
procedure getdir(drivenum: byte);
begin
hiba := 0;
asm
mov dl,drivenum
mov si, offset currdir
mov ah,47h
int 21h
jnc @kilep
mov [hiba],al
@kilep:
end ;
end ;
var i : byte;
bioshwreport : word;
begin
clrscr;
asm
int 11h
mov [bioshwreport],ax
end ;
if ( bioshwreport and $0001 ) <> 0 then { van floppy ? }
begin
{ oke, 'a' egyseg tutti }
getdir(1);
write('a:');
if ( hiba = 0 ) then writeln('ok') else writeln('hiba');
{ a 6-7 bit adja meg a floppyk szamat. -1 }
{ de engem most kiserletileg csak a 'b:' erdekel }
if ( ( bioshwreport and $C0 ) <> 0 ) then
begin
getdir(2);
write('b:');
if ( hiba = 0 ) then writeln('ok') else writeln('hiba');
end ;
end ;
for i:= 3 to 26 do
begin
getdir(i);
write( char(64+i),':' );
if hiba = 0
then writeln('ok')
else writeln('hiba');
end ;
end .