home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / TURBOFIX.ZIP / TURBOFIX.PAS
Encoding:
Pascal/Delphi Source File  |  1985-12-28  |  1.7 KB  |  84 lines

  1. { Program to modify runtime routines of Turbo Files }
  2. var
  3.   filename:string[30];
  4.   infile:file of byte;
  5.   choice:integer;
  6.   data,nop,int,vid:byte;
  7.   quest:char;
  8.   done:boolean;
  9.  
  10. procedure openfile;
  11. begin
  12.   repeat
  13.     Write('Filespec: ');
  14.     readln(filename);
  15.     assign(infile,filename);
  16.     {$I-} reset(infile); {$I+}
  17.   until ioresult=0;
  18. end;
  19.  
  20. procedure scrnclr;
  21. begin
  22.   ClrScr;
  23.   openfile;
  24.   seek(infile,$1FC);
  25.   read(infile,data);
  26.   if data=int then writeln('Clear Screen = ON')
  27.     else writeln('Clear Screen = OFF');
  28.   write('Change (Y/N) ? ');
  29.   read(quest);
  30.   if upcase(quest)='Y' then
  31.   begin
  32.     seek(infile,$1fC);
  33.     if data=int then write(infile,nop,nop)
  34.       else write(infile,int,vid);
  35.   end;
  36.   close(infile);
  37. end;
  38.  
  39. procedure resfix;
  40. var
  41.   res,nores:byte;
  42. begin
  43.   ClrScr;
  44.   res:=$14;
  45.   nores:=$10;
  46.   openfile;
  47.   seek(infile,$A87);
  48.   read(infile,data);
  49.   if data=$14 then writeln('Re-load Command = OFF')
  50.     else writeln('Re-load Command = ON');
  51.   write('Change (Y/N) ? ');
  52.   read(quest);
  53.   if upcase(quest)='Y' then
  54.   begin
  55.     seek(infile,$A87);
  56.     if data=$14 then write(infile,nores)
  57.       else write(infile,res);
  58.   end;
  59.   close(infile);
  60. end;
  61.  
  62. begin
  63.   done:=false;
  64.   nop:=$90;
  65.   int:=$CD;
  66.   vid:=$10;
  67.   repeat
  68.     ClrScr;
  69.     Writeln('TurboFix - Reconfigure Turbo Pascal COM files');
  70.     writeln;
  71.     writeln('1.  Screen clear at beginning of program');
  72.     writeln('2.  Load DOS at end of program');
  73.     writeln('0.  Exit');
  74.     writeln;
  75.     write('Enter your choice: ');
  76.     readln(choice);
  77.     case (choice) of
  78.       0:done:=true;
  79.       1:scrnclr;
  80.       2:resfix;
  81.     end;
  82.   until done=true;
  83. end.
  84.