home *** CD-ROM | disk | FTP | other *** search
- (*========================================================*)
- (* READBIOS.PAS *)
- (* (C) 1993 Jörg Braun & DMV-Verlag *)
- (* speichert das komplette Grafikkarten-BIOS in eine *)
- (* Datei deren Name aus dem BIOS selbst ermittelt wird *)
- (* Compiler: Turbo/Borland Pascal ab 5.0 *)
- (*========================================================*)
- {$I xgraph.h} {$M 16384,0,32768}
-
- PROGRAM WriteGraphicsBios2Disk;
-
- USES
- DOS{NameStr}, Id{Identify};
-
- CONST
- StdExt : STRING[4] = '.ROM'; (* Standard-Datei-Endung *)
- GrafSeg = $C000; (* Grafik-ROM-Segment *)
-
- VAR
- ROMBuffer : ARRAY[0..$FFFE] OF BYTE ABSOLUTE GrafSeg:0000;
- (* maximal: 64 kByte *)
- RomID, (* erste zwei Bytes *)
- BufLen : WORD; (* Blockwrite-Puffer *)
- i : BYTE; (* für Upcase(s[i]) *)
- FName : NameStr; (* Dateiname *)
- f : FILE; (* Blockwrite-Datei *)
-
- BEGIN
- Move(ROMBuffer, RomID, 2);
- IF RomID = $AA55 THEN BEGIN
- Identify(FName);
- BufLen := ROMBuffer[2] * $100; (* Länge an Byte Nr. 3 *)
- Assign(f, FName + StdExt);
- ReWrite(f, 1);
- BlockWrite(f, ROMBuffer, BufLen);
- Close(f);
- WriteLn(#13#10'Grafik-BIOS als Datei »', FName, StdExt,
- '« gespeichert; Dateilänge: ', BufLen,
- ' Bytes.');
- END ELSE
- WriteLn(^M^J'Dieser Rechner besitzt im Grafik-Segment' +
- ' C000h kein BIOS!'^M^J'Folglich kann auch ' +
- 'kein ROM abgespeichert werden!');
- END.
-
- (*========================================================*)
- (* Ende von READBIOS.PAS *)
-