home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug013.arc / COLOR3.PAS < prev    next >
Pascal/Delphi Source File  |  1979-12-31  |  2KB  |  69 lines

  1. program COLOR3;
  2.  
  3. { Colour for MicroBee in Turbo Pascal
  4.   using a  procedure  which reads the
  5.   cursor position,  and offsets it to
  6.   place  the   colour  value  in  the
  7.   colour RAM
  8.  
  9.         Program by Bob Burt           }
  10.  
  11.  
  12. procedure color(foreground, background, intensity : byte);
  13. const
  14.   cursor = -8357; {address holding the low nybble of the cursor position}
  15.   colour_finish = -129; {end of colour RAM}
  16. var
  17.   colour_start, colour_position : integer;
  18.  
  19. begin
  20.   port[8] := (intensity + 32)*2; {converts to correct value to set colour
  21.                                   RAM ON and RGB guns to ON or OFF       }
  22.   colour_start := (mem[cursor + 1] - 240)*256 + mem[cursor] - 2048;
  23.   for colour_position := colour_start to colour_finish do
  24.     mem[colour_position] := background*32 + foreground
  25. end; {procedure color}
  26.  
  27. begin {main}
  28.   clrscr;
  29.   gotoxy(1,4);
  30.   color(0,7,7);
  31.   writeln('This is Black on White');
  32.   delay(1000);
  33.   gotoxy(1,6);
  34.   color(4,3,7);
  35.   writeln('This is Red on Yellow');
  36.   delay(1000);
  37.   gotoxy(1,8);
  38.   color(21,6,7);
  39.   writeln('This is Magenta II on Cyan');
  40.   delay(1000);
  41.   gotoxy(1,10);
  42.   color(23,2,7);
  43.   writeln('This is White II on Green');
  44.   delay(1000);
  45.   gotoxy(1,12);
  46.   color(7,4,7);
  47.   writeln('This is White on Blue');
  48.   delay(1000);
  49.   gotoxy(1,14);
  50.   color(6,5,7);
  51.   writeln('This is Yellow on Magenta');
  52.   delay(1000);
  53.   gotoxy(1,16);
  54.   color(2,3,7);
  55.   writeln('This is Green on Yellow');
  56.   delay(1000);
  57.   gotoxy(1,18);
  58.   color(1,1,7);
  59.   writeln('This is Blue on Red');
  60.   delay(1000);
  61.   gotoxy(1,20);
  62.   color(5,2,7);
  63.   writeln('This is Magenta on Green');
  64.   delay(3000)
  65. end. {main}
  66.  
  67.  
  68.  
  69.