home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG013.ARC / HIRES.PAS < prev    next >
Pascal/Delphi Source File  |  1979-12-31  |  2KB  |  73 lines

  1. program HIRES;
  2.  
  3. {  Demonstration program in Turbo Pascal for
  4.   MicroBee HIgh RESolution Graphics developed
  5.                 by Bob Burt
  6.  
  7.    Note it is only necessary to set the first
  8.       11 of the 16 rows of pixels for each
  9.          character for 80 X 24 format           }
  10.  
  11. type
  12.   pixels = array[1..11] of integer;
  13. var
  14.   start,finish,count : integer;
  15.   row : pixels;
  16.  
  17. procedure PCG(var addr1,addr2 : integer; row : pixels);
  18. var count2 : integer;
  19. begin
  20.   count2 := 0;
  21.   for count := addr1 to addr2 do
  22.   begin
  23.     count2 := count2 + 1;
  24.     mem[count] := row[count2]
  25.   end
  26. end; {procedure PCG}
  27.  
  28. begin {main}
  29.   clrscr;
  30.   writeln;
  31.   writeln('We remove the cursor ....');
  32.   start := -1536;
  33.   finish := -1521;
  34.   for count := 1 to 11 do
  35.     row[count] := 0;
  36.   PCG(start,finish,row);
  37.   delay(4000);
  38.   writeln(^G^M^J);
  39.   write('Now print first graphic (chr(254)) for horiz. line : ');
  40.   start := -32;
  41.   finish := -17;
  42.   for count := 1 to 5 do
  43.     row[count] := 0;
  44.   row[6] := 255;
  45.   for count := 7 to 11 do
  46.     row[count] := 0;
  47.   PCG(start,finish,row);
  48.   for count := 1 to 20 do
  49.     write(chr(254));
  50.   delay(4000);
  51.   writeln(^G^M^J);
  52.   write('Now print 2nd graphic (chr(253)) for vert. line :    ');
  53.   start := -48;
  54.   finish := -33;
  55.   for count := 1 to 11 do
  56.     row[count] := 8;
  57.   PCG(start,finish,row);
  58.   for count := 1 to 20 do
  59.     write(chr(253));
  60.   writeln; writeln;
  61.   delay(4000);
  62.   write(^G,'.... and now restore the cursor >>>> ');
  63.   start := -1536;
  64.   finish := -1521;
  65.   for count := 1 to 11 do
  66.     row[count] := 255;
  67.   PCG(start,finish,row);
  68.   delay(4000);
  69.   writeln; writeln;
  70.   write(^G,'Press any key to exit the program : ');
  71.   repeat until keypressed
  72. end. {main}
  73.