
program PUNT (input, output);

var
  X,Y, X2, Y2 : integer;
  TEKST       : string;
  CODE        : integer;
  FCOLOR      : integer;

  procedure WISSEL (var A : integer; var B : integer);
    var
      HELP : integer;
    begin
      HELP:= A;
      A:= B;
      B:= HELP;
    end;

procedure POINTMCGA (X, Y : integer);
  begin
    mem[$A000:X + Y*320]:= FColor;
  end;

procedure CHECKCODE;
  var
    OK   : boolean;
  begin
    OK:= (CODE = 0);
    if not OK then begin
      writeln ('Fout in integer constante in ', paramstr(0), ' -programma');
      halt (41);
    end;
  end;

begin
  if paramcount < 3 then begin
    writeln;
    writeln (' dit programma tekent een punt op het mcga scherm');
    writeln;
    writeln ('    gebruik: PUNT[.EXE] <X> <Y> <KLEUR>....');
    halt (40);
  end;
  TEKST:= paramstr (1);
  val (TEKST, X, CODE);
  CheckCode;
  TEKST:= paramstr (2);
  val (TEKST, Y, CODE);
  CheckCode;
  TEKST:= paramstr (3);
  val (TEKST, FCOLOR, CODE);
  CheckCode;
  POINTMCGA (X,Y);
end.
