home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* TSRPGM.INC *)
- (* SNAPSHOT von Bildschirmen mit HGC, CGA + EGA *)
- (* Speicherung auf Diskette oder Festplatte *)
- (* ------------------------------------------------------ *)
-
- PROCEDURE tsrpgm;
- VAR regs : regs8088_;
- modus, seite : BYTE;
- a_x, a_y : INTEGER;
- sname, snum, text1 : name;
- text2 : STRING[75];
- cnr : STRING[2];
- ext : STRING[4];
- sign : CHAR;
-
- BEGIN
- modus := get_modus(seite); (* aktueller Modus *)
- CASE modus OF
- $00..$06, $80..$86 : ext := '.CGA';
- $0D, $0E,$8D, $8E, $0f, $8f, $10, $90 : ext := '.EGA';
- $07, $87 : ext := '.HGC';
- END;
- IF (modus < 4) OR (modus = 7) THEN wo_cursor(a_x, a_y);
- text1 := ''; text2 := ''; sname := '';
- nr := Succ(nr);
- Str(nr, cnr);
- snum := datum + '-' + cnr + ext;
- sname := pfad + snum;
- IF ext = '.EGA' THEN EgaSave(sname)
- ELSE
- IF ext = '.CGA' THEN CgaSave(sname)
- ELSE HercSave(sname);
- IF modus = 7 THEN BEGIN
- checkmode;
- IF grafik THEN BEGIN
- ext := '.HGG';
- snum := datum + '-' + cnr + ext;
- text1 := pfad + snum;
- Assign(datei, sname);
- Rename(datei, text1);
- sname := text1;
- END;
- END;
- text1 := '';
- X_Pos := 1; Y_Pos := 24; (* nur fuer Hercules *)
- GotoXY(1, 24); WriteLn(sname);
- Write
- (' ');
- X_Pos := 1; Y_Pos := 25; (* nur fuer Hercules *)
- GotoXY(1, 25); Write('Kommentar: ');
- ReadLn(text1);
- text2 := snum + ' ' + text1;
- Assign(Tdatei, index);
- APPEND(Tdatei);
- WriteLn(Tdatei, text2);
- Close(Tdatei);
- IF ext = '.CGA' THEN Move(Puffer[0], CgaBase, 16383);
- IF modus = 7 THEN Move(Puffer[0], HercBase, 32767);
- IF ext = '.EGA' THEN egaload(sname);
- IF (modus < 4) OR (modus = 7) THEN GotoXY(a_x, a_y);
- IF modus = 7 THEN BEGIN
- ConOutPtr := ConOut;
- grafik := FALSE;
- END;
- END;
- (* ------------------------------------------------------ *)
- (* Ende von TSRPGM.INC *)
-