program graphics(input,output);
{
 Defines the BBC BASIC graphics functions
}

const
  store_   = 0;
  or_      = 1;
  and_     = 2;
  eor_     = 3;
  not_     = 4;
  nop_     = 5;
           
  black    = 0;
  red      = 1;
  green    = 2;
  yellow   = 3;
  blue     = 4;
  magenta  = 5;
  cyan     = 6;
  white    = 7;
  fBlack   = 8;
  fRed     = 9;
  fGreen   = 10;
  fYellow  = 11;
  fBlue    = 12;
  fMagenta = 13;
  fCyan    = 14;
  fWhite   = 15;


procedure move(x, y : integer);
const
  moveCode = 4;
begin
  plot(moveCode, x, y)
end;

procedure draw(x, y : integer);
const
  drawCode = 5;
begin
  plot(drawCode, x, y)
end;

procedure colour(col : integer);
const
  colourCode = 17;
begin
  vdu(colourCode, col)
end;

procedure gcol(plotMode : integer; col : integer);
const
  gcolCode = 18;
begin
  vdu(gcolCode, plotMode, col)
end;

procedure clg;
const
  clgCode = 16;
begin
  vdu(clgCode)
end;

procedure cls;
const
  clsCode = 12;
begin
  vdu(clsCode) { or just 'page' }
end;

procedure palette(logical : integer; actual : integer);
const
  paletteCode = 19;
begin
  vdu(paletteCode, logical, actual, 0, 0, 0)
end;

procedure tab(x, y : integer);
const
  tabCode = 31;
begin
  vdu(tabCode, x, y)
end;

begin {main}
end.
