source: buchla-68k/ram/etagch.c@ b28a12e

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

Zero redundant declarations.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 =============================================================================
3 etagch.c -- assignment editor - group to channel number field handlers
4 Version 6 -- 1987-12-10 -- D.N. Lynx Crowe
5 =============================================================================
6*/
7
8#include "ram.h"
9
10/*
11 =============================================================================
12 et_agch() -- load the edit buffer
13 =============================================================================
14*/
15
16int16_t et_agch(int16_t n)
17{
18 register int16_t grp;
19
20 int8_t buf[4];
21
22 grp = 0x00FF & (n >> 8);
23
24 numblk(ebuf, grp2prt[grp][1]);
25 ebflag = TRUE;
26
27 return(SUCCESS);
28}
29
30/*
31 =============================================================================
32 ef_agch() -- parse (unload) the edit buffer
33 =============================================================================
34*/
35
36int16_t ef_agch(int16_t n)
37{
38 register int16_t tmpval, grp, i;
39
40 grp = 0x00FF & (n >> 8);
41
42 ebuf[2] = '\0'; /* terminate the string in ebuf */
43 ebflag = FALSE;
44 tmpval = 0;
45
46 if ((ebuf[0] EQ ' ') AND (ebuf[1] EQ ' ')) {
47
48 tmpval = -1;
49
50 } else {
51
52 for (i = 0; i < 2; i++) {
53
54 if (ebuf[i] EQ ' ')
55 ebuf[i] = '0';
56
57 tmpval = (tmpval * 10) + (ebuf[i] - '0');
58 }
59
60 if ((tmpval EQ 0) OR (tmpval GT 16))
61 return(FAILURE);
62 }
63
64 grp2prt[grp][1] = tmpval;
65
66 modasg();
67 return(SUCCESS);
68}
69
70/*
71
72*/
73
74/*
75 =============================================================================
76 rd_agch() -- (re)display the field
77 =============================================================================
78*/
79
80int16_t rd_agch(int16_t nn)
81{
82 register int16_t n, grp;
83 int8_t buf[4];
84
85 n = 0x00FF & nn;
86 grp = 0x00FF & (nn >> 8);
87
88 vbank(0);
89 vcputsv(asgob, 64, adbox[n][4], adbox[n][5],
90 cfetp->frow, cfetp->flcol, numblk(buf, grp2prt[grp][1]), 14);
91
92 return(SUCCESS);
93}
94
95/*
96 =============================================================================
97 nd_agch() -- handle new data entry
98 =============================================================================
99*/
100
101int16_t nd_agch(int16_t nn, int16_t k)
102{
103 register int16_t n;
104
105 n = nn & 0xFF;
106 ebuf[stccol - cfetp->flcol] = k + '0';
107 ebuf[2] = '\0';
108
109 dspbuf[0] = k + '0';
110 dspbuf[1] = '\0';
111
112 vbank(0);
113 vcputsv(asgob, 64, AK_ENTRY, adbox[n][5],
114 stcrow, stccol, dspbuf, 14);
115
116 advacur();
117 return(SUCCESS);
118}
119
120
Note: See TracBrowser for help on using the repository browser.