INCLUDE "std primitives"; PLOTTER "ATARI",3,9,640,400,21.0,13.0; COLORS "000999"; TEXT VAR atari kommando; TEXT VAR atari puffer 2 := "12", atari puffer 4 := "1234"; PROC atari g c (TEXT CONST kommando kennung): LET esc g = ""27"g"; atari kommando := esc g; atari kommando CAT kommando kennung END PROC atari g c; PROC atari g w (INT CONST unsigned integer): replace (atari puffer 2, 1, unsigned integer); atari kommando CAT atari puffer 2 END PROC atari g w; PROC atari g k (INT CONST x, y): replace (atari puffer 4, 1, x); replace (atari puffer 4, 2, y); atari kommando CAT atari puffer 4 END PROC atari g k; PROC atari g e: out (atari kommando) END PROC atari g e; PROC initplot: INT VAR atari d; control (11, channel, 255, atari d); atari g c ("B"); atari g e END PROC initplot; PROC endplot: pause; INT VAR atari d; atari g c ("E"); atari g e; control (11, channel, 25, atari d) END PROC endplot; 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 clear: atari g c("C"); atari g e END PROC clear; PROC home: move to(0,0) END PROC home; PROC moveto (INT CONST x,y): atari g c("M"); atari g k(x,y); atari g e END PROC moveto; PROC drawto (INT CONST x,y): atari g c ("D"); atari g k(x,y); atari g e END PROC drawto; PROC setpixel (INT CONST x,y): atari g c("."); atari g k(x,y); atari g e END PROC setpixel; PROC foreground (INT VAR type): type := 1 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): atari g c("K"); atari g k(x,y); atari g w(rad); atari g w(from); atari g w(to); atari g e 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): END PROC fill;