home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* CHKDRIVE.PAS *)
- (* (c) 1990 Christian Büchel & TOOLBOX *)
- (* ------------------------------------------------------ *)
- USES Dos, Crt;
-
- VAR
- lw : CHAR;
-
- FUNCTION CheckDrive(Drive : BYTE) : BOOLEAN;
- VAR
- Regs : Registers;
- anz_floppy, a_or_b : BYTE;
- BEGIN
- anz_floppy := ((Mem[$40:$10] AND 192) SHR 6) + 1;
- (* BIOS-Variable, zeigt Anzahl der Laufwerke *)
- a_or_b := Mem[$50:$04];
- (* Bios Variable, zeigt bei einer Floppy, ob *)
- (* aktuell als A: oder B: ansprechbar *)
- IF ((Drive = 1) AND (anz_floppy = 1) AND
- (a_or_b = 00)) OR ((Drive = 0) AND
- (anz_floppy = 1) AND (a_or_b = 01))
- THEN BEGIN
- CheckDrive := FALSE;
- Exit;
- END;
- CheckDrive := NOT (DiskSize(Drive + 1) = -1);
- END;
-
- BEGIN
- REPEAT
- lw := UpCase(ReadKey);
- IF NOT CheckDrive(Ord(lw) - 65) THEN
- WriteLn('Laufwerk ', lw, ' nicht vorhanden')
- ELSE
- WriteLn('Laufwerk ', lw, ' vorhanden');
- UNTIL lw = #13;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von CHKDRIVE.PAS *)