source: buchla-68k/ram/etres1.c@ ad89950

Last change on this file since ad89950 was 7ecfb7b, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Unused variables and parameters.

  • Property mode set to 100644
File size: 6.8 KB
Line 
1/*
2 =============================================================================
3 etres1.c -- analog variable field handlers
4 Version 16 -- 1988-06-28 -- D.N. Lynx Crowe
5 =============================================================================
6*/
7
8#include "ram.h"
9
10/*
11 =============================================================================
12 et_res1() -- load edit buffer
13 =============================================================================
14*/
15
16int16_t et_res1(int16_t n)
17{
18 ebuf[0] = anrs[n][abs(angroup)-1];
19 ebflag = TRUE;
20 return(SUCCESS);
21}
22
23/*
24 =============================================================================
25 ef_res1() -- parse edit buffer
26 =============================================================================
27*/
28
29int16_t ef_res1(int16_t n)
30{
31 register int16_t ival, grp, vg;
32 register struct s_entry *ep;
33
34 ebflag = FALSE;
35 grp = abs(angroup)-1;
36 ival = ebuf[0] & 0x00FF;
37
38 if ((ival < 3) OR (ival > 8))
39 return(FAILURE);
40
41 anrs[n][grp] = ival;
42
43 if (recsw AND grpstat[grp] AND
44 (2 EQ (ancmsw ? varmode[n][grp] : grpmode[grp]))) {
45
46 vg = ((n << 4) | grp);
47
48 if (E_NULL NE (ep = findev(p_cur, t_cur, EV_ANRS, vg, -1))) {
49
50 ep->e_data2 = ival;
51
52 } else if (E_NULL NE (ep = e_alc(E_SIZE2))) {
53
54 ep->e_type = EV_ANRS;
55 ep->e_data1 = vg;
56 ep->e_data2 = ival;
57 ep->e_time = t_cur;
58 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
59 eh_ins(ep, EH_ANRS);
60 ctrsw = TRUE;
61 se_disp(ep, D_FWD, gdstbc, 1);
62 scupd();
63 }
64 }
65
66 return(SUCCESS);
67}
68
69/*
70 =============================================================================
71 rd_res1() -- (re)display the field
72 =============================================================================
73*/
74
75int16_t rd_res1(int16_t n)
76{
77 register int16_t grp, chr;
78
79 grp = abs(angroup) - 1;
80
81 chr = anrs[n][grp] + '0';
82
83 if (v_regs[5] & 0x0180)
84 vbank(0);
85
86 vputc(obj8, 7, 6 + (n * 9), chr, SDW12ATR);
87
88 return(SUCCESS);
89}
90
91/*
92 =============================================================================
93 nd_res1() -- data entry function
94 =============================================================================
95*/
96
97int16_t nd_res1(int16_t n, int16_t k)
98{
99 (void)n;
100
101 ebuf[0] = k;
102
103 if (v_regs[5] & 0x0180)
104 vbank(0);
105
106 vputc(obj8, 7, stccol, k + '0', SDW12DEA);
107
108 return(SUCCESS);
109}
110
111/*
112 =============================================================================
113 et_aval() -- load edit buffer
114 =============================================================================
115*/
116
117int16_t et_aval(int16_t n)
118{
119 register int16_t val, grp, gs;
120 int16_t val1, val2;
121
122 grp = abs(angroup) - 1;
123 gs = (grp << 4) | var2src[n];
124 val = (valents[gs].val) >> 5;
125
126 if (val < 0 ) {
127
128 ebuf[0] = 8;
129 val = -val;
130
131 } else {
132
133 ebuf[0] = 9;
134 }
135
136 val1 = val / 100;
137 ebuf[4] = (val - (val1 * 100)) / 10;
138 val2 = val1 / 10;
139 ebuf[2] = val1 - (val2 * 10);
140 ebuf[1] = val2;
141
142 ebflag = TRUE;
143
144 return(SUCCESS);
145}
146
147/*
148 =============================================================================
149 ef_res1() -- parse edit buffer
150 =============================================================================
151*/
152
153int16_t ef_aval(int16_t n)
154{
155 register int16_t val, grp, src, vg;
156 register struct s_entry *ep;
157
158 ebflag = FALSE;
159 grp = abs(angroup) - 1;
160 src = var2src[n];
161 val = ((ebuf[1] * 100) + (ebuf[2] * 10) + ebuf[4]) * 10;
162
163 if (val > 1000)
164 return(FAILURE);
165
166 if (ebuf[0] EQ 8)
167 val = -val;
168
169 val = val << 5;
170
171 setsv(grp, src, val);
172
173 if (recsw AND grpstat[grp] AND
174 (2 EQ (ancmsw ? varmode[n][grp] : grpmode[grp]))) {
175
176 vg = (n << 4) | grp;
177
178 if (E_NULL NE (ep = findev(p_cur, t_cur, EV_ANVL, vg, -1))) {
179
180 ep->e_dn = (struct s_entry *)((int32_t)val << 16);
181
182 } else if (E_NULL NE (ep = e_alc(E_SIZE2))) {
183
184 ep->e_type = EV_ANVL;
185 ep->e_data1 = vg;
186 ep->e_dn = (struct s_entry *)((int32_t)val << 16);
187 ep->e_time = t_cur;
188 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
189 ctrsw = TRUE;
190 se_disp(ep, D_FWD, gdstbc, 1);
191 scupd();
192 }
193 }
194
195 return(SUCCESS);
196}
197
198/*
199 =============================================================================
200 rd_aval() -- (re)display the field
201 =============================================================================
202*/
203
204int16_t rd_aval(int16_t n)
205{
206 register int16_t grp, val, gs;
207 int16_t val1, val2;
208 int8_t buf[6];
209
210 grp = abs(angroup) - 1;
211 gs = (grp << 4) | var2src[n];
212 val = (valents[gs].val) >> 5;
213
214 if (val < 0) {
215
216 buf[0] = '-';
217 val = -val;
218
219 } else {
220
221 buf[0] = '+';
222 }
223
224 val1 = val / 100;
225 buf[4] = '0' + ((val - (val1 * 100)) / 10);
226 val2 = val1 / 10;
227 buf[2] = '0' + (val1 - (val2 * 10));
228 buf[1] = '0' + val2;
229 buf[3] = '.';
230 buf[5] = '\0';
231
232 if (v_regs[5] & 0x0180)
233 vbank(0);
234
235 vputs(obj8, 7, 8 + (n * 9), buf, SDW12ATR);
236
237 return(SUCCESS);
238}
239
240/*
241 =============================================================================
242 nd_aval() -- data entry function
243 =============================================================================
244*/
245
246int16_t nd_aval(int16_t n, int16_t k)
247{
248 register int16_t ec;
249
250 (void)n;
251
252 ec = stccol - cfetp->flcol;
253
254 if (ec EQ 3)
255 return(FAILURE);
256
257 ebuf[ec] = k;
258
259 if (ec EQ 0)
260 k = (k EQ 8) ? '-' : '+';
261 else
262 k += '0';
263
264 if (v_regs[5] & 0x0180)
265 vbank(0);
266
267 vputc(obj8, 7, stccol, k, SDW12DEA);
268
269 if (ec EQ 4)
270 return(SUCCESS);
271
272 advscur();
273
274 if (ec EQ 2)
275 advscur();
276
277 return(SUCCESS);
278}
279
280/*
281 =============================================================================
282 et_agrp() -- load edit buffer
283 =============================================================================
284*/
285
286int16_t et_agrp(int16_t n)
287{
288 (void)n;
289
290 sprintf(ebuf, "%02.2d", abs(angroup));
291 ebflag = TRUE;
292 return(SUCCESS);
293}
294
295/*
296 =============================================================================
297 ef_agrp() -- parse edit buffer
298 =============================================================================
299*/
300
301int16_t ef_agrp(int16_t n)
302{
303 register int16_t ival;
304
305 (void)n;
306
307 ebflag = FALSE;
308 ival = (10 * (ebuf[0] - '0')) + (ebuf[1] - '0');
309
310 if ((ival >12) OR (ival < 1))
311 return(FAILURE);
312
313 angroup = sign(angroup, ival);
314
315 ds_anmd();
316 ds_anrs();
317 ds_anvl();
318 return(SUCCESS);
319}
320
321/*
322 =============================================================================
323 rd_agrp() -- (re)display the field
324 =============================================================================
325*/
326
327int16_t rd_agrp(int16_t n)
328{
329 int8_t buf[4];
330
331 (void)n;
332
333 sprintf(buf, "%02.2d", abs(angroup));
334
335 if (v_regs[5] & 0x0180)
336 vbank(0);
337
338 vputs(obj8, 7, 61, buf, SDW12ATR);
339
340 return(SUCCESS);
341}
342
343/*
344 =============================================================================
345 nd_agrp() -- data entry function
346 =============================================================================
347*/
348
349int16_t nd_agrp(int16_t n, int16_t k)
350{
351 register int16_t ec;
352
353 (void)n;
354
355 ec = stccol - cfetp->flcol;
356
357 ebuf[ec] = k + '0';
358
359 if (v_regs[5] & 0x0180)
360 vbank(0);
361
362 vputc(obj8, 7, stccol, k + '0', SDW12DEA);
363 advscur();
364
365 return(SUCCESS);
366}
367
Note: See TracBrowser for help on using the repository browser.