MODULE HDPSTest;

(* Programm zur Demonstration der Programmierm”glichkeiten von 
 * hdpSTACK.
 *
 * Autor: Frank Storm
 *
 *        angelegt: 26.01.1995
 * letzte Žnderung: 26.01.1995
 *)

FROM  BIOS                 IMPORT  DriveSet;
FROM  InOut                IMPORT  WriteString, WriteLn, Read, Write;

FROM  HDPSFunctions        IMPORT  HDPSInstalled, HDPCacheDrvMap,
                                   HDPVerifyDrvMap, HDPWrtProtDrvMap,
                                   HDPSComprDrvMap, HDPResult;


PROCEDURE AusgabeLaufwerke (drives: DriveSet);
VAR i: CARDINAL;
BEGIN
  FOR i:= 0 TO 31 DO
   IF (i IN drives)
    THEN
     Write (CHR (65 + i));
     WriteString (':  ');
   END;
  END;
END AusgabeLaufwerke;


VAR ch: CHAR;
    drives: DriveSet;
BEGIN
  WriteString ('Programm zu Demonstration der HDPilot/hdpSTACK Programmierm”glichkeiten');
  WriteLn;
  WriteLn;
  IF HDPSInstalled ()
   THEN
    WriteLn;
    drives:= HDPCacheDrvMap ();
    IF (HDPResult = 0)
     THEN
      WriteString ('Der Cache ist f�r folgende Laufwerke eingeschaltet:');
      WriteLn;
      AusgabeLaufwerke (drives);
      WriteLn;
     ELSE
      WriteString ('Die Cache-Laufwerkseinstellung kann nicht ermittelt werden.');
      WriteLn;
    END;

    WriteLn;
    drives:= HDPVerifyDrvMap ();
    IF (HDPResult = 0)
     THEN
      WriteString ('Verify ist f�r folgende Laufwerke eingeschaltet:');
      WriteLn;
      AusgabeLaufwerke (drives);
      WriteLn;
     ELSE
      WriteString ('Die Verify-Laufwerkseinstellung kann nicht ermittelt werden.');
      WriteLn;
    END;

    WriteLn;
    drives:= HDPWrtProtDrvMap ();
    IF (HDPResult = 0)
     THEN
      WriteString ('Folgende Laufwerke sind schreibgesch�tzt:');
      WriteLn;
      AusgabeLaufwerke (drives);
      WriteLn;
     ELSE
      WriteString ('Welche Laufwerke schreibgesch�tzt sind, kann nicht ermittelt werden.');
      WriteLn;
    END;

    WriteLn;
    drives:= HDPSComprDrvMap ();
    IF (HDPResult = 0)
     THEN
      WriteString ('Folgende Laufwerke sind komprimiert:');
      WriteLn;
      AusgabeLaufwerke (drives);
      WriteLn;
     ELSE
      WriteString ('Welche Laufwerke komprimiert sind, kann nicht ermittelt werden.');
      WriteLn;
    END;

   ELSE
    WriteString ('hdpSTACK ist nicht installiert.');
    WriteLn;
  END;
  WriteLn;
  WriteString ('<Taste> dr�cken...');
  Read (ch);
END HDPSTest.

