home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / svga / readbios.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-02-18  |  1.8 KB  |  48 lines

  1. (*========================================================*)
  2. (*                      READBIOS.PAS                      *)
  3. (*           (C) 1993 Jörg Braun & DMV-Verlag             *)
  4. (*    speichert das komplette Grafikkarten-BIOS in eine   *)
  5. (*   Datei deren Name aus dem BIOS selbst ermittelt wird  *)
  6. (*           Compiler: Turbo/Borland Pascal ab 5.0        *)
  7. (*========================================================*)
  8. {$I xgraph.h} {$M 16384,0,32768}
  9.  
  10. PROGRAM WriteGraphicsBios2Disk;
  11.  
  12. USES
  13.   DOS{NameStr}, Id{Identify};
  14.  
  15. CONST
  16.   StdExt  : STRING[4] = '.ROM';  (* Standard-Datei-Endung *)
  17.   GrafSeg             = $C000;   (* Grafik-ROM-Segment    *)
  18.  
  19. VAR
  20.   ROMBuffer : ARRAY[0..$FFFE] OF BYTE ABSOLUTE GrafSeg:0000;
  21.                                      (* maximal: 64 kByte *)
  22.   RomID,                             (* erste zwei Bytes  *)
  23.   BufLen    : WORD;                  (* Blockwrite-Puffer *)
  24.   i         : BYTE;                  (* für Upcase(s[i])  *)
  25.   FName     : NameStr;               (* Dateiname         *)
  26.   f         : FILE;                  (* Blockwrite-Datei  *)
  27.   
  28. BEGIN
  29.   Move(ROMBuffer, RomID, 2);
  30.   IF RomID = $AA55 THEN BEGIN
  31.     Identify(FName);
  32.     BufLen := ROMBuffer[2] * $100; (* Länge an Byte Nr. 3 *)
  33.     Assign(f, FName + StdExt);
  34.     ReWrite(f, 1);
  35.     BlockWrite(f, ROMBuffer, BufLen);
  36.     Close(f);
  37.     WriteLn(#13#10'Grafik-BIOS als Datei »', FName, StdExt,
  38.             '« gespeichert; Dateilänge: ', BufLen,
  39.             ' Bytes.');
  40.   END ELSE
  41.     WriteLn(^M^J'Dieser Rechner besitzt im Grafik-Segment' +
  42.             ' C000h kein BIOS!'^M^J'Folglich kann auch '   +
  43.             'kein ROM abgespeichert werden!');
  44. END.
  45.  
  46. (*========================================================*)
  47. (*                   Ende von READBIOS.PAS                *)
  48.