First commit
[asteroids.git] / VECAN.XX
1         .RADIX 10\r
2         .SBTTL ******************************\r
3         .SBTTL *\r
4         .SBTTL * PROGRAMMER: ED LOGG\r
5         .SBTTL *\r
6         .SBTTL ******************************\r
7         .SBTTL VECAN - ALPHA-NUMERIC VECTOR SUBROUTINES\r
8 ;\r
9 ;DATE INITIATED:        9-SEPT-78\r
10 ;\r
11 ;PROJECT CHARGE #:      6W000\r
12 ;\r
13 ;DISK #:                96\r
14 ;\r
15 ;HARDWARE REQUIREMENTS: LYLE RAIN'S VECTOR GENERATOR\r
16 ;\r
17 ;MEMORY REQUIREMENTS:   NOT APPLICABLE-SUBROUTINE\r
18 ;\r
19 ;INTERRUPT REQUIREMENTS:\r
20 ;                       NOT APPLICABLE-SUBROUTINE\r
21 ;\r
22 ;ASSEMBLY COMMAND STRING:\r
23 ;                       NOT APPLICABLE-SUBROUTINE\r
24 ;                       (NEEDS VECMAC MACRO RTSL)\r
25 ;\r
26 ;LINK COMMAND STRING:\r
27 ;                       NOT APPLICABLE-SUBROUTINE\r
28 ;\r
29 ;PROGRAM DESCRIPTION:   THIS PROGRAM PROVIDES ALL THE GLOBAL ENTRY POINTS\r
30 ;                       NEEDED BY THE VECTOR UTILITY PROGRAM VECUT.MAC.\r
31 ;                       THIS ROUTINE CAN BE CALLED BY GENERATING A JSRL\r
32 ;                       DYNAMICALLY OR STATICALLY BY USING THE ALPHA MACRO.\r
33 \f       .IIF NDF,.BRITE,.BRITE=7        ;DEFINE DEFAULT BRIGHTNESS (0-F)\r
34                 \r
35         \r
36         .MACRO SVCTR X,Y,Z      ;SCALE BY SIZE\r
37         ..1=X/2\r
38         ..2=Y/2\r
39         ..3=0\r
40         ..4=Z*^H10+^H0F000\r
41         .IF LT,X\r
42         ..1=-..1\r
43         ..4=..4+4\r
44         .ENDC\r
45         .IF LT,Y\r
46         ..2=-..2\r
47         ..4=..4+^H400\r
48         .ENDC\r
49         .IF GE,<..1!..2>-4\r
50         ..1=..1/2\r
51         ..2=..2/2\r
52         ..3=1\r
53         .ENDC\r
54         ..4=..4+..1+<..2*^H100>\r
55         .WORD ..4+<..3&1*^H800>+<..3&2*4>\r
56         .ENDM\r
57 \r
58         \r
59 CHAR.A: SVCTR 0,8,.BRITE\r
60         SVCTR 4,4,.BRITE\r
61         SVCTR 4,-4,.BRITE\r
62         SVCTR 0,-8,.BRITE\r
63         SVCTR -8,4,0\r
64         SVCTR 8,0,.BRITE\r
65         SVCTR 4,-4,0\r
66         RTSL\r
67         \r
68 CHAR.B: SVCTR 0,12,.BRITE\r
69         SVCTR 6,0,.BRITE\r
70         SVCTR 2,-2,.BRITE-1             ;THESE VECTORS ARE BRIGHTER THAN THE OTHERS\r
71         SVCTR 0,-2,.BRITE-1\r
72         SVCTR -2,-2,.BRITE-1\r
73         SVCTR -6,0,.BRITE\r
74         SVCTR 6,0,0\r
75         SVCTR 2,-2,.BRITE-1\r
76         SVCTR 0,-2,.BRITE-1\r
77         SVCTR -2,-2,.BRITE-1\r
78         SVCTR -6,0,.BRITE\r
79         SVCTR 12,0,0\r
80         RTSL\r
81         \r
82 CHAR.C: SVCTR 0,12,.BRITE\r
83         SVCTR 8,0,.BRITE\r
84         SVCTR -8,-12,0\r
85         SVCTR 8,0,.BRITE\r
86         SVCTR 4,0,0\r
87         RTSL\r
88         \r
89 CHAR.D: SVCTR 0,12,.BRITE\r
90         SVCTR 4,0,.BRITE\r
91         SVCTR 4,-4,.BRITE\r
92         SVCTR 0,-4,.BRITE\r
93         SVCTR -4,-4,.BRITE\r
94         SVCTR -4,0,.BRITE\r
95         SVCTR 12,0,0\r
96         RTSL\r
97         \r
98 CHAR.E: SVCTR 0,12,.BRITE\r
99         SVCTR 8,0,.BRITE\r
100         SVCTR -2,-6,0\r
101         SVCTR -6,0,.BRITE\r
102         SVCTR 0,-6,0\r
103         SVCTR 8,0,.BRITE\r
104         SVCTR 4,0,0\r
105         RTSL\r
106         \r
107 CHAR.F: SVCTR 0,12,.BRITE\r
108         SVCTR 8,0,.BRITE\r
109         SVCTR -2,-6,0\r
110         SVCTR -6,0,.BRITE\r
111         SVCTR 0,-6,0\r
112         SVCTR 12,0,0\r
113         RTSL\r
114         \r
115 CHAR.G: SVCTR 0,12,.BRITE\r
116         SVCTR 8,0,.BRITE\r
117         SVCTR 0,-4,.BRITE\r
118         SVCTR -4,-4,0\r
119         SVCTR 4,0,.BRITE\r
120         SVCTR 0,-4,.BRITE\r
121         SVCTR -8,0,.BRITE\r
122         SVCTR 12,0,0\r
123         RTSL\r
124         \r
125 CHAR.H: SVCTR 0,12,.BRITE\r
126         SVCTR 0,-6,0\r
127         SVCTR 8,0,.BRITE\r
128         SVCTR 0,6,0\r
129         SVCTR 0,-12,.BRITE\r
130         SVCTR 4,0,0\r
131         RTSL\r
132         \r
133 CHAR.I: SVCTR 8,0,.BRITE\r
134         SVCTR -4,0,0\r
135         SVCTR 0,12,.BRITE\r
136         SVCTR 4,0,0\r
137         SVCTR -8,0,.BRITE\r
138         SVCTR 12,-12,0\r
139         RTSL\r
140         \r
141 CHAR.J: SVCTR 0,4,0\r
142         SVCTR 4,-4,.BRITE\r
143         SVCTR 4,0,.BRITE\r
144         SVCTR 0,12,.BRITE\r
145         SVCTR 4,-12,0\r
146         RTSL\r
147         \r
148 CHAR.K: SVCTR 0,12,.BRITE\r
149         SVCTR 6,0,0\r
150         SVCTR -6,-6,.BRITE\r
151         SVCTR 6,-6,.BRITE\r
152         SVCTR 6,0,0\r
153         RTSL\r
154         \r
155 CHAR.L: SVCTR 0,12,0\r
156         SVCTR 0,-12,.BRITE\r
157         SVCTR 8,0,.BRITE\r
158         SVCTR 4,0,0\r
159         RTSL\r
160         \r
161 CHAR.M: SVCTR 0,12,.BRITE\r
162         SVCTR 4,-4,.BRITE\r
163         SVCTR 4,4,.BRITE\r
164         SVCTR 0,-12,.BRITE\r
165         SVCTR 4,0,0\r
166         RTSL\r
167         \r
168 CHAR.N: SVCTR 0,12,.BRITE\r
169         SVCTR 8,-12,.BRITE\r
170         SVCTR 0,12,.BRITE\r
171         SVCTR 4,-12,0\r
172         RTSL\r
173         \r
174 CHAR.O: SVCTR 0,12,.BRITE\r
175         SVCTR 8,0,.BRITE\r
176         SVCTR 0,-12,.BRITE\r
177         SVCTR -8,0,.BRITE\r
178         SVCTR 12,0,0\r
179         RTSL\r
180         \r
181 CHAR.P: SVCTR 0,12,.BRITE\r
182         SVCTR 8,0,.BRITE\r
183         SVCTR 0,-6,.BRITE\r
184         SVCTR -8,0,.BRITE\r
185         SVCTR 6,-6,0\r
186         SVCTR 6,0,0\r
187         RTSL\r
188         \r
189 CHAR.Q: SVCTR 0,12,.BRITE\r
190         SVCTR 8,0,.BRITE\r
191         SVCTR 0,-8,.BRITE\r
192         SVCTR -4,-4,.BRITE\r
193         SVCTR -4,0,.BRITE\r
194         SVCTR 4,4,0\r
195         SVCTR 4,-4,.BRITE\r
196         SVCTR 4,0,0\r
197         RTSL\r
198         \r
199 CHAR.R: SVCTR 0,12,.BRITE\r
200         SVCTR 8,0,.BRITE\r
201         SVCTR 0,-6,.BRITE\r
202         SVCTR -8,0,.BRITE\r
203         SVCTR 2,0,0\r
204         SVCTR 6,-6,.BRITE\r
205         SVCTR 4,0,0\r
206         RTSL\r
207         \r
208 CHAR.S: SVCTR 8,0,.BRITE\r
209         SVCTR 0,6,.BRITE\r
210         SVCTR -8,0,.BRITE\r
211         SVCTR 0,6,.BRITE\r
212         SVCTR 8,0,.BRITE\r
213         SVCTR 4,-12,0\r
214         RTSL\r
215         \r
216 CHAR.T: SVCTR 4,0,0\r
217         SVCTR 0,12,.BRITE\r
218         SVCTR -4,0,0\r
219         SVCTR 8,0,.BRITE\r
220         SVCTR 4,-12,0\r
221         RTSL\r
222         \r
223 CHAR.U: SVCTR 0,12,0\r
224         SVCTR 0,-12,.BRITE\r
225         SVCTR 8,0,.BRITE\r
226         SVCTR 0,12,.BRITE\r
227         SVCTR 4,-12,0\r
228         RTSL\r
229         \r
230 CHAR.V: SVCTR 0,12,0\r
231         SVCTR 4,-12,.BRITE\r
232         SVCTR 4,12,.BRITE\r
233         SVCTR 4,-12,0\r
234         RTSL\r
235         \r
236 CHAR.W: SVCTR 0,12,0\r
237         SVCTR 0,-12,.BRITE\r
238         SVCTR 4,4,.BRITE\r
239         SVCTR 4,-4,.BRITE\r
240         SVCTR 0,12,.BRITE\r
241         SVCTR 4,-12,0\r
242         RTSL\r
243         \r
244 CHAR.X: SVCTR 8,12,.BRITE\r
245         SVCTR -8,0,0\r
246         SVCTR 8,-12,.BRITE\r
247         SVCTR 4,0,0\r
248         RTSL\r
249         \r
250 CHAR.Y: SVCTR 4,0,0\r
251         SVCTR 0,8,.BRITE\r
252         SVCTR -4,4,.BRITE\r
253         SVCTR 8,0,0\r
254         SVCTR -4,-4,.BRITE\r
255         SVCTR 8,-8,0\r
256         RTSL\r
257         \r
258 CHAR.Z: SVCTR 0,12,0\r
259         SVCTR 8,0,.BRITE\r
260         SVCTR -8,-12,.BRITE\r
261         SVCTR 8,0,.BRITE\r
262         SVCTR 4,0,0\r
263         RTSL\r
264         \r
265 CHAR.:  SVCTR 12,0,0\r
266         RTSL\r
267         \r
268 CHAR.0  =CHAR.O\r
269         \r
270 CHAR.1: SVCTR 4,0,0\r
271         SVCTR 0,12,.BRITE\r
272         SVCTR 8,-12,0\r
273         RTSL\r
274         \r
275 CHAR.2: SVCTR 0,12,0\r
276         SVCTR 8,0,.BRITE\r
277         SVCTR 0,-6,.BRITE\r
278         SVCTR -8,0,.BRITE\r
279         SVCTR 0,-6,.BRITE\r
280         SVCTR 8,0,.BRITE\r
281         SVCTR 4,0,0\r
282         RTSL\r
283         \r
284 CHAR.3: SVCTR 8,0,.BRITE\r
285         SVCTR 0,12,.BRITE\r
286         SVCTR -8,0,.BRITE\r
287         SVCTR 0,-6,0\r
288         SVCTR 8,0,.BRITE\r
289         SVCTR 4,-6,0\r
290         RTSL\r
291         \r
292 CHAR.4: SVCTR 0,12,0\r
293         SVCTR 0,-6,.BRITE\r
294         SVCTR 8,0,.BRITE\r
295         SVCTR 0,6,0\r
296         SVCTR 0,-12,.BRITE\r
297         SVCTR 4,0,0\r
298         RTSL\r
299         \r
300 CHAR.5: SVCTR 8,0,.BRITE\r
301         SVCTR 0,6,.BRITE\r
302         SVCTR -8,0,.BRITE\r
303         SVCTR 0,6,.BRITE\r
304         SVCTR 8,0,.BRITE\r
305         SVCTR 4,-12,0\r
306         RTSL\r
307         \r
308 CHAR.6: SVCTR 0,6,0\r
309         SVCTR 8,0,.BRITE\r
310         SVCTR 0,-6,.BRITE\r
311         SVCTR -8,0,.BRITE\r
312         SVCTR 0,12,.BRITE\r
313         SVCTR 12,-12,0\r
314         RTSL\r
315         \r
316 CHAR.7: SVCTR 0,12,0\r
317         SVCTR 8,0,.BRITE\r
318         SVCTR 0,-12,.BRITE\r
319         SVCTR 4,0,0\r
320         RTSL\r
321         \r
322 CHAR.8: SVCTR 8,0,.BRITE\r
323         SVCTR 0,12,.BRITE\r
324         SVCTR -8,0,.BRITE\r
325         SVCTR 0,-12,.BRITE\r
326         SVCTR 0,6,0\r
327         SVCTR 8,0,.BRITE\r
328         SVCTR 4,-6,0\r
329         RTSL\r
330         \r
331 CHAR.9: SVCTR 8,0,0\r
332         SVCTR 0,12,.BRITE\r
333         SVCTR -8,0,.BRITE\r
334         SVCTR 0,-6,.BRITE\r
335         SVCTR 8,0,.BRITE\r
336         SVCTR 4,-6,0\r
337         RTSL\r
338 \r
339         .GLOBL  VGMSGA\r
340 VGMSGA: JSRL    CHAR.           ;ADDRESS OF LETTER ROUTINES\r
341         JSRL    CHAR.0\r
342         JSRL    CHAR.1\r
343         JSRL    CHAR.2\r
344         JSRL    CHAR.3\r
345         JSRL    CHAR.4\r
346         JSRL    CHAR.5\r
347         JSRL    CHAR.6\r
348         JSRL    CHAR.7\r
349         JSRL    CHAR.8\r
350         JSRL    CHAR.9\r
351         JSRL    CHAR.A\r
352         JSRL    CHAR.B\r
353         JSRL    CHAR.C\r
354         JSRL    CHAR.D\r
355         JSRL    CHAR.E\r
356         JSRL    CHAR.F\r
357         JSRL    CHAR.G\r
358         JSRL    CHAR.H\r
359         JSRL    CHAR.I\r
360         JSRL    CHAR.J\r
361         JSRL    CHAR.K\r
362         JSRL    CHAR.L\r
363         JSRL    CHAR.M\r
364         JSRL    CHAR.N\r
365         JSRL    CHAR.O\r
366         JSRL    CHAR.P\r
367         JSRL    CHAR.Q\r
368         JSRL    CHAR.R\r
369         JSRL    CHAR.S\r
370         JSRL    CHAR.T\r
371         JSRL    CHAR.U\r
372         JSRL    CHAR.V\r
373         JSRL    CHAR.W\r
374         JSRL    CHAR.X\r
375         JSRL    CHAR.Y\r
376         JSRL    CHAR.Z\r
377         \r
378 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0