app/mpg/2.2/src/VIDEOSTAR 3-6.GCONF

Raw file
Back to index

INCLUDE "std primitives"; 
 
PLOTTER "VIDEOSTAR",3,6,640,480,27.0,19.5; 
 
COLORS "000999";
 
TEXT PROC koordinaten (INT CONST x,y):
  code(32+((y DIV 32) AND 31)) + code(96+(y MOD 32)) +
  code(32+((x DIV 32) AND 31)) + code(64+(x MOD 32))
END PROC koordinaten; 
 
PROC clear: 
   out (""29""27""140""27"/0d");
   moveto(0,0)
END PROC clear; 
 
PROC prepare:
    break(quiet);
    REP 
       disable stop;
       continue (channel(plotter)); 
       clear error;
       enable stop; 
       IF NOT online 
          THEN pause (300)
       FI
    UNTIL online PER
END PROC prepare;

PROC initplot: 
END PROC initplot;
 
PROC endplot: 
   pause;
   out(""24"")
END PROC endplot; 

PROC home: 
   moveto (0,0)
END PROC home;

PROC moveto (INT CONST x,y): 
   out (""29""29"");
   out (koordinaten (x,y)) 
END PROC moveto; 
 
PROC drawto (INT CONST x,y): 
   out (koordinaten(x,y)) 
END PROC drawto; 
 
PROC setpixel (INT CONST x,y): 
   out (""28""); 
   out (koordinaten (x,y)) 
END PROC setpixel;

PROC foreground (INT VAR type): 
   IF   type = 0 THEN out (""27"/1d")            (* loeschend *) 
   ELIF type < 0 THEN out (""27"/2d");type := -1 (* XOR *) 
                 ELSE out (""27"/0");type  := 1  (* normal *) 
   FI 
END PROC foreground;

PROC background (INT VAR type):
   type := 0 
END PROC background; 
        
PROC setpalette: 
END PROC setpalette;
 
PROC circle (INT CONST x,y,rad,from,to): 
   IF full circle inside screen 
      THEN out (""29"" + koordinaten(x, y) + ""27"C" + 
           subtext (koordinaten(0,rad),1,3) + ""28""); 
      ELSE std circle (x,y,rad,from,to) 
   FI. 
  
   full circle inside screen:
      (from = 0 AND to = 360) AND
      (x + rad) < 640 AND (x - rad >= 0) AND 
      (y + rad) < 480 AND (y - rad >= 0)
END PROC circle; 
 
PROC box (INT CONST x1,y1,x2,y2,pattern): 
   std box (x1, y1, x2, y2, pattern) 
END PROC box;

PROC fill (INT CONST x,y,pattern): 
   moveto (x,y);
   out (""27"F");
END PROC fill;