source: buchla-68k/orig/RAM/ETSTRN.C@ b8080f6

Last change on this file since b8080f6 was 3ae31e9, checked in by Thomas Lopatic <thomas@…>, 8 years ago

Imported original source code.

  • Property mode set to 100755
File size: 2.6 KB
Line 
1/*
2 =============================================================================
3 etstrn.c -- section edit group transposition field handlers
4 Version 3 -- 1989-11-14 -- D.N. Lynx Crowe
5 =============================================================================
6*/
7
8#include "fields.h"
9#include "hwdefs.h"
10#include "graphdef.h"
11#include "vsdd.h"
12#include "vsddsw.h"
13#include "stddefs.h"
14#include "score.h"
15#include "macros.h"
16
17#include "midas.h"
18#include "scdsp.h"
19
20extern unsigned *obj8;
21
22extern short grptran;
23extern short sdmctl;
24extern short vtccol;
25extern short vtcrow;
26extern short vtxval;
27extern short vtyval;
28
29extern char dspbuf[];
30
31/*
32 =============================================================================
33 et_strn() -- load edit buffer
34 =============================================================================
35*/
36
37short
38et_strn()
39{
40 sprintf(ebuf, "%c%02d", grptran < 0 ? '-' : '+', abs(grptran));
41
42 ebflag = TRUE;
43
44 return(SUCCESS);
45}
46
47/*
48
49*/
50
51/*
52 =============================================================================
53 ef_strn() -- parse edit buffer
54 =============================================================================
55*/
56
57short
58ef_strn()
59{
60 register short ival;
61
62 ebuf[3] = '\0';
63 ival = ((ebuf[1] - '0') * 10) + (ebuf[2] - '0');
64
65 ebflag = FALSE;
66
67 if ((ival NE 0) AND (ebuf[0] EQ '-'))
68 ival = -ival;
69
70 grptran = ival;
71
72 return(SUCCESS);
73}
74
75/*
76 =============================================================================
77 rd_strn() -- redisplay field
78 =============================================================================
79*/
80
81short
82rd_strn()
83{
84 sprintf(dspbuf, "%c%02d", grptran < 0 ? '-' : '+', abs(grptran));
85
86 if (v_regs[5] & 0x0180)
87 vbank(0);
88
89 vputs(obj8, 7, 22, dspbuf, SDMENUBG);
90
91 return(SUCCESS);
92}
93
94/*
95
96*/
97
98/*
99 =============================================================================
100 nd_strn() -- data entry
101 =============================================================================
102*/
103
104short
105nd_strn(n, k)
106short n, k;
107{
108 register short ec;
109
110 if (sdmctl NE 4)
111 return(FAILURE);
112
113 if ((vtccol GE 22) AND (vtccol LE 24))
114 ec = vtccol - 22;
115 else
116 return(FAILURE);
117
118 if (ec EQ 0) {
119
120 if (k EQ 8)
121 k = '-';
122 else if (k EQ 9)
123 k = '+';
124 else
125 return(FAILURE);
126 } else
127 k += '0';
128
129 ebuf[ec] = k;
130
131 if (v_regs[5] & 0x0180)
132 vbank(0);
133
134 vputc(obj8, 7, vtccol, k, (SDBGMM | (SD_ENTR << 4)));
135
136 if (vtccol < 24) {
137
138 ++vtccol;
139 vtxval = CTOX(vtccol);
140 ttcpos(vtcrow, vtccol);
141 }
142
143 return(SUCCESS);
144}
Note: See TracBrowser for help on using the repository browser.