[Back to HARDWARE SWAG index] [Back to Main SWAG index] [Original]

    {
    >Does anybody know how to determine the size of a disk drive.  I mean
    >whether it is a 360 K drive or 720 K, 1.4 M or 1.2 M drive.  I'm
    >working on a Program which has the ability to Format diskettes and
    >I want it to be able to come up With the size of a disk drive as a
    >default.  I have looked at the equipment flag in the BIOS and the
    >only thing I can get out of that is the Type of a disk drive not the
    >size.
    }
    Function VarCMOS(i : Byte) : Byte ;
    begin
         port[$70]:=i;
         VarCMOS:=port[$71]
    end;

    Var  b    : Byte ;

    begin
         b:=VarCMOS($10);
         if b and $f0<>0 then
         begin
              Write('Drive A: = ');
              Case (b and $f0) shr 4 of
                   1 : Write('5" 360 Ko');
                   2 : Write('5" 1,2 Mo');
                   3 : Write('3" 720 Ko');
                   4 : Write('3" 1,44 Mo')
              end;
         end;
         if b and $f<>0 then
         begin
              Write(', B: = ');
              Case b and $f of
                   1 : Writeln('5" 360 Ko');
                   2 : Writeln('5" 1,2 Mo');
                   3 : Writeln('3" 720 Ko');
                   4 : Writeln('3" 1,44 Mo')
              end;
         end else WriteLn ;
    end.

[Back to HARDWARE SWAG index] [Back to Main SWAG index] [Original]