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 / COLOR.PAS < prev    next >
Pascal/Delphi Source File  |  1979-12-31  |  4KB  |  130 lines

  1. program COLOR;
  2.  
  3. { Simple colour demonstration program to
  4.   display  the  effect  of  changing the
  5.   intensities  of  the  RGB  guns on the
  6.   background colours
  7.  
  8.   Developed for the MicroBee by Bob Burt }
  9.  
  10. const
  11.   space   = '                ';
  12.   title   = '*** Colour in Turbo Pascal ***';
  13.   red     = 32; { Black on named background }
  14.   green   = 64;
  15.   yellow  = 96;
  16.   blue    = 128;
  17.   magenta = 160;
  18.   cyan    = 192;
  19.   white   = 224;
  20.   white_on_black    = 7;
  21.   white2_on_black   = 23;
  22.   white2_on_red     = 55;
  23.   white2_on_green   = 87;
  24.   white2_on_yellow  = 119;
  25.   white2_on_blue    = 151;
  26.   white2_on_magenta = 183;
  27.   white2_on_cyan    = 215;
  28.   red2_on_cyan      = 212;
  29.   red2_on_white     = 244;
  30.   red2_on_green     = 84;
  31.   yellow_on_magenta = 166;
  32.   magenta_on_yellow = 101;
  33.   red_on_blue       = 132;
  34.   blue_on_red       = 33;
  35. var
  36.   colour_ram : integer;
  37.   intensity : integer;
  38.  
  39. begin {main}
  40.   intensity := 78; {Colour RAM ON, RGB Guns FULL}
  41.   repeat
  42.     writeln(^G);
  43.     port[8] := intensity;
  44.     clrscr;
  45.     writeln(space,'       ',title);
  46.     for colour_ram := -1888 to -1849 do
  47.       mem[colour_ram] := red;
  48.     for colour_ram := -1848 to -1809 do
  49.       mem[colour_ram] := green;
  50.     gotoxy(1,3);
  51.     writeln(space,'Black on Red     ',space,'Black on Green');
  52.     for colour_ram := -1808 to -1769 do
  53.       mem[colour_ram] := yellow;
  54.     for colour_ram := -1768 to -1729 do
  55.       mem[colour_ram] := blue;
  56.     writeln(space,'Black on Yellow  ',space,'Black on Blue');
  57.     for colour_ram := -1728 to -1689 do
  58.      mem[colour_ram] := magenta;
  59.     for colour_ram := -1688 to -1649 do
  60.       mem[colour_ram] := cyan;
  61.     writeln(space,'Black on Magenta ',space,'Black on Cyan');
  62.     for colour_ram := -1648 to -1609 do
  63.       mem[colour_ram] := white;
  64.     for colour_ram := -1608 to -1569 do
  65.       mem[colour_ram] := white_on_black;
  66.     writeln(space,'Black on White   ',space,'White on Black');
  67.     for colour_ram := -1568 to -1529 do
  68.       mem[colour_ram] := white2_on_black;
  69.     for colour_ram := -1528 to -1489 do
  70.       mem[colour_ram] := white2_on_red;
  71.     writeln(space,'White2 on Black  ',space,'White2 on Red');
  72.     for colour_ram := -1488 to -1449 do
  73.       mem[colour_ram] := white2_on_green;
  74.     for colour_ram := -1448 to -1409 do
  75.       mem[colour_ram] := white2_on_yellow;
  76.     writeln(space,'White2 on Green  ',space,'White2 on Yellow');
  77.     for colour_ram := -1408 to -1369 do
  78.       mem[colour_ram] := white2_on_blue;
  79.     for colour_ram := -1368 to -1329 do
  80.       mem[colour_ram] := white2_on_magenta;
  81.     writeln(space,'White2 on Blue   ',space,'White2 on Magenta');
  82.     for colour_ram := -1328 to -1289 do
  83.       mem[colour_ram] := white2_on_cyan;
  84.     for colour_ram := -1288 to -1249 do
  85.       mem[colour_ram] := red2_on_cyan;
  86.     writeln(space,'White2 on Cyan   ',space,'Red2 on Cyan');
  87.     for colour_ram := -1248 to -1209 do
  88.       mem[colour_ram] := red2_on_white;
  89.     for colour_ram := -1208 to -1169 do
  90.       mem[colour_ram] := red2_on_green;
  91.     writeln(space,'Red2 on White    ',space,'Red2 on Green');
  92.     for colour_ram := -1168 to -1129 do
  93.       mem[colour_ram] := yellow_on_magenta;
  94.     for colour_ram := -1128 to -1089 do
  95.       mem[colour_ram] := magenta_on_yellow;
  96.     writeln(space,'Yellow on Magenta',space,'Magenta on Yellow');
  97.     for colour_ram := -1088 to -1049 do
  98.       mem[colour_ram] := red_on_blue;
  99.     for colour_ram := -1048 to -1009 do
  100.       mem[colour_ram] := blue_on_red;
  101.     writeln(space,'Red on Blue      ',space,'Blue on Red');
  102.     writeln; writeln;
  103.     writeln(space,'    Default Colours - normally Green on Black');
  104.     writeln;
  105.     write(space,'   ');
  106.     lowvideo;
  107.     write('Background Intensity : ');
  108.     case intensity of
  109.       78 : writeln('R G B Full, none Half');
  110.       76 : writeln('G B Full, R Half');
  111.       74 : writeln('R B Full, G Half');
  112.       72 : writeln('B Full, R G Half');
  113.       70 : writeln('R G Full, B Half');
  114.       68 : writeln('G Full, R B Half');
  115.       66 : writeln('R Full, G B Half');
  116.       64 : writeln('None Full, R G B Half')
  117.     end;
  118.     normvideo;
  119.     writeln;
  120.     writeln(space,'All change to Default Colours on Exiting Program');
  121.     writeln;
  122.     writeln(space,space,'Press any Key for Next Screen ..');
  123.     repeat until keypressed;
  124.     intensity := intensity - 2
  125.   until intensity = 62
  126. end.{main}
  127.  
  128.  
  129.  
  130.