source: buchla-68k/ram/etdyn.c@ 6262b5c

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

Added include files for global functions and variables.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1/*
2 =============================================================================
3 etdyn.c -- dynamics field handlers
4 Version 8 -- 1988-06-08 -- D.N. Lynx Crowe
5 =============================================================================
6*/
7
8#include "all.h"
9
10extern void advscur(void);
11extern void scupd(void);
12extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
13extern void setdyn(int16_t grp, int16_t dyn);
14
15extern uint16_t *obj8;
16
17extern int16_t ctrsw, recsw, stccol;
18
19extern int16_t grpdyn[], grpmode[], grpstat[];
20
21extern struct gdsel *gdstbc[];
22
23/*
24 =============================================================================
25 et_dyn() -- load edit buffer
26 =============================================================================
27*/
28
29int16_t et_dyn(int16_t n)
30{
31 ebuf[0] =grpdyn[n] + '0';
32 ebuf[1] = '\0';
33 ebflag = TRUE;
34 return(SUCCESS);
35}
36
37/*
38
39*/
40
41/*
42 =============================================================================
43 ef_dyn() -- parse edit buffer
44 =============================================================================
45*/
46
47int16_t ef_dyn(int16_t n)
48{
49 register int16_t ival;
50 register struct s_entry *ep;
51
52 ebuf[1] = '\0';
53 ival = ebuf[0] - '0';
54 ebflag = FALSE;
55
56 setdyn(n, ival);
57
58 if (recsw AND grpmode[n] AND (2 EQ grpmode[n])) {
59
60 if (E_NULL NE (ep = findev(p_cur, t_cur, EV_DYN, n, -1))) {
61
62 ep->e_data2 = ival;
63
64 } else if (E_NULL NE (ep = e_alc(E_SIZE2))) {
65
66 ep->e_type = EV_DYN;
67 ep->e_data1 = n;
68 ep->e_data2 = ival;
69 ep->e_time = t_cur;
70 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
71 eh_ins(ep, EH_DYN);
72 ctrsw = TRUE;
73 se_disp(ep, D_FWD, gdstbc, 1);
74 scupd();
75 }
76 }
77
78 return(SUCCESS);
79}
80
81/*
82
83*/
84
85/*
86 =============================================================================
87 rd_dyn() -- (re)display the field
88 =============================================================================
89*/
90
91int16_t rd_dyn(int16_t n)
92{
93 if (v_regs[5] & 0x0180)
94 vbank(0);
95
96 vputc(obj8, 4, 6+(n*5), (grpdyn[n] + '0'), SDW11ATR);
97
98 return(SUCCESS);
99}
100
101/*
102 =============================================================================
103 ds_dyn() -- display all dynamics to group assignments
104 =============================================================================
105*/
106
107void ds_dyn(void)
108{
109 register int16_t i;
110
111 for (i = 0; i < 12; i++)
112 rd_dyn(i);
113}
114
115/*
116
117*/
118
119/*
120 =============================================================================
121 nd_dyn() -- data entry function
122 =============================================================================
123*/
124
125int16_t nd_dyn(int16_t n, int16_t k)
126{
127 ebuf[0] = k + '0';
128
129 if (v_regs[5] & 0x0180)
130 vbank(0);
131
132 vputc(obj8, 4, stccol, k + '0', SDW11DEA);
133 advscur();
134
135 return(SUCCESS);
136}
137
Note: See TracBrowser for help on using the repository browser.