0  BEGIN PGM 411 MM
1  FN 18: SYSREAD Q0 = ID2000 NR10 IDX4158
2  FN 9: IF +Q0 EQU +1 GOTO LBL 254
3  FN 18: SYSREAD Q0 = ID990 NR2 IDX16
4  FN 9: IF +Q0 EQU +0 GOTO LBL 254
5  Q320 = ABS Q320  
6  Q323 = ABS Q323  
7  Q324 = ABS Q324  
8  Q301 = ABS Q301  
9  Q305 = ABS Q305  
10  FN 10: IF +Q109 NE -1 GOTO LBL 100
11  FN 14: ERROR = 1001
12  LBL 100
13  FN 18: SYSREAD Q0 = ID210 NR3
14  FN 9: IF +Q0 EQU +0 GOTO LBL 101
15  FN 14: ERROR = 1008
16  LBL 101
17  FN 18: SYSREAD Q0 = ID210 NR4 IDX1
18  FN 18: SYSREAD Q1 = ID210 NR4 IDX2
19  FN 18: SYSREAD Q2 = ID210 NR4 IDX3
20  Q0 = Q0 + Q1 + Q2  
21  FN 9: IF +Q0 EQU +3 GOTO LBL 102
22  FN 14: ERROR = 1007
23  LBL 102
24  FN 18: SYSREAD Q0 = ID210 NR1
25  FN 18: SYSREAD Q1 = ID210 NR2
26  Q21 = Q0 + Q1  
27  FN 9: IF +Q21 EQU +0 GOTO LBL 103
28  FN 18: SYSREAD Q0 = ID210 NR6
29  FN 10: IF +Q0 NE -1 GOTO LBL 103
30  FN 14: ERROR = 1006
31  LBL 103
32  Q25 = 180 + Q21  
33  Q26 = 270 + Q21  
34  Q27 = 0 + Q21  
35  Q28 = 90 + Q21  
36  FN 17: SYSWRITE ID212 = +3
37  FN 17: SYSWRITE ID990 NR1 = +1
38  FN 17: SYSWRITE ID990 NR2 = +1
39  FN 18: SYSREAD Q3 = ID1000 NR6140
40  FN 18: SYSREAD Q1 = ID1010 NR6200
41  FN 9: IF +Q1 EQU +0 GOTO LBL 13
42  FN 18: SYSREAD Q1 = ID1000 NR6200
43  FN 9: IF +Q1 EQU +1 GOTO LBL 10
44  LBL 13
45  FN 18: SYSREAD Q58 = ID1000 NR6120
46  FN 18: SYSREAD Q59 = ID1000 NR6150
47  FN 18: SYSREAD Q4 = ID350 NR11
48  FN 9: IF +0 EQU +0 GOTO LBL 11
49  LBL 10
50  FN 18: SYSREAD Q58 = ID1000 NR6360
51  FN 18: SYSREAD Q59 = ID1000 NR6361
52  FN 18: SYSREAD Q4 = ID350 NR31
53  LBL 11
54  FN 18: SYSREAD Q0 = ID1000 NR7411
55  ; Q0 = 2 * FRAC (Q0 / 2)  
56  FN 9: IF +Q0 EQU +0 GOTO LBL 14
57  FN 18: SYSREAD Q4 = ID200 NR1
58  Q4 = ABS Q4  
59  LBL 14
60  FN 10: IF +Q0 NE +0 GOTO LBL 15
61  FN 17: SYSWRITE ID990 NR3 = +1
62  LBL 15
63  Q320 = Q320 + Q3 + Q4  
64  Q1 = Q321 - (Q323 / 2) - Q320  
65  Q11 = Q321 + (Q323 / 2) + Q320  
66  Q2 = Q322 - (Q324 / 2) - Q320  
67  Q12 = Q322 + (Q324 / 2) + Q320  
68  FN 12: IF +Q261 LT +Q260 GOTO LBL 130
69  FN 0: Q260 = +Q261
70  FN 0: Q301 = +0
71  LBL 130
72  FN 1: Q0 = +Q109 + +1
73  FN 18: SYSREAD Q0 = ID270 NR1 IDXQ0
74  FN 11: IF +Q0 GT +Q260 GOTO LBL 120
75  L Z+Q260 R0 FQ59
76  LBL 120
77  L X+Q1 Y+Q322 R0 FQ59
78  TCH PROBE 1.0 BEZUGSPUNKT POLAR
79  TCH PROBE 1.1 X WINKEL: +Q27
80  TCH PROBE 1.2 Z+Q261
81  CALL LBL 253
82  FN 0: Q5 = +Q141
83  FN 9: IF +Q301 EQU +0 GOTO LBL 1
84  L Z+Q260 FQ59
85  L X+Q321 Y+Q2 FQ59
86  LBL 1
87  L Y+Q2 FQ59
88  L X+Q321 FQ59
89  TCH PROBE 1.0 BEZUGSPUNKT POLAR
90  TCH PROBE 1.1 X WINKEL: +Q28
91  TCH PROBE 1.2 Z+Q261
92  CALL LBL 253
93  FN 0: Q7 = +Q142
94  FN 9: IF +Q301 EQU +0 GOTO LBL 2
95  L Z+Q260 FQ59
96  L X+Q11 Y+Q322 FQ59
97  LBL 2
98  L X+Q11 FQ59
99  L Y+Q322 FQ59
100  TCH PROBE 1.0 BEZUGSPUNKT POLAR
101  TCH PROBE 1.1 X WINKEL: +Q25
102  TCH PROBE 1.2 Z+Q261
103  CALL LBL 253
104  FN 0: Q6 = +Q141
105  FN 9: IF +Q301 EQU +0 GOTO LBL 3
106  L Z+Q260 FQ59
107  L X+Q321 Y+Q12 FQ59
108  LBL 3
109  L Y+Q12 FQ59
110  L X+Q321 FQ59
111  TCH PROBE 1.0 BEZUGSPUNKT POLAR
112  TCH PROBE 1.1 X WINKEL: +Q26
113  TCH PROBE 1.2 Z+Q261
114  CALL LBL 253
115  FN 0: Q8 = +Q142
116  L Z+Q260 FQ59
117  Q13 = ABS (Q6 - Q5)  
118  Q14 = ABS (Q8 - Q7)  
119  Q9 = Q5 + (Q13 / 2)  
120  Q10 = Q7 + (Q14 / 2)  
121  FN 11: IF +Q305 GT +0 GOTO LBL 4
122  CALL LBL 55
123  FN 9: IF +Q109 EQU +0 GOTO LBL 30
124  FN 9: IF +Q109 EQU +6 GOTO LBL 30
125  FN 9: IF +Q109 EQU +1 GOTO LBL 31
126  FN 9: IF +Q109 EQU +7 GOTO LBL 31
127  FN 9: IF +Q109 EQU +2 GOTO LBL 32
128  FN 9: IF +Q109 EQU +8 GOTO LBL 32
129  LBL 30
130  FN 25: PRESET = Y /+Q9 /+Q22
131  FN 25: PRESET = Z /+Q10 /+Q23
132  FN 9: IF +0 EQU +0 GOTO LBL 199
133  LBL 31
134  FN 25: PRESET = Z /+Q9 /+Q22
135  FN 25: PRESET = X /+Q10 /+Q23
136  FN 9: IF +0 EQU +0 GOTO LBL 199
137  LBL 32
138  FN 25: PRESET = X /+Q9 /+Q22
139  FN 25: PRESET = Y /+Q10 /+Q23
140  FN 9: IF +0 EQU +0 GOTO LBL 199
141  LBL 4
142  CALL LBL 50
143  FN 18: SYSREAD Q4 = ID1000 NR7475
144  FN 9: IF +Q4 EQU +0 GOTO LBL 38
145  Q9 = Q9 + Q29 - Q331  
146  Q10 = Q10 + Q30 - Q332  
147  FN 9: IF +0 EQU +0 GOTO LBL 39
148  LBL 38
149  Q9 = Q9 - Q331  
150  Q10 = Q10 - Q332  
151  LBL 39
152  FN 9: IF +Q109 EQU +0 GOTO LBL 40
153  FN 9: IF +Q109 EQU +6 GOTO LBL 40
154  FN 9: IF +Q109 EQU +1 GOTO LBL 41
155  FN 9: IF +Q109 EQU +7 GOTO LBL 41
156  FN 9: IF +Q109 EQU +2 GOTO LBL 42
157  FN 9: IF +Q109 EQU +8 GOTO LBL 42
158  LBL 40
159  ; FN 17: SYSWRITE ID500 NRQ305 IDX2 = +Q9 
160  ; FN 17: SYSWRITE ID500 NRQ305 IDX3 = +Q10 
161  ; FN 9: IF +0 EQU +0 GOTO LBL 199 
162  ; LBL 41 
163  ; FN 17: SYSWRITE ID500 NRQ305 IDX3 = +Q9 
164  ; FN 17: SYSWRITE ID500 NRQ305 IDX1 = +Q10 
165  ; FN 9: IF +0 EQU +0 GOTO LBL 199 
166  ; LBL 42 
167  ; FN 17: SYSWRITE ID500 NRQ305 IDX1 = +Q9 
168  ; FN 17: SYSWRITE ID500 NRQ305 IDX2 = +Q10 
169  FN 18: SYSREAD Q4 = ID1000 NR7475
170  FN 9: IF +Q4 EQU +0 GOTO LBL 196
171  Q50 = Q261  
172  Q51 = Q9  
173  Q52 = Q10  
174  CALL LBL 110
175  Q2 = 2  
176  CALL LBL 111
177  Q1 = Q4  
178  Q2 = Q3  
179  CALL LBL 112
180  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
181  Q2 = 3  
182  CALL LBL 111
183  Q1 = Q4  
184  Q2 = Q3  
185  CALL LBL 112
186  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
187  FN 9: IF +0 EQU +0 GOTO LBL 199
188  LBL 196
189  FN 17: SYSWRITE ID501 NRQ305 IDX2 = +Q9
190  FN 17: SYSWRITE ID501 NRQ305 IDX3 = +Q10
191  FN 9: IF +0 EQU +0 GOTO LBL 199
192  LBL 41
193  FN 18: SYSREAD Q4 = ID1000 NR7475
194  FN 9: IF +Q4 EQU +0 GOTO LBL 197
195  Q50 = Q10  
196  Q51 = Q261  
197  Q52 = Q9  
198  CALL LBL 110
199  Q2 = 3  
200  CALL LBL 111
201  Q1 = Q4  
202  Q2 = Q3  
203  CALL LBL 112
204  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
205  Q2 = 1  
206  CALL LBL 111
207  Q1 = Q4  
208  Q2 = Q3  
209  CALL LBL 112
210  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
211  FN 9: IF +0 EQU +0 GOTO LBL 199
212  LBL 197
213  FN 17: SYSWRITE ID501 NRQ305 IDX3 = +Q9
214  FN 17: SYSWRITE ID501 NRQ305 IDX1 = +Q10
215  FN 9: IF +0 EQU +0 GOTO LBL 199
216  LBL 42
217  FN 18: SYSREAD Q4 = ID1000 NR7475
218  FN 9: IF +Q4 EQU +0 GOTO LBL 198
219  Q50 = Q9  
220  Q51 = Q10  
221  Q52 = Q261  
222  CALL LBL 110
223  Q2 = 1  
224  CALL LBL 111
225  Q1 = Q4  
226  Q2 = Q3  
227  CALL LBL 112
228  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
229  Q2 = 2  
230  CALL LBL 111
231  Q1 = Q4  
232  Q2 = Q3  
233  CALL LBL 112
234  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
235  FN 9: IF +0 EQU +0 GOTO LBL 199
236  LBL 198
237  FN 17: SYSWRITE ID501 NRQ305 IDX1 = +Q9
238  FN 17: SYSWRITE ID501 NRQ305 IDX2 = +Q10
239  LBL 199
240  FN 17: SYSWRITE ID990 NR1 = +0
241  FN 17: SYSWRITE ID990 NR2 = +0
242  FN 9: IF +0 EQU +0 GOTO LBL 254
243  LBL 50
244  Q22 = (Q31 * COS Q21) + (Q32 * SIN Q21)  
245  Q23 = -(Q31 * SIN Q21) + (Q32 * COS Q21)  
246  Q9 = Q9 + Q22  
247  Q10 = Q10 + Q23  
248  LBL 0
249  LBL 55
250  Q22 = (Q331 * COS -Q21) + (Q332 * SIN -Q21)  
251  Q23 = -(Q331 * SIN -Q21) + (Q332 * COS -Q21)  
252  Q33 = (Q9 * COS -Q21) + (Q10 * SIN -Q21)  
253  Q34 = -(Q9 * SIN -Q21) + (Q10 * COS -Q21)  
254  Q9 = Q33  
255  Q10 = Q34  
256  LBL 0
257  LBL 110
258  FN 17: SYSWRITE ID990 NR5 IDX4 = +50
259  LBL 0
260  LBL 111
261  Q5 = Q2 - 1  
262  FN 17: SYSWRITE ID990 NR5 IDX5 = +5
263  FN 9: IF +Q6 EQU +0 GOTO LBL 113
264  FN 9: IF +Q6 EQU +1 GOTO LBL 114
265  FN 9: IF +Q6 EQU +2 GOTO LBL 115
266  FN 14: ERROR = 1013
267  LBL 113
268  Q3 = Q6 + 1  
269  Q4 = Q53  
270  FN 9: IF +0 EQU +0 GOTO LBL 116
271  LBL 114
272  Q3 = Q6 + 1  
273  Q4 = Q54  
274  FN 9: IF +0 EQU +0 GOTO LBL 116
275  LBL 115
276  Q3 = Q6 + 1  
277  Q4 = Q55  
278  LBL 116
279  LBL 0
280  LBL 112
281  FN 18: SYSREAD Q25 = ID220 NR3 IDXQ2
282  ;FN 18: SYSREAD Q26 = ID220 NR4 IDXQ2
283  Q1 = Q1 - Q25
284  LBL 0
285  LBL 253
286  FN 9: IF +Q109 EQU +0 GOTO LBL 230
287  FN 9: IF +Q109 EQU +6 GOTO LBL 230
288  FN 9: IF +Q109 EQU +1 GOTO LBL 231
289  FN 9: IF +Q109 EQU +7 GOTO LBL 231
290  FN 9: IF +Q109 EQU +2 GOTO LBL 232
291  FN 9: IF +Q109 EQU +8 GOTO LBL 232
292  LBL 230
293  FN 0: Q141 = +Q115
294  FN 0: Q142 = +Q116
295  FN 0: Q143 = +Q117
296  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
297  FN 0: Q141 = +Q145
298  FN 0: Q142 = +Q146
299  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
300  FN 0: Q141 = +Q143
301  FN 0: Q142 = +Q144
302  FN 18: SYSREAD Q29 = ID220 NR4 IDX2
303  FN 18: SYSREAD Q30 = ID220 NR4 IDX3
304  FN 18: SYSREAD Q31 = ID220 NR2 IDX2
305  FN 18: SYSREAD Q32 = ID220 NR2 IDX3
306  FN 9: IF +0 EQU +0 GOTO LBL 233
307  LBL 231
308  FN 0: Q141 = +Q115
309  FN 0: Q142 = +Q116
310  FN 0: Q143 = +Q117
311  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
312  FN 0: Q141 = +Q146
313  FN 0: Q142 = +Q144
314  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
315  FN 0: Q141 = +Q143
316  FN 0: Q142 = +Q144
317  FN 18: SYSREAD Q29 = ID220 NR4 IDX3
318  FN 18: SYSREAD Q30 = ID220 NR4 IDX1
319  FN 18: SYSREAD Q31 = ID220 NR2 IDX3
320  FN 18: SYSREAD Q32 = ID220 NR2 IDX1
321  FN 9: IF +0 EQU +0 GOTO LBL 233
322  LBL 232
323  FN 0: Q141 = +Q115
324  FN 0: Q142 = +Q116
325  FN 0: Q143 = +Q117
326  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
327  FN 0: Q141 = +Q144
328  FN 0: Q142 = +Q145
329  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
330  FN 0: Q141 = +Q143
331  FN 0: Q142 = +Q144
332  FN 18: SYSREAD Q29 = ID220 NR4 IDX1
333  FN 18: SYSREAD Q30 = ID220 NR4 IDX2
334  FN 18: SYSREAD Q31 = ID220 NR2 IDX1
335  FN 18: SYSREAD Q32 = ID220 NR2 IDX2
336  LBL 233
337  LBL 0
338  LBL 254
339  END PGM 411 MM
