summaryrefslogtreecommitdiff
path: root/app/mpg/2.2/src/HERCULES XT.GCONF
blob: a77a50eac6933ef65db4522a0a6d82fe494a2f2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
INCLUDE "std primitives"; 
INCLUDE "terminal plot" ; 
 
PLOTTER "HERCULES XT",1,1,720,348,24.5,18.5; 
 
COLORS "000999"; 
 
PROC clear: 
  INT VAR return;
  REP 
     control(-5,512+0,0,return); 
  UNTIL return <> -1 
  PER; 
  IF return <> 0 
    THEN errorstop("Graphik nicht ansprechbar!") 
  FI; 
END PROC clear; 
 
PROC prepare: 
  break(quiet); 
  REP disable stop; 
      continue (channel(plotter)); 
      clear error; 
      enable stop; 
      IF NOT online 
        THEN pause(100) 
      FI 
  UNTIL online PER; 
END PROC prepare; 
 
PROC initplot: 
END PROC initplot; 
 
PROC endplot: 
  INT VAR dummy; 
  pause; 
  control (-5,2,0, dummy); 
END PROC endplot; 
 
PROC home: 
  moveto(0,347); 
END PROC home; 
 
PROC moveto(INT CONST x,y): 
  INT VAR dummy; 
  control (-7,x,(347-y),dummy);            (* move nach SHARD-AT *) 
END PROC moveto; 
 
PROC set pixel(INT CONST x,y): 
  moveto(x,(347-y)); 
  point; 
END PROC set pixel; 
 
PROC drawto(INT CONST x,y): 
  INT VAR dummy; 
  control(-6,x,(347-y),dummy);             (* draw nach SHARD-AT *) 
END PROC drawto; 
 
PROC foreground (INT VAR type): 
  ROW 5 ROW 4 INT CONST nibble :: ROW 5 ROW 4 INT: 
    (ROW 4 INT : ( 4369, 4369, 4369, 4369),     (* durhgezogene Linie *)
     ROW 4 INT : (   17,   17,   17,   17),     (* gepunktete Linie   *) 
     ROW 4 INT : ( 4369,    0, 4369,    0),     (* kurz gestrichelt   *) 
     ROW 4 INT : ( 4369, 4369,    0,    0),     (* lang gestrichelt   *) 
     ROW 4 INT : ( 4369, 4369, 4369,    0));    (* gestrichpunktet    *); 
  INT VAR dummy; 
  IF type > 5 OR type < 0 
    THEN type := 0 
  FI; 
  IF type = 0 
    THEN control( -9, 0, 0, dummy); 
         control(-10, 0, 0, dummy);      (* loeschen *) 
    ELSE control( -9, nibble[type][2], nibble[type][1], dummy); 
         control(-10, nibble[type][4], nibble[type][3], dummy) 
  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): 
   std circle (x,y,rad,from,to)
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;