home *** CD-ROM | disk | FTP | other *** search
- Program AllocationTableInformation;
- { adapted to BP7 jb/'94 }
-
- USES
- Dos, Crt;
-
- Var
- Registers : DOS.Registers; { ugly but quickly adapted }
- ClusterSize : Real;
- DiskSize : Real;
-
- Begin
- LowVideo;
- ClrScr;
-
- Fillchar (Registers, sizeof(Registers), 00);
- Registers.AH := $30;
- Registers.DS := DSeg;
- MsDOS (registers);
-
- If Registers.AL = 0 then
- Begin
- Writeln; Writeln;
- Writeln ('Sorry, this pgm. only works with DOS 2.0 or higher');
- Writeln; Writeln;
- Halt;
- End;
-
- Fillchar (Registers, sizeof(Registers), 00);
- Registers.AH := $1B;
- Registers.DS := DSeg;
- MsDOS (registers);
- Writeln; Writeln;
- Writeln('': 10, 'Allocation Table Information, Default Drive:');
- WriteLn('': 10, '--------------------------------------------'^J^J);
-
- With Registers Do
- Begin
- Writeln ('# of clusters on disk..........', DX : 10);
- Writeln ('Sectors per cluster............', AL : 10);
- Writeln ('Sector size....................', CX : 10, ' bytes');
- Writeln;
- ClusterSize := (AL * CX);
- DiskSize := (ClusterSize * DX);
- Writeln ('Size of each cluster...........', ClusterSize:10:0, ' bytes');
- Writeln ('Total disk space...............', DiskSize :10:0, ' bytes');
- End;
-
- Writeln; Writeln;
- Writeln; Writeln;
- End.