source: buchla-68k/orig/DOC/SEQEXEC.TXT

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

Imported original source code.

  • Property mode set to 100755
File size: 3.4 KB
Line 
1Sequencer extensions to MIDAS-VII Rev 2 1988-11-07
2--------------------------------- ----- ----------
3
4
5struct seqent { /* sequence table entry -- 14 bytes per entry */
6
7 unsigned short seqtime; /* time */
8 unsigned short seqact1; /* action 1 */
9 unsigned short seqdat1; /* action 1 data */
10 unsigned short seqact2; /* action 2 */
11 unsigned short seqdat2; /* action 2 data */
12 unsigned short seqact3; /* action 3 */
13 unsigned short seqdat3; /* action 3 data */
14};
15
16#define NSLINES 1000 /* sequence table size */
17
18#define SQ_MACT 0x00FF /* action mask */
19#define SQ_MOBJ 0xFF00 /* object mask */
20#define SQ_MTYP 0xFF00 /* data type mask */
21#define SQ_MVAL 0x00FF /* data value mask */
22
23#define SQ_CKEY 0x0001 /* Key closure */
24#define SQ_RKEY 0x0002 /* Key release */
25#define SQ_TKEY 0x0003 /* Key transient */
26#define SQ_IKEY 0x0004 /* If key active*/
27
28#define SQ_STRG 0x0005 /* Trigger on */
29#define SQ_CTRG 0x0006 /* Trigger off */
30#define SQ_TTRG 0x0007 /* Trigger toggle */
31#define SQ_ITRG 0x0008 /* If trigger active */
32
33#define SQ_SREG 0x0009 /* Set register */
34#define SQ_IREQ 0x000A /* If register = */
35#define SQ_IRLT 0x000B /* If register < */
36#define SQ_IRGT 0x000C /* If register > */
37
38#define SQ_ISTM 0x000D /* If stimulus */
39#define SQ_JUMP 0x000E /* Jump to */
40#define SQ_STOP 0x000F /* Stop */
41
42#define SQ_REG 0x0000 /* register */
43#define SQ_VAL 0x0100 /* value */
44#define SQ_VLT 0x0200 /* voltage */
45#define SQ_RND 0x0300 /* random */
46
47
48Kc nnn n nn SQ_CKEY 0x0001
49
50 action SQ_CKEY Key closure
51 data key number (port, channel, key)
52
53
54Kr nnn n nn SQ_RKEY 0x0002
55
56 action SQ_RKEY Key release
57 data key number (port, channel, key)
58
59
60Kt nnn n nn SQ_TKEY 0x0003
61
62 action SQ_TKEY Key transient (closure / release)
63 data key number (port, channel, key)
64
65
66If nnn n nn SQ_IKEY 0x0004
67
68 action SQ_IKEY If key active
69 data key number (port, channel, key)
70
71
72Trig on nn SQ_STRG 0x0005
73
74 action SQ_STRG Trigger on
75 data trigger number
76
77
78Trig off nn SQ_CTRG 0x0006
79
80 action SQ_CTRG Trigger off
81 data trigger number
82
83
84Trig tgl nn SQ_TTRG 0x0007
85
86 action SQ_TTRG Toggle trigger (opposite state)
87 data trigger number
88
89
90If trig nn SQ_ITRG 0x0008
91
92 action SQ_ITRG If trigger active
93 data trigger number
94
95
96
97Set Rnn=xxx SQ_SREG 0x0009
98
99 action SQ_SREG Set register value
100 SQ_MOBJ register number
101
102 data
103 Rnn SQ_REG register number
104 nn SQ_VAL value
105 Vn SQ_VLT voltage port
106 ?n SQ_RND scale
107
108
109If Rnn=xxx SQ_IREQ 0x000A
110
111 action SQ_IREQ Compare register -- equal to
112 SQ_MOBJ register number
113
114 data
115 Rnn SQ_REG register number
116 nn SQ_VAL value
117 Vn SQ_VLT voltage port
118 ?n SQ_RND scale
119
120
121If Rnn<xxx SQ_IRLT 0x000B
122
123 action SQ_IRLT Compare register -- less than
124 SQ_MOBJ register number
125
126 data
127 Rnn SQ_REG register number
128 nn SQ_VAL value
129 Vn SQ_VLT voltage port
130 ?n SQ_RND scale
131
132
133If Rnn>xxx SQ_IRGT 0x000C
134
135 action SQ_IRGT Compare register -- greater than
136 SQ_MOBJ register number
137
138 data
139 Rnn SQ_REG register number
140 nn SQ_VAL value
141 Vn SQ_VLT voltage port
142 ?n SQ_RND scale
143
144
145
146If stim act SQ_ISTM 0x000D
147
148 action SQ_ISTM If sequence stimulus active
149 data -unused-
150
151
152Jump to nnn SQ_JUMP 0x000E
153
154 action SQ_JUMP Jump to sequence line
155 data line number 0..999
156
157
158Stop SQ_STOP 0x000F
159
160 action SQ_STOP Stop sequence
161 data -unused-
162
Note: See TracBrowser for help on using the repository browser.