home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TURBOPIC.ZIP / TURBOPIC.PAS
Encoding:
Pascal/Delphi Source File  |  1986-11-08  |  2.6 KB  |  63 lines

  1. {----------------------------}
  2. {      <<<TURBOPIC>>>        }
  3. {    By Jeff Duntemann       }
  4. {    Turbo Pascal V2.0       }
  5. {   Last Update 12/11/84     }
  6. {----------------------------}
  7. PROGRAM TURBOPIC;            {Converts BASICA BLOAD screen images}
  8.                              {to pure memory images of the video }
  9.                              {refresh buffer}
  10.  
  11. Type GBUFF         = Array [0..16383] of Byte; {A graphics screen}
  12.                                                {buffer}
  13.      BASCREEN      = Record                    {A screen saved   }
  14.                                                {via BLOAD}
  15.                        HEADER : Array [0..6] of Byte;
  16.                        SCREEN : GBUFF;
  17.                      End;
  18. Var BASFILE        : File of BASCREEN;
  19.     BASIC_SCREEN   : BASCREEN;
  20.     TURBO_SCREEN   : File;
  21.     BASIC_NAME     : String[80];
  22.     TURBO_NAME     : String[80];
  23.     VISIBUF        : GBUFF Absolute $B800 : $0000;
  24.  
  25. Begin
  26.   Write('>>Enter the name of the BASICA-format screen file: ');
  27.   ReadLn(BASIC_NAME);
  28.   Assign(BASFILE,BASIC_NAME);     {Check if requested file exists}
  29.   Reset(BASFILE);
  30.   If IORESULT = 255 Then
  31.     WriteLn(BASIC_NAME,' is not on disk!  Try again... ')
  32.   Else
  33.     Begin
  34.       Write('>>Enter the name of the Turbo-Format screen file:  ');
  35.       ReadLn(TURBO_NAME);
  36.       GraphColorMode;             {Switch to graphics mode}
  37.       Read(BASFILE,BASIC_SCREEN); {Read the BASICA saved file to RAM}
  38.       Close(BASFILE);
  39.                                   {Now move just the SCREEN part}
  40.                                   {to the video refresh buffer}
  41.       Move(BASIC_SCREEN.SCREEN,VISIBUF,SizeOf(BASIC_SCREEN.SCREEN));
  42.                                   {Write Out screen image}
  43.                                   {to Turbo file}
  44.       Assign(TURBO_SCREEN,TURBO_NAME);
  45.       ReWrite(TURBO_SCREEN);
  46.       BlockWrite(TURBO_SCREEN,VISIBUF,128);
  47.       Close(TURBO_SCREEN);
  48.                                   {And load it again to prove}
  49.                                   {it is Okay}
  50.       GoToXY(13,12); Write('<<PRESS RETURN:>>');
  51.       ReadLn;
  52.       FillChar(VISIBUF,SizeOf(VISIBUF),Chr(0)); {This clears the}
  53.                                                {graphics buffer}
  54.       Assign(TURBO_SCREEN,TURBO_NAME);
  55.       Reset(TURBO_SCREEN);
  56.       BlockRead(TURBO_SCREEN,VISIBUF,128); {BlockRead the screen}
  57.                                            {to the buffer}
  58.       Close(TURBO_SCREEN);
  59.       ReadLn;
  60.       TextMode                    {Wait for (CR) and exit}
  61.     End
  62. End.
  63.