UNIT MAIN; { programmed by Kristian Peters (c) Copyright 1995-2004 Korseby released under the terms of GPL contact: kristian.peters@korseby.net web: http://www.korseby.net } INTERFACE USES CRT,DOS,GRAPH; PROCEDURE DELAY(s:word); PROCEDURE INITGR; PROCEDURE SETPAL(c:byte;r,g,b:shortint); IMPLEMENTATION {²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²} PROCEDURE DELAY(s:word); var ms:word; BEGIN ASM mov ax,1000 mul s mov cx,dx mov dx,ax mov ah,$86 int $15 END END; {²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²} PROCEDURE INITGR; VAR GRD,GRM,EC:INTEGER; BEGIN GRD:=installuserdriver('VGAVESA',nil); GRM:=2; initgraph(GRD,GRM,''); EC:=graphresult; if EC<>grok then begin writeln; textcolor(10); writeln('Procedure INITGR Fehlermeldung: '+^G); writeln('Der Grafikmodus konnte nicht eingeschaltet werden. Beende..'); textcolor(7); delay(1000); writeln; halt(0); end; END; {²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²} PROCEDURE SETPAL(c:byte;r,g,b:shortint); BEGIN port[$3C8]:=c; if (r<0) then r:=0; if (r>63) then r:=63; if (g<0) then g:=0; if (g>63) then g:=63; if (b<0) then b:=0; if (b>63) then b:=63; port[$3C9]:=r; port[$3C9]:=g; port[$3C9]:=b; END; END.