home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 06 / tricks / loadcmos.pas < prev    next >
Pascal/Delphi Source File  |  1990-03-07  |  2KB  |  77 lines

  1. (* ------------------------------------------------------ *)
  2. (*                   LOADCMOS.PAS                         *)
  3. (* Laden des CMOS-Speicherinhalts aus dem Inhalt einer    *)
  4. (* Datei                                                  *)
  5. (*       (c) 1990 Ralf Randermann & TOOLBOX               *)
  6. (* ------------------------------------------------------ *)
  7. PROGRAM LoadCMOS;
  8.  
  9. USES CMOS;
  10.  
  11. CONST
  12.   CRLF = #13#10;
  13.   Bell = #7;
  14.  
  15. VAR
  16.   LV, Work, LoadStart, LoadEnde : BYTE;
  17.   DateiSize                     : LongInt;
  18.   Datei                         : FILE OF BYTE;
  19.  
  20. BEGIN
  21.   WriteLn('LoadCMOS Version 0.1', CRLF,
  22.           'Laden des CMOS-Speicherinhalts aus dem ',
  23.           'Inhalt einer Datei');
  24.   IF ParamCount <> 1 THEN BEGIN
  25.     WriteLn('Die Datei, aus der der CMOS-Speicherinhalt ',
  26.             'gelesen werden soll, muß',CRLF,
  27.             'als Parameter angegeben werden!', Bell);
  28.     Halt;
  29.   END;
  30.   IF CMOSSize = 0 THEN BEGIN
  31.     WriteLn('CMOS-Speicher nicht vorhanden oder nicht nach ',
  32.             'AT-Standard lesbar!', Bell);
  33.     Halt
  34.   END;
  35. {$I-}
  36.   Assign(Datei, ParamStr(1));
  37.   Reset(Datei);
  38.   DateiSize := FileSize(Datei);
  39. {$I+}
  40.   IF IOResult > 0 THEN BEGIN
  41.     WriteLn('Die angegebene Datei kann nicht zum Lesen ',
  42.             'geöffnet werden!', Bell);
  43.     Halt;
  44.   END;
  45.   LoadStart :=  14;
  46.   LoadEnde  := 127;
  47.   CASE DateiSize OF
  48.     50  : LoadEnde  := 63;
  49.     64  : LoadStart := 64;
  50.     114 : ;
  51.     ELSE BEGIN
  52.       WriteLn('In der angegebenen Datei wurde kein ',
  53.               'CMOS-Speicherinhalt mit SaveCMOS abgelegt!',
  54.                Bell);
  55.       Halt;
  56.     END;
  57.   END;
  58.   IF LoadStart >= CMOSSize THEN BEGIN
  59.     WriteLn('Datei enthält Expanded CMOS-Speicher !',
  60.              Bell, CRLF,
  61.             'Da nur Standard-AT CMOS-Speicher vorhanden, ',
  62.             'kann Datei nicht geladen werden.');
  63.     Halt;
  64.   END;
  65.   IF LoadEnde > CMOSSize THEN LoadEnde := 63;
  66.   FOR LV := LoadStart TO LoadEnde DO BEGIN
  67.     Read(Datei, Work);
  68.     WriteCMOS(LV, Work)
  69.   END;
  70.   Close(Datei);
  71.   WriteLn('CMOS-Speicherinhalt (von Byte ',
  72.            LoadStart,' bis ',LoadEnde,
  73.           ') aus Datei ', ParamStr(1), ' geladen.');
  74. END.
  75. (* ------------------------------------------------------ *)
  76. (*               Ende von LOADCMOS.PAS                    *)
  77.