Subversion Repositories svn.mios

Rev

Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
44 tk 1
; $Id: cs_menu_tables.inc 44 2008-01-30 21:39:30Z tk $
1 tk 2
;
3
; Control Surface Menu Tables
4
;
5
; ==========================================================================
6
;
7
;  Copyright 1998-2007 Thorsten Klose (tk@midibox.org)
8
;  Licensed for personal non-commercial use only.
9
;  All other rights reserved.
10
;
11
; ==========================================================================
12
 
13
;; structures are defined here:
14
#include "src/cs_menu_tables_struct.inc"
15
 
16
 
17
; ==========================================================================
18
;  References to various CS_MENU_x_xxx IDs depending on selected engine
19
; ==========================================================================
20
	;; on order changes, the CS_MENU_GetMenuID_xxx functions have to be adapted!
21
CS_MENU_TABLES_IDS
22
	;;      lead           bassline       drum           multi
23
	db	CS_MENU_L_OSC, CS_MENU_B_OSC, CS_MENU_D_DRM, CS_MENU_M_OSC
24
	db	CS_MENU_L_FIL, CS_MENU_B_FIL, CS_MENU_D_FIL, CS_MENU_M_FIL
25
	db	CS_MENU_L_LFO, CS_MENU_B_LFO, CS_MENU_ROOT,  CS_MENU_M_LFO
26
	db	CS_MENU_L_ENV, CS_MENU_B_ENV, CS_MENU_ROOT,  CS_MENU_M_ENV
27
	db	CS_MENU_L_MOD, CS_MENU_ROOT,  CS_MENU_ROOT,  CS_MENU_ROOT
28
	db	CS_MENU_L_KNB, CS_MENU_B_KNB, CS_MENU_D_KNB, CS_MENU_M_KNB
29
	db	CS_MENU_L_SAV, CS_MENU_B_SAV, CS_MENU_D_SAV, CS_MENU_M_SAV
30
 
31
; ==========================================================================
32
;  CS_MENU_TABLES contains the number of tables and a pointer to all
33
;  available menu tables and the appr. table handler function
34
; ==========================================================================
35
CS_MENU_TABLES_ENGINE
36
	dw	CS_MENU_TABLES_L & 0xffff	; lead engine
37
	dw	CS_MENU_TABLES_B & 0xffff	; bassline engine
38
	dw	CS_MENU_TABLES_D & 0xffff	; drum engine
39
	dw	CS_MENU_TABLES_M & 0xffff	; multi engine
40
	dw	CS_MENU_TABLES_E & 0xffff	; ensembles menu (selected if CS_MENU[6] set)
41
 
42
; ==========================================================================
43
; --------------------------------------------------------------------------
44
CS_MENU_TABLES_E	; the environment table (works independent from the synth menu)
45
	;;              pointer to table      par. button pressed      exec button pressed   page name          var            max  print function
46
	CS_MENU_T_ENTRY	CS_MENU_TABLE_E_ROOT, CS_MENU_Page_Root,       CS_MENU_EXEC_GoToMain,   "---", SID_ENSEMBLE,          0x7f, PRINT_ENS  ; (special handling in CS_MENU_PageUpDown selected with SID_ENSEMBLE)
47
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_SID,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"---", 0,                     0x00, PRINT_NOP
48
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_CLK,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"---", 0,                     0x00, PRINT_NOP
49
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_FIL,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"---", 0,                     0x00, PRINT_NOP
50
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_INS,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"INS", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
51
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_EXT,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"---", 0,                     0x00, PRINT_NOP
52
	CS_MENU_T_ENTRY CS_MENU_TABLE_E_SAV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToEnsRoot,"---", 0,                     0x00, PRINT_NOP
53
 
54
	;; ID's for seperate menu structure of ensemble menu
55
CS_MENU_E_ROOT	EQU	0x40
56
CS_MENU_E_SID	EQU	0x41
57
CS_MENU_E_CLK	EQU	0x42
58
CS_MENU_E_FIL	EQU	0x43
59
CS_MENU_E_INS	EQU	0x44
60
CS_MENU_E_EXT	EQU	0x45
61
CS_MENU_E_SAV	EQU	0x46
62
 
63
; ==========================================================================
64
; --------------------------------------------------------------------------
65
CS_MENU_TABLES_L
66
	;;              pointer to table      par. button pressed      exec button pressed   page name          var            max  print function
67
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_ROOT, CS_MENU_Page_Root,       CS_MENU_EXEC_GoToMain,   "---", SID_PATCH,             0x7f, PRINT_PAT  ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH)
68
	CS_MENU_T_ENTRY CS_MENU_TABLE_L_OSC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "OSC", CS_MENU_SELECTED_OSC,  0x02, PRINT_VAR_123
69
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_FIL,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
70
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_LFO,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "LFO", CS_MENU_SELECTED_LFO,  0x05, PRINT_VAR_DECP1
71
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_ENV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ENV", CS_MENU_SELECTED_ENV,  0x01, PRINT_VAR_DECP1
72
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_MOD,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "MOD", CS_MENU_SELECTED_MOD,  0x07, PRINT_VAR_DECP1
73
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_TRG,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "TRG", CS_MENU_SELECTED_TRG,  0x0d, PRINT_TRGx_SRC
74
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_CFG,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
75
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_ARP,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "OSC", CS_MENU_SELECTED_OSC,  0x02, PRINT_VAR_123
76
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_WTC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "WT ", CS_MENU_SELECTED_WT,   0x03, PRINT_VAR_DECP1
77
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_WTE,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Pos", CS_MENU_WT_POS,        0x80, PRINT_WTE_POS ;
78
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_KNB,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "KNB", CS_MENU_SELECTED_KNOB, 0x07, PRINT_KNB
79
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_EXT,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
80
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_RND,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
81
	CS_MENU_T_ENTRY	CS_MENU_TABLE_L_SAV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
82
 
83
	;; ID's for menu structures of the lead engine
84
CS_MENU_L_OSC	EQU	0x01
85
CS_MENU_L_FIL	EQU	0x02
86
CS_MENU_L_LFO	EQU	0x03
87
CS_MENU_L_ENV	EQU	0x04
88
CS_MENU_L_MOD	EQU	0x05
89
CS_MENU_L_TRG	EQU	0x06
90
CS_MENU_L_CFG	EQU	0x07
91
CS_MENU_L_ARP	EQU	0x08
92
CS_MENU_L_WTC	EQU	0x09
93
CS_MENU_L_WTE	EQU	0x0a
94
CS_MENU_L_KNB	EQU	0x0b
95
CS_MENU_L_EXT	EQU	0x0c
96
CS_MENU_L_RND	EQU	0x0d
97
CS_MENU_L_SAV	EQU	0x0e
98
 
99
 
100
; --------------------------------------------------------------------------
101
CS_MENU_TABLES_B
102
	;;              pointer to table      par. button pressed      exec button pressed   page name          var            max  print function
103
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_ROOT, CS_MENU_Page_Root,       CS_MENU_EXEC_GoToMain,   "---", SID_PATCH,               0x7f, PRINT_PAT  ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH)
104
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_SEQ,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Pos", CS_MENU_WT_POS,	        0x0f, PRINT_SEQ_POS
105
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_SQC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
106
	CS_MENU_T_ENTRY CS_MENU_TABLE_B_OSC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
107
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_FIL,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
108
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_LFO,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
109
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_ENV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
110
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_ARP,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
111
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_CFG,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
112
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_KNB,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "KNB", CS_MENU_SELECTED_KNOB, 0x07, PRINT_KNB
113
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_EXT,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
114
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_RND,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
115
	CS_MENU_T_ENTRY	CS_MENU_TABLE_B_SAV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
116
 
117
	;; ID's for menu structures of the lead engine
118
CS_MENU_B_SEQ	EQU	0x01
119
CS_MENU_B_SQC	EQU	0x02
120
CS_MENU_B_OSC	EQU	0x03
121
CS_MENU_B_FIL	EQU	0x04
122
CS_MENU_B_LFO	EQU	0x05
123
CS_MENU_B_ENV	EQU	0x06
124
CS_MENU_B_ARP	EQU	0x07
125
CS_MENU_B_CFG	EQU	0x08
126
CS_MENU_B_KNB	EQU	0x09
127
CS_MENU_B_EXT	EQU	0x0a
128
CS_MENU_B_RND	EQU	0x0b
129
CS_MENU_B_SAV	EQU	0x0c
130
 
131
 
132
; --------------------------------------------------------------------------
133
CS_MENU_TABLES_D
134
	;;              pointer to table      par. button pressed      exec button pressed   page name          var            max  print function
135
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_ROOT, CS_MENU_Page_Root,       CS_MENU_EXEC_GoToMain,   "---", SID_PATCH,             0x7f, PRINT_PAT  ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH)
136
	CS_MENU_T_ENTRY CS_MENU_TABLE_D_SEQ,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Trk", CS_MENU_SELECTED_TRK,  0x07, PRINT_VAR_DECP1
137
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_SQC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
138
	CS_MENU_T_ENTRY CS_MENU_TABLE_D_DRM,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x0f, PRINT_VAR_DECP1
139
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_FIL,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
140
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_CFG,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
141
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_KNB,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "KNB", CS_MENU_SELECTED_KNOB, 0x07, PRINT_KNB
142
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_EXT,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
143
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_RND,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
144
	CS_MENU_T_ENTRY	CS_MENU_TABLE_D_SAV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
145
 
146
	;; ID's for menu structures of the lead engine
147
CS_MENU_D_SEQ	EQU	0x01
148
CS_MENU_D_SQC	EQU	0x02
149
CS_MENU_D_DRM	EQU	0x03
150
CS_MENU_D_FIL	EQU	0x04
151
CS_MENU_D_CFG	EQU	0x05
152
CS_MENU_D_KNB	EQU	0x06
153
CS_MENU_D_EXT	EQU	0x07
154
CS_MENU_D_RND	EQU	0x08
155
CS_MENU_D_SAV	EQU	0x09
156
 
157
 
158
; --------------------------------------------------------------------------
159
CS_MENU_TABLES_M
160
	;;              pointer to table      par. button pressed      exec button pressed   page name          var            max  print function
161
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_ROOT, CS_MENU_Page_Root,       CS_MENU_EXEC_GoToMain,   "---", SID_PATCH,             0x7f, PRINT_PAT  ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH)
162
	CS_MENU_T_ENTRY CS_MENU_TABLE_M_OSC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
163
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_FIL,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "ACh", CS_MENU_SELECTED_SID_LR, 0x03, PRINT_VAR_LR
164
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_LFO,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
165
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_ENV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
166
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_CFG,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
167
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_ARP,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
168
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_WTC,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Ins", CS_MENU_SELECTED_INS,  0x05, PRINT_VAR_DECP1
169
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_WTE,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "Pos", CS_MENU_WT_POS,        0x80, PRINT_WTE_POS ;
170
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_KNB,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "KNB", CS_MENU_SELECTED_KNOB, 0x07, PRINT_KNB
171
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_EXT,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
172
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_RND,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
173
	CS_MENU_T_ENTRY	CS_MENU_TABLE_M_SAV,  CS_MENU_Page_Parameters, CS_MENU_EXEC_GoToRoot,   "---", 0,                     0x00, PRINT_NOP
174
 
175
	;; ID's for menu structures of the multi engine
176
CS_MENU_M_OSC	EQU	0x01
177
CS_MENU_M_FIL	EQU	0x02
178
CS_MENU_M_LFO	EQU	0x03
179
CS_MENU_M_ENV	EQU	0x04
180
CS_MENU_M_CFG	EQU	0x05
181
CS_MENU_M_ARP	EQU	0x06
182
CS_MENU_M_WTC	EQU	0x07
183
CS_MENU_M_WTE	EQU	0x08
184
CS_MENU_M_KNB	EQU	0x09
185
CS_MENU_M_EXT	EQU	0x0a
186
CS_MENU_M_RND	EQU	0x0b
187
CS_MENU_M_SAV	EQU	0x0c
188
 
189
 
190
; --------------------------------------------------------------------------
191
 
192
	;; ID for root and main page (7th bit must be set)
193
CS_MENU_ROOT	EQU	0x00
194
CS_MENU_MAIN	EQU	0x80
195
 
196
 
197
 
198
; ==========================================================================
199
;  The main menu
200
; ==========================================================================
201
CS_MENU_TABLE_E_ROOT
202
	db	(CS_MENU_TABLE_E_ROOT_End-CS_MENU_TABLE_E_ROOT)/CS_MENU_ENTRY_LEN, 0x00
203
 
204
	;;              Register (00=dummy)        |<->|   max    print ix          exec ix          parameter transfer
205
	CS_MENU_ENTRY	CS_MENU_E_SID,             "SID",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
206
	CS_MENU_ENTRY	CS_MENU_E_CLK,             "CLK",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
207
	CS_MENU_ENTRY	CS_MENU_E_FIL,             "FIL",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
208
	CS_MENU_ENTRY	CS_MENU_E_INS,             "INS",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
209
	CS_MENU_ENTRY	CS_MENU_E_EXT,             "EXT",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
210
	CS_MENU_ENTRY	CS_MENU_E_SAV,             "SAV",  0x000, PRINT_NOP,        EXEC_MENU_SAVE_ENS, R2PP2R_NOP
211
CS_MENU_TABLE_E_ROOT_End
212
 
213
 
214
CS_MENU_TABLE_L_ROOT
215
	db	(CS_MENU_TABLE_L_ROOT_End-CS_MENU_TABLE_L_ROOT)/CS_MENU_ENTRY_LEN, 0x00
216
 
217
	;;              Register (00=dummy)        |<->|   max    print ix          exec ix          parameter transfer
218
	CS_MENU_ENTRY	CS_MENU_L_OSC,             "OSC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
219
	CS_MENU_ENTRY	CS_MENU_L_FIL,             "FIL",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
220
	CS_MENU_ENTRY	CS_MENU_L_LFO,             "LFO",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
221
	CS_MENU_ENTRY	CS_MENU_L_ENV,             "ENV",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
222
	CS_MENU_ENTRY	CS_MENU_L_MOD,             "MOD",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
223
	CS_MENU_ENTRY	CS_MENU_L_TRG,             "TRG",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
224
	CS_MENU_ENTRY	CS_MENU_L_CFG,             "CFG",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
225
	CS_MENU_ENTRY	CS_MENU_L_ARP,             "ARP",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
226
	CS_MENU_ENTRY	CS_MENU_L_WTC,             "WTC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
227
	CS_MENU_ENTRY	CS_MENU_L_WTE,             "WTE",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
228
	CS_MENU_ENTRY	CS_MENU_L_KNB,             "KNB",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
229
	CS_MENU_ENTRY	CS_MENU_L_EXT,             "EXT",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
230
	CS_MENU_ENTRY	CS_MENU_L_RND,             "RND",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
231
	CS_MENU_ENTRY	CS_MENU_L_SAV,             "SAV",  0x000, PRINT_NOP,        EXEC_MENU_SAVE,  R2PP2R_NOP
232
CS_MENU_TABLE_L_ROOT_End
233
 
234
; --------------------------------------------------------------------------
235
CS_MENU_TABLE_B_ROOT
236
	db	(CS_MENU_TABLE_B_ROOT_End-CS_MENU_TABLE_B_ROOT)/CS_MENU_ENTRY_LEN, 0x00
237
 
238
	;;              Register (00=dummy)        |<->|   max    print ix          exec ix          parameter transfer
239
	CS_MENU_ENTRY	CS_MENU_B_SEQ,             "SEQ",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
240
	CS_MENU_ENTRY	CS_MENU_B_SQC,             "SQC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
241
	CS_MENU_ENTRY	CS_MENU_B_OSC,             "OSC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
242
	CS_MENU_ENTRY	CS_MENU_B_FIL,             "FIL",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
243
	CS_MENU_ENTRY	CS_MENU_B_LFO,             "LFO",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
244
	CS_MENU_ENTRY	CS_MENU_B_ENV,             "ENV",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
245
	CS_MENU_ENTRY	CS_MENU_B_ARP,             "ARP",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
246
	CS_MENU_ENTRY	CS_MENU_B_CFG,             "CFG",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
247
	CS_MENU_ENTRY	CS_MENU_B_KNB,             "KNB",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
248
	CS_MENU_ENTRY	CS_MENU_B_EXT,             "EXT",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
249
	CS_MENU_ENTRY	CS_MENU_B_RND,             "RND",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
250
	CS_MENU_ENTRY	CS_MENU_B_SAV,             "SAV",  0x000, PRINT_NOP,        EXEC_MENU_SAVE,  R2PP2R_NOP
251
CS_MENU_TABLE_B_ROOT_End
252
 
253
; --------------------------------------------------------------------------
254
CS_MENU_TABLE_D_ROOT
255
	db	(CS_MENU_TABLE_D_ROOT_End-CS_MENU_TABLE_D_ROOT)/CS_MENU_ENTRY_LEN, 0x00
256
 
257
	;;              Register (00=dummy)        |<->|   max    print ix          exec ix          parameter transfer
258
	CS_MENU_ENTRY	CS_MENU_D_SEQ,             "SEQ",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
259
	CS_MENU_ENTRY	CS_MENU_D_SQC,             "SQC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
260
	CS_MENU_ENTRY	CS_MENU_D_DRM,             "DRM",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
261
	CS_MENU_ENTRY	CS_MENU_D_FIL,             "FIL",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
262
	CS_MENU_ENTRY	CS_MENU_D_CFG,             "CFG",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
263
	CS_MENU_ENTRY	CS_MENU_D_KNB,             "KNB",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
264
	CS_MENU_ENTRY	CS_MENU_D_EXT,             "EXT",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
265
	CS_MENU_ENTRY	CS_MENU_D_RND,             "RND",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
266
	CS_MENU_ENTRY	CS_MENU_D_SAV,             "SAV",  0x000, PRINT_NOP,        EXEC_MENU_SAVE,  R2PP2R_NOP
267
CS_MENU_TABLE_D_ROOT_End
268
 
269
; --------------------------------------------------------------------------
270
CS_MENU_TABLE_M_ROOT
271
	db	(CS_MENU_TABLE_M_ROOT_End-CS_MENU_TABLE_M_ROOT)/CS_MENU_ENTRY_LEN, 0x00
272
 
273
	;;              Register (00=dummy)        |<->|   max    print ix          exec ix          parameter transfer
274
	CS_MENU_ENTRY	CS_MENU_M_OSC,             "OSC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
275
	CS_MENU_ENTRY	CS_MENU_M_FIL,             "FIL",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
276
	CS_MENU_ENTRY	CS_MENU_M_LFO,             "LFO",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
277
	CS_MENU_ENTRY	CS_MENU_M_ENV,             "ENV",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
278
	CS_MENU_ENTRY	CS_MENU_M_CFG,             "CFG",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
279
	CS_MENU_ENTRY	CS_MENU_M_ARP,             "ARP",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
280
	CS_MENU_ENTRY	CS_MENU_M_WTC,             "WTC",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
281
	CS_MENU_ENTRY	CS_MENU_M_WTE,             "WTE",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
282
	CS_MENU_ENTRY	CS_MENU_M_KNB,             "KNB",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
283
	CS_MENU_ENTRY	CS_MENU_M_EXT,             "EXT",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
284
	CS_MENU_ENTRY	CS_MENU_M_RND,             "RND",  0x000, PRINT_NOP,        EXEC_MENU,       R2PP2R_NOP
285
	CS_MENU_ENTRY	CS_MENU_M_SAV,             "SAV",  0x000, PRINT_NOP,        EXEC_MENU_SAVE,  R2PP2R_NOP
286
CS_MENU_TABLE_M_ROOT_End
287
 
288
 
289
; ==========================================================================
290
;  Special Ensemble Menu Pages
291
; ==========================================================================
292
CS_MENU_TABLE_E_SID
293
	db	(CS_MENU_TABLE_E_SID_End-CS_MENU_TABLE_E_SID)/CS_MENU_ENTRY_LEN, 0x00
294
 
295
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
296
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_FLAGS, "SID", 0x003, PRINT_VAR_SID1234,EXEC_SELPAR,     R2PP2R_VAR_SID
297
	CS_MENU_ENTRY	SID_ENSx_BANK,              "Bnk", 0x007, PRINT_BNK,        EXEC_SELPAR,     R2PP2R_BNK
298
	CS_MENU_ENTRY	SID_ENSx_PATCH,             "Pat", 0x07f, PRINT_PAT,        EXEC_SELPAR,     R2PP2R_PAT
299
	CS_MENU_ENTRY	SID_ENSx_CTRL1,             "Mon", 0x001, PRINT_ENSx_MONO,  EXEC_TOGPAR,     R2PP2R_ENSx_MONO
300
	CS_MENU_ENTRY	SID_ENSx_SUPERPOLY_CTRL,    "SPV", 0x004, PRINT_ENSx_SPV,   EXEC_SELPAR,     R2PP2R_ENSx_SPV
301
CS_MENU_TABLE_E_SID_End
302
 
303
 
304
CS_MENU_TABLE_E_CLK
305
	db	(CS_MENU_TABLE_E_CLK_End-CS_MENU_TABLE_E_CLK)/CS_MENU_ENTRY_LEN, 0x00
306
 
307
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
308
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_FLAGS, "SID", 0x003, PRINT_VAR_SID1234,EXEC_SELPAR,     R2PP2R_VAR_SID
309
	CS_MENU_ENTRY	SID_ENSx_BPM,               "BPM", 0x0ff-50, PRINT_CLK_BPM,    EXEC_SELPAR,     R2PP2R_CLK_BPM
310
	CS_MENU_ENTRY	SID_ENSx_CTRL1,             "Mod", 0x002, PRINT_CLK_SLAVE,  EXEC_TOGPAR,     R2PP2R_CLK_SLAVE
311
CS_MENU_TABLE_E_CLK_End
312
 
313
 
314
CS_MENU_TABLE_E_FIL
315
	db	(CS_MENU_TABLE_E_FIL_End-CS_MENU_TABLE_E_FIL)/CS_MENU_ENTRY_LEN, 0x00
316
 
317
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
318
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_FLAGS, "SID", 0x003, PRINT_VAR_SID1234,EXEC_SELPAR,     R2PP2R_VAR_SID
319
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
320
	CS_MENU_ENTRY	SID_ENSx_CALI_FIL1_MIN_L,   "Min", 0xfff, PRINT_VAR_CALI,   EXEC_SELPAR,     R2PP2R_VAR_CALI
321
	CS_MENU_ENTRY	SID_ENSx_CALI_FIL1_MAX_L,   "Max", 0xfff, PRINT_VAR_CALI,   EXEC_SELPAR,     R2PP2R_VAR_CALI
322
CS_MENU_TABLE_E_FIL_End
323
 
324
 
325
CS_MENU_TABLE_E_INS
326
	db	(CS_MENU_TABLE_E_INS_End-CS_MENU_TABLE_E_INS)/CS_MENU_ENTRY_LEN, 0x00
327
 
328
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
329
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_FLAGS, "SID", 0x003, PRINT_VAR_SID1234,EXEC_SELPAR,     R2PP2R_VAR_SID
330
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
331
	CS_MENU_ENTRY	SID_ENSx_Ix_CHN,            "Chn", 0x010, PRINT_ENSxIx_CHN, EXEC_SELPAR,     R2PP2R_CHN
332
	CS_MENU_ENTRY	SID_ENSx_Ix_SPLIT_L,        "SpL", 0x07f, PRINT_ENSxIx_NOTE,EXEC_SELPAR,     R2PP2R_ENSxIx_VAL
333
	CS_MENU_ENTRY	SID_ENSx_Ix_SPLIT_U,        "SpU", 0x07f, PRINT_ENSxIx_NOTE,EXEC_SELPAR,     R2PP2R_ENSxIx_VAL
334
	CS_MENU_ENTRY	SID_ENSx_Ix_TRN,            "Trn", 0x07f, PRINT_ENSxIx_PMDEC7,EXEC_SELPAR,   R2PP2R_ENSxIx_VAL
335
CS_MENU_TABLE_E_INS_End
336
 
337
CS_MENU_TABLE_E_EXT
338
	db	(CS_MENU_TABLE_E_EXT_End-CS_MENU_TABLE_E_EXT)/CS_MENU_ENTRY_LEN, 0x00
339
 
340
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
341
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_FLAGS, "SID", 0x003, PRINT_VAR_SID1234,EXEC_SELPAR,     R2PP2R_VAR_SID
342
	CS_MENU_ENTRY	SID_ENS_CTRL2_F2A,          "F2A", 0x001, PRINT_ENSx_X2A,   EXEC_TOGPAR,     R2PP2R_ENSx_X2A
343
	CS_MENU_ENTRY	SID_ENS_CTRL2_V2A,          "V2A", 0x001, PRINT_ENSx_X2A,   EXEC_TOGPAR,     R2PP2R_ENSx_X2A
344
	CS_MENU_ENTRY	SID_ENS_CTRL2_P2A,          "P2A", 0x001, PRINT_ENSx_X2A,   EXEC_TOGPAR,     R2PP2R_ENSx_X2A
345
	CS_MENU_ENTRY	SID_ENS_CTRL2_K2A,          "K2A", 0x001, PRINT_ENSx_X2A,   EXEC_TOGPAR,     R2PP2R_ENSx_X2A
346
	CS_MENU_ENTRY	SID_ENS_CTRL2_O2A,          "O2A", 0x001, PRINT_ENSx_X2A,   EXEC_TOGPAR,     R2PP2R_ENSx_X2A
347
	CS_MENU_ENTRY	0,                          "Iv1", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
348
	CS_MENU_ENTRY	1,                          "Iv2", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
349
	CS_MENU_ENTRY	2,                          "Iv3", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
350
	CS_MENU_ENTRY	3,                          "Iv4", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
351
	CS_MENU_ENTRY	4,                          "Iv5", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
352
	CS_MENU_ENTRY	5,                          "Iv6", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
353
	CS_MENU_ENTRY	6,                          "Iv7", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
354
	CS_MENU_ENTRY	7,                          "Iv8", 0x001, PRINT_ENSx_EXTINV,EXEC_TOGPAR,     R2PP2R_ENSx_EXTINV
355
CS_MENU_TABLE_E_EXT_End
356
 
357
 
358
CS_MENU_TABLE_E_SAV
359
	db	(CS_MENU_TABLE_E_SAV_End-CS_MENU_TABLE_E_SAV)/CS_MENU_ENTRY_LEN, 0x00
360
 
361
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
362
	CS_MENU_ENTRY	CS_MENU_SAVE_ENS,           "E# ", 0x07f, PRINT_SAVE_ENS,   EXEC_SELPAR,     R2PP2R_VAR
363
	CS_MENU_ENTRY	0x00,                       "do!", 0x000, PRINT_NOP,        EXEC_SAVE_ENS,   R2PP2R_NOP
364
CS_MENU_TABLE_E_SAV_End
365
 
366
 
367
; ==========================================================================
368
;  The oscillator menu
369
; ==========================================================================
370
CS_MENU_TABLE_L_OSC
371
	db	(CS_MENU_TABLE_L_OSC_End-CS_MENU_TABLE_L_OSC)/CS_MENU_ENTRY_LEN, 0x00
372
 
373
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
374
	CS_MENU_ENTRY	CS_MENU_SELECTED_OSC_FLAGS, "OSC", 0x006, PRINT_VAR_123,    EXEC_SELPAR,     R2PP2R_VAR_OSC
375
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "Wav", 0x008, PRINT_Vx_WAV,     EXEC_SELPAR,     R2PP2R_Vx_WAV
376
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "S/R", 0x003, PRINT_Vx_S_R,     EXEC_TOGPAR,     R2PP2R_Vx_S_R
377
	CS_MENU_ENTRY	SID_Ix_Vx_DELAY,            "Del", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
378
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Atk", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
379
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Dec", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
380
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Sus", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
381
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Rel", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
382
	CS_MENU_ENTRY	SID_Ix_Vx_PITCHRANGE,       "PRn", 0x07f, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
383
	CS_MENU_ENTRY	SID_Ix_Vx_TRANSPOSE,        "Trn", 0x07f, PRINT_Vx_PMDEC7,  EXEC_SELPAR,     R2PP2R_Vx
384
	CS_MENU_ENTRY	SID_Ix_Vx_FINETUNE,         "Fin", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
385
	CS_MENU_ENTRY	SID_Ix_Vx_PORTAMENTO,       "Por", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
386
	CS_MENU_ENTRY	SID_Ix_L_OSC_PHASE,         "Phs", 0x0ff, PRINT_DEC8,       EXEC_SELPAR,     R2PP2R_PAR8
387
	CS_MENU_ENTRY	SID_Ix_Vx_PULSEWIDTH_L,     "PW ", 0xfff, PRINT_Vx_HEX12,   EXEC_SELPAR,     R2PP2R_Vx_12
388
	CS_MENU_ENTRY	SID_Ix_Vx_FLAGS1,	    "PMd", 0x002, PRINT_Vx_PMD,     EXEC_TOGPAR,     R2PP2R_Vx_PMD
389
	CS_MENU_ENTRY	SID_Ix_Vx_FLAGS1,	    "GSA", 0x001, PRINT_Vx_GSA,     EXEC_TOGPAR,     R2PP2R_Vx_GSA
390
	CS_MENU_ENTRY	SID_Ix_L_OSC_DETUNE,        "Det", 0x0ff, PRINT_DEC8,       EXEC_SELPAR,     R2PP2R_PAR8
391
#if ENABLE_SWINSID
392
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_MODE,     "SwM", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
393
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_PHASE,    "SwP", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
394
#endif
395
CS_MENU_TABLE_L_OSC_End
396
 
397
; --------------------------------------------------------------------------
398
CS_MENU_TABLE_M_OSC
399
	db	(CS_MENU_TABLE_M_OSC_End-CS_MENU_TABLE_M_OSC)/CS_MENU_ENTRY_LEN, 0x00
400
 
401
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
402
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
403
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "Wav", 0x008, PRINT_Vx_WAV,     EXEC_SELPAR,     R2PP2R_Vx_WAV
404
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "S/R", 0x003, PRINT_Vx_S_R,     EXEC_TOGPAR,     R2PP2R_Vx_S_R
405
	CS_MENU_ENTRY	SID_Ix_Vx_DELAY,            "Del", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
406
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Atk", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
407
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Dec", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
408
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Sus", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
409
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Rel", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
410
	CS_MENU_ENTRY	SID_Ix_Vx_PITCHRANGE,       "PRn", 0x07f, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
411
	CS_MENU_ENTRY	SID_Ix_Vx_TRANSPOSE,        "Trn", 0x07f, PRINT_Vx_PMDEC7,  EXEC_SELPAR,     R2PP2R_Vx
412
	CS_MENU_ENTRY	SID_Ix_Vx_FINETUNE,         "Fin", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
413
	CS_MENU_ENTRY	SID_Ix_Vx_PORTAMENTO,       "Por", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
414
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "Phs", 0x001, PRINT_M_Vx_PHASE, EXEC_TOGPAR,     R2PP2R_M_Vx_PHASE
415
	CS_MENU_ENTRY	SID_Ix_Vx_PULSEWIDTH_L,     "PW ", 0xfff, PRINT_Vx_HEX12,   EXEC_SELPAR,     R2PP2R_Vx_12
416
	CS_MENU_ENTRY	SID_Ix_Vx_FLAGS1,	    "PMd", 0x002, PRINT_Vx_PMD,     EXEC_TOGPAR,     R2PP2R_Vx_PMD
417
#if ENABLE_SWINSID
418
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_MODE,     "SwM", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
419
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_PHASE,    "SwP", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
420
#endif
421
CS_MENU_TABLE_M_OSC_End
422
 
423
 
424
; --------------------------------------------------------------------------
425
CS_MENU_TABLE_B_OSC
426
	db	(CS_MENU_TABLE_B_OSC_End-CS_MENU_TABLE_B_OSC)/CS_MENU_ENTRY_LEN, 0x00
427
 
428
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
429
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
430
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "Wav", 0x008, PRINT_Vx_WAV,     EXEC_SELPAR,     R2PP2R_Vx_WAV
431
	CS_MENU_ENTRY	SID_Ix_Vx_WAVEFORM,         "S/R", 0x003, PRINT_Vx_S_R,     EXEC_TOGPAR,     R2PP2R_Vx_S_R
432
	CS_MENU_ENTRY	SID_Ix_Vx_DELAY,            "Del", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
433
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Atk", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
434
	CS_MENU_ENTRY	SID_Ix_Vx_AD,               "Dec", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
435
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Sus", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
436
	CS_MENU_ENTRY	SID_Ix_Vx_SR,               "Rel", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
437
	CS_MENU_ENTRY	SID_Ix_Vx_PITCHRANGE,       "PRn", 0x07f, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
438
	CS_MENU_ENTRY	SID_Ix_Vx_TRANSPOSE,        "Trn", 0x07f, PRINT_Vx_PMDEC7,  EXEC_SELPAR,     R2PP2R_Vx
439
	CS_MENU_ENTRY	SID_Ix_Vx_FINETUNE,         "Fin", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
440
	CS_MENU_ENTRY	SID_Ix_Vx_PORTAMENTO,       "Por", 0x0ff, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
441
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "Phs", 0x001, PRINT_M_Vx_PHASE, EXEC_TOGPAR,     R2PP2R_M_Vx_PHASE
442
	CS_MENU_ENTRY	SID_Ix_Vx_PULSEWIDTH_L,     "PW ", 0xfff, PRINT_Vx_HEX12,   EXEC_SELPAR,     R2PP2R_Vx_12
443
	CS_MENU_ENTRY	SID_Ix_Vx_FLAGS1,	    "PMd", 0x002, PRINT_Vx_PMD,     EXEC_TOGPAR,     R2PP2R_Vx_PMD
444
#if ENABLE_SWINSID
445
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_MODE,     "SwM", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
446
	CS_MENU_ENTRY	SID_Ix_Vx_SWINSID_PHASE,    "SwP", 0x0ff, PRINT_Vx_HEX8,    EXEC_SELPAR,     R2PP2R_Vx
447
#endif
448
CS_MENU_TABLE_B_OSC_End
449
 
450
; --------------------------------------------------------------------------
451
CS_MENU_TABLE_D_DRM
452
	db	(CS_MENU_TABLE_D_DRM_End-CS_MENU_TABLE_D_DRM)/CS_MENU_ENTRY_LEN, 0x00
453
 
454
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
455
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x00f, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
456
	CS_MENU_ENTRY	SID_Ix_Dx_MODEL,            "Mdl", SID_DMODEL_NUM-1, PRINT_D_MODEL, EXEC_SELPAR, R2PP2R_Vx
457
	CS_MENU_ENTRY	SID_Ix_Dx_AD,               "Atk", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
458
	CS_MENU_ENTRY	SID_Ix_Dx_AD,               "Dec", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
459
	CS_MENU_ENTRY	SID_Ix_Dx_SR,               "Sus", 0x00f, PRINT_Vx_DEC4U,   EXEC_SELPAR,     R2PP2R_Vx_4U
460
	CS_MENU_ENTRY	SID_Ix_Dx_SR,               "Rel", 0x00f, PRINT_Vx_DEC4L,   EXEC_SELPAR,     R2PP2R_Vx_4L
461
	CS_MENU_ENTRY	SID_Ix_Dx_TUNE,             "Tun", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
462
	CS_MENU_ENTRY	SID_Ix_Dx_PAR1,             "GL.", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
463
	CS_MENU_ENTRY	SID_Ix_Dx_PAR2,             "Spd", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
464
	CS_MENU_ENTRY	SID_Ix_Dx_PAR3,             "PAR", 0x0ff, PRINT_Vx_PMDEC8,  EXEC_SELPAR,     R2PP2R_Vx
465
	CS_MENU_ENTRY	SID_Ix_Dx_FLAGS1,           "VAs", 0x008, PRINT_D_Vx_VAS,   EXEC_SELPAR,     R2PP2R_D_Vx_VAS
466
	CS_MENU_ENTRY	SID_Ix_Dx_VELOCITY_ASSGN,   "VeA", 0x0ff, PRINT_M_D_Vx_ASG, EXEC_SELPAR,     R2PP2R_M_D_Vx_ASG
467
	CS_MENU_ENTRY	0x00,                       "Rnd", 0x000, PRINT_WT_GO,      EXEC_DRM_RND,    R2PP2R_NOP
468
CS_MENU_TABLE_D_DRM_End
469
 
470
; ==========================================================================
471
;  The filter menu
472
; ==========================================================================
473
CS_MENU_TABLE_L_FIL
474
CS_MENU_TABLE_M_FIL
475
CS_MENU_TABLE_D_FIL
476
	db	(CS_MENU_TABLE_L_FIL_End-CS_MENU_TABLE_L_FIL)/CS_MENU_ENTRY_LEN, 0x00
477
 
478
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
479
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Chn", 0x007, PRINT_Fx_CHN,     EXEC_SELPAR,     R2PP2R_Fx_CHN
480
	CS_MENU_ENTRY	SID_Ix_L_Fx_CUTOFF_L,       "Cut", 0xfff, PRINT_Fx_CUTOFF,  EXEC_SELPAR,     R2PP2R_Fx_CUTOFF
481
	CS_MENU_ENTRY	SID_Ix_L_Fx_RESONANCE,      "Res", 0x0ff, PRINT_Fx_RESON,   EXEC_SELPAR,     R2PP2R_Fx_RESON
482
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Mod", 0x007, PRINT_Fx_MOD,     EXEC_SELPAR,     R2PP2R_Fx_MOD
483
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Ext", 0x001, PRINT_Fx_EXT,     EXEC_TOGPAR,     R2PP2R_Fx_EXT
484
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "3Of", 0x001, PRINT_Fx_3OF,     EXEC_TOGPAR,     R2PP2R_Fx_3OF
485
	CS_MENU_ENTRY	SID_Ix_L_Fx_CUTOFF_H,       "FIP", 0x001, PRINT_Fx_FIP,     EXEC_TOGPAR,     R2PP2R_Fx_FIP
486
CS_MENU_TABLE_L_FIL_End
487
 
488
 
489
CS_MENU_TABLE_B_FIL
490
	db	(CS_MENU_TABLE_B_FIL_End-CS_MENU_TABLE_B_FIL)/CS_MENU_ENTRY_LEN, 0x00
491
 
492
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
493
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Chn", 0x007, PRINT_Fx_CHN,     EXEC_SELPAR,     R2PP2R_Fx_CHN
494
	CS_MENU_ENTRY	SID_Ix_L_Fx_CUTOFF_L,       "Cut", 0xfff, PRINT_Fx_CUTOFF,  EXEC_SELPAR,     R2PP2R_Fx_CUTOFF
495
	CS_MENU_ENTRY	SID_Ix_L_Fx_RESONANCE,      "Res", 0x0ff, PRINT_Fx_RESON,   EXEC_SELPAR,     R2PP2R_Fx_RESON
496
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Mod", 0x007, PRINT_Fx_MOD,     EXEC_SELPAR,     R2PP2R_Fx_MOD
497
	CS_MENU_ENTRY	SID_Ix_L_Fx_KEYTRACK,       "KTr", 0x0ff, PRINT_Fx_KTR,     EXEC_SELPAR,     R2PP2R_Fx_KTR
498
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "Ext", 0x001, PRINT_Fx_EXT,     EXEC_TOGPAR,     R2PP2R_Fx_EXT
499
	CS_MENU_ENTRY	SID_Ix_L_Fx_CHN_MODE,       "3Of", 0x001, PRINT_Fx_3OF,     EXEC_TOGPAR,     R2PP2R_Fx_3OF
500
	CS_MENU_ENTRY	SID_Ix_L_Fx_CUTOFF_H,       "FIP", 0x001, PRINT_Fx_FIP,     EXEC_TOGPAR,     R2PP2R_Fx_FIP
501
CS_MENU_TABLE_B_FIL_End
502
 
503
 
504
; ==========================================================================
505
;  The LFO menu
506
; ==========================================================================
507
CS_MENU_TABLE_L_LFO
508
	db	(CS_MENU_TABLE_L_LFO_End-CS_MENU_TABLE_L_LFO)/CS_MENU_ENTRY_LEN, 0x00
509
 
510
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
511
	CS_MENU_ENTRY	CS_MENU_SELECTED_LFO,       "LFO", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
512
	CS_MENU_ENTRY	SID_Ix_LFOx_MODE,           "Wav", 0x009, PRINT_LFOx_WAV,   EXEC_SELPAR,     R2PP2R_LFOx_WAV
513
	CS_MENU_ENTRY	SID_Ix_LFOx_RATE,           "Rte", 0x0ff, PRINT_LFOx_RATE,  EXEC_SELPAR,     R2PP2R_LFOx
514
	CS_MENU_ENTRY	SID_Ix_LFOx_MODE,           "CSn", 0x001, PRINT_LFOx_CSN,   EXEC_TOGPAR,     R2PP2R_LFOx_CSN
515
	CS_MENU_ENTRY	SID_Ix_LFOx_DEPTH,          "Dep", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
516
	CS_MENU_ENTRY	SID_TRG_TARGET_H_L1+8,      "Snc", 0x001, PRINT_LFOx_SNC,   EXEC_TOGPAR,     R2PP2R_LFOx_SNC
517
	CS_MENU_ENTRY	SID_Ix_LFOx_DELAY,          "Del", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
518
	CS_MENU_ENTRY	SID_Ix_LFOx_PHASE,          "Phs", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
519
	CS_MENU_ENTRY	SID_Ix_LFOx_MODE,           "One", 0x001, PRINT_LFOx_ONE,   EXEC_TOGPAR,     R2PP2R_LFOx_ONE
520
CS_MENU_TABLE_L_LFO_End
521
 
522
; --------------------------------------------------------------------------
523
CS_MENU_TABLE_M_LFO
524
	db	(CS_MENU_TABLE_M_LFO_End-CS_MENU_TABLE_M_LFO)/CS_MENU_ENTRY_LEN, 0x00
525
 
526
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
527
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
528
	CS_MENU_ENTRY	CS_MENU_SELECTED_LFO,       "LFO", 0x001, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
529
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "Wav", 0x009, PRINT_LFOx_WAV,   EXEC_SELPAR,     R2PP2R_LFOx_WAV
530
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_RATE,      "Rte", 0x0ff, PRINT_LFOx_RATE,  EXEC_SELPAR,     R2PP2R_LFOx
531
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "CSn", 0x001, PRINT_LFOx_CSN,   EXEC_TOGPAR,     R2PP2R_LFOx_CSN
532
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_P,   "D.P", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
533
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_PW,  "DPW", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
534
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_F,   "D.F", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
535
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "Snc", 0x001, PRINT_LFOx_SNC_M, EXEC_TOGPAR,     R2PP2R_LFOx_SNC_M
536
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DELAY,     "Del", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
537
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_PHASE,     "Phs", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
538
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "One", 0x001, PRINT_LFOx_ONE,   EXEC_TOGPAR,     R2PP2R_LFOx_ONE
539
CS_MENU_TABLE_M_LFO_End
540
 
541
 
542
; --------------------------------------------------------------------------
543
CS_MENU_TABLE_B_LFO
544
	db	(CS_MENU_TABLE_B_LFO_End-CS_MENU_TABLE_B_LFO)/CS_MENU_ENTRY_LEN, 0x00
545
 
546
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
547
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
548
	CS_MENU_ENTRY	CS_MENU_SELECTED_LFO,       "LFO", 0x001, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
549
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "Wav", 0x009, PRINT_LFOx_WAV,   EXEC_SELPAR,     R2PP2R_LFOx_WAV
550
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_RATE,      "Rte", 0x0ff, PRINT_LFOx_RATE,  EXEC_SELPAR,     R2PP2R_LFOx
551
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "CSn", 0x001, PRINT_LFOx_CSN,   EXEC_TOGPAR,     R2PP2R_LFOx_CSN
552
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_P,   "D.P", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
553
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_PW,  "DPW", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
554
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DEPTH_F,   "D.F", 0x0ff, PRINT_LFOx_PMDEC8,EXEC_SELPAR,     R2PP2R_LFOx
555
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "Snc", 0x001, PRINT_LFOx_SNC_M, EXEC_TOGPAR,     R2PP2R_LFOx_SNC_M
556
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_DELAY,     "Del", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
557
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_PHASE,     "Phs", 0x0ff, PRINT_LFOx_DEC,   EXEC_SELPAR,     R2PP2R_LFOx
558
	CS_MENU_ENTRY	SID_Ix_M_Vx_LFO1_MODE,      "One", 0x001, PRINT_LFOx_ONE,   EXEC_TOGPAR,     R2PP2R_LFOx_ONE
559
	CS_MENU_ENTRY	SID_Ix_Vx_ACCENT,	    "Acc", 0x07f, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
560
CS_MENU_TABLE_B_LFO_End
561
 
562
 
563
; ==========================================================================
564
;  The envelope menu
565
; ==========================================================================
566
CS_MENU_TABLE_L_ENV
567
	db	(CS_MENU_TABLE_L_ENV_End-CS_MENU_TABLE_L_ENV)/CS_MENU_ENTRY_LEN, 0x00
568
 
569
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
570
	CS_MENU_ENTRY	CS_MENU_SELECTED_ENV,       "ENV", 0x001, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
571
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DEPTH,        "Dep", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
572
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DELAY,        "Del", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
573
	CS_MENU_ENTRY	SID_Ix_L_ENVx_ATTACK1,      "At1", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
574
	CS_MENU_ENTRY	SID_Ix_L_ENVx_ATTLVL,       "ALv", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
575
	CS_MENU_ENTRY	SID_Ix_L_ENVx_ATTACK2,      "At2", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
576
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DECAY1,       "De1", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
577
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DECLVL,       "DLv", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
578
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DECAY2,       "De2", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
579
	CS_MENU_ENTRY	SID_Ix_L_ENVx_SUSTAIN,      "Sus", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
580
	CS_MENU_ENTRY	SID_Ix_L_ENVx_RELEASE1,     "Re1", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
581
	CS_MENU_ENTRY	SID_Ix_L_ENVx_RELLVL,       "RLv", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
582
	CS_MENU_ENTRY	SID_Ix_L_ENVx_RELEASE2,     "Re2", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
583
	CS_MENU_ENTRY	SID_Ix_L_ENVx_ATT_CURVE,    "CuA", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
584
	CS_MENU_ENTRY	SID_Ix_L_ENVx_DEC_CURVE,    "CuD", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
585
	CS_MENU_ENTRY	SID_Ix_L_ENVx_REL_CURVE,    "CuR", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
586
	CS_MENU_ENTRY	SID_Ix_L_ENVx_MODE,         "LpB", 0x007, PRINT_ENVx_LPB,   EXEC_SELPAR,     R2PP2R_ENVx_LPB
587
	CS_MENU_ENTRY	SID_Ix_L_ENVx_MODE,         "LpE", 0x007, PRINT_ENVx_LPE,   EXEC_SELPAR,     R2PP2R_ENVx_LPE
588
	CS_MENU_ENTRY	SID_Ix_L_ENVx_MODE,         "CSn", 0x001, PRINT_ENVx_CSN,   EXEC_TOGPAR,     R2PP2R_ENVx_CSN
589
CS_MENU_TABLE_L_ENV_End
590
 
591
; --------------------------------------------------------------------------
592
CS_MENU_TABLE_M_ENV
593
	db	(CS_MENU_TABLE_M_ENV_End-CS_MENU_TABLE_M_ENV)/CS_MENU_ENTRY_LEN, 0x00
594
 
595
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
596
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
597
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_DEPTH_P,    "D.P", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
598
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_DEPTH_PW,   "DPW", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
599
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_DEPTH_F,    "D.F", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
600
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_ATTACK,     "Att", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
601
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_DECAY,      "Dec", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
602
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_SUSTAIN,    "Sus", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
603
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_RELEASE,    "Rel", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_ENVx
604
	CS_MENU_ENTRY	SID_Ix_M_Vx_ENV_CURVE,      "Cur", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_ENVx
605
CS_MENU_TABLE_M_ENV_End
606
 
607
 
608
; --------------------------------------------------------------------------
609
CS_MENU_TABLE_B_ENV
610
	db	(CS_MENU_TABLE_B_ENV_End-CS_MENU_TABLE_B_ENV)/CS_MENU_ENTRY_LEN, 0x00
611
 
612
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
613
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
614
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_DEPTH_P,    "D.P", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_Vx
615
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_DEPTH_PW,   "DPW", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_Vx
616
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_DEPTH_F,    "D.F", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_Vx
617
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_ATTACK,     "Att", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_Vx
618
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_DECAY,      "Dec", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_Vx
619
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_SUSTAIN,    "Sus", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_Vx
620
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_RELEASE,    "Rel", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_Vx
621
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_CURVE,      "Cur", 0x0ff, PRINT_ENVx_PMDEC8,EXEC_SELPAR,     R2PP2R_Vx
622
	CS_MENU_ENTRY	SID_Ix_B_Vx_ENV_DECAY_A,    "DcA", 0x0ff, PRINT_ENVx_DEC,   EXEC_SELPAR,     R2PP2R_Vx
623
	CS_MENU_ENTRY	SID_Ix_Vx_ACCENT,	    "Acc", 0x07f, PRINT_Vx_DEC,     EXEC_SELPAR,     R2PP2R_Vx
624
CS_MENU_TABLE_B_ENV_End
625
 
626
 
627
; ==========================================================================
628
;  The modulation matrix menu
629
; ==========================================================================
630
CS_MENU_TABLE_L_MOD
631
	db	(CS_MENU_TABLE_L_MOD_End-CS_MENU_TABLE_L_MOD)/CS_MENU_ENTRY_LEN, 0x00
632
 
633
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
634
	CS_MENU_ENTRY	CS_MENU_SELECTED_MOD,       "MOD", 0x007, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
635
	CS_MENU_ENTRY	SID_Ix_MODx_SRC1,           "Sr1", SID_MOD_SRC_NUM+0x80, PRINT_MODx_SRC, EXEC_SELPAR, R2PP2R_MODx_SRC
636
	CS_MENU_ENTRY	SID_Ix_MODx_SRC2,           "Sr2", SID_MOD_SRC_NUM+0x80, PRINT_MODx_SRC, EXEC_SELPAR, R2PP2R_MODx_SRC
637
	CS_MENU_ENTRY	SID_Ix_MODx_OP,             "Op.", 0x00e, PRINT_MODx_OP,    EXEC_SELPAR,     R2PP2R_MODx_OP
638
	CS_MENU_ENTRY	SID_Ix_MODx_TARG_X1,        "Tr1", SID_MOD_TARG_NUM, PRINT_MODx_TAR, EXEC_SELPAR, R2PP2R_MODx
639
	CS_MENU_ENTRY	SID_Ix_MODx_TARG_X2,        "Tr2", SID_MOD_TARG_NUM, PRINT_MODx_TAR, EXEC_SELPAR, R2PP2R_MODx
640
	CS_MENU_ENTRY	SID_Ix_MODx_DEPTH,          "Dep", 0x0ff, PRINT_MODx_PMDEC8,EXEC_SELPAR,     R2PP2R_MODx
641
	CS_MENU_ENTRY	SID_Ix_MODx_OP,             "Iv1", 0x001, PRINT_MODx_INV1,  EXEC_TOGPAR,     R2PP2R_MODx_INV1
642
	CS_MENU_ENTRY	SID_Ix_MODx_OP,             "Iv2", 0x001, PRINT_MODx_INV2,  EXEC_TOGPAR,     R2PP2R_MODx_INV2
643
	CS_MENU_ENTRY	0,                          "Pt1", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
644
	CS_MENU_ENTRY	1,                          "Pt2", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
645
	CS_MENU_ENTRY	2,                          "Pt3", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
646
	CS_MENU_ENTRY	3,                          "PW1", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
647
	CS_MENU_ENTRY	4,                          "PW2", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
648
	CS_MENU_ENTRY	5,                          "PW3", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
649
	CS_MENU_ENTRY	6,                          "Fil", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
650
	CS_MENU_ENTRY	7,                          "Vol", 0x003, PRINT_MODx_Nx,    EXEC_TOGPAR,     R2PP2R_MODx_Nx
651
CS_MENU_TABLE_L_MOD_End
652
 
653
; ==========================================================================
654
;  The trigger matrix menu
655
; ==========================================================================
656
CS_MENU_TABLE_L_TRG
657
	db	(CS_MENU_TABLE_L_TRG_End-CS_MENU_TABLE_L_TRG)/CS_MENU_ENTRY_LEN, 0x00
658
 
659
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
660
	CS_MENU_ENTRY	CS_MENU_SELECTED_TRG,       "TRG", 0x00d, PRINT_TRGx_SRC,   EXEC_SELPAR,     R2PP2R_VAR
661
	CS_MENU_ENTRY	0,                          "O1L", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
662
	CS_MENU_ENTRY	1,                          "O2L", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
663
	CS_MENU_ENTRY	2,                          "O3L", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
664
	CS_MENU_ENTRY	3,                          "O1R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
665
	CS_MENU_ENTRY	4,                          "O2R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
666
	CS_MENU_ENTRY	5,                          "O3R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
667
	CS_MENU_ENTRY	6,                          "E1A", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
668
	CS_MENU_ENTRY	7,                          "E2A", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
669
	CS_MENU_ENTRY	8,                          "E1R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
670
	CS_MENU_ENTRY	9,                          "E2R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
671
	CS_MENU_ENTRY	10,                         "L1 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
672
	CS_MENU_ENTRY	11,                         "L2 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
673
	CS_MENU_ENTRY	12,                         "L3 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
674
	CS_MENU_ENTRY	13,                         "L4 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
675
	CS_MENU_ENTRY	14,                         "L5 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
676
	CS_MENU_ENTRY	15,                         "L6 ", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
677
	CS_MENU_ENTRY	16,                         "W1R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
678
	CS_MENU_ENTRY	17,                         "W2R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
679
	CS_MENU_ENTRY	18,                         "W3R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
680
	CS_MENU_ENTRY	19,                         "W4R", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
681
	CS_MENU_ENTRY	20,                         "W1S", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
682
	CS_MENU_ENTRY	21,                         "W2S", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
683
	CS_MENU_ENTRY	22,                         "W3S", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
684
	CS_MENU_ENTRY	23,                         "W4S", 0x001, PRINT_TRGx_Nx,    EXEC_TOGPAR,     R2PP2R_TRGx_Nx
685
CS_MENU_TABLE_L_TRG_End
686
 
687
 
688
; ==========================================================================
689
;  The configuration menu
690
; ==========================================================================
691
CS_MENU_TABLE_L_CFG
692
	db	(CS_MENU_TABLE_L_CFG_End-CS_MENU_TABLE_L_CFG)/CS_MENU_ENTRY_LEN, 0x00
693
 
694
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
695
	CS_MENU_ENTRY	SID_Ix_L_VOLUME,            "Vol", 0x07f, PRINT_DEC8,       EXEC_SELPAR,     R2PP2R_PAR8
696
	CS_MENU_ENTRY	SID_Ix_L_FLAGS1,            "Leg", 0x001, PRINT_B0,         EXEC_TOGPAR,     R2PP2R_B0
697
	CS_MENU_ENTRY	SID_Ix_L_FLAGS1,            "WTO", 0x001, PRINT_B1,         EXEC_TOGPAR,     R2PP2R_B1
698
	CS_MENU_ENTRY	SID_Ix_L_FLAGS1,            "SuK", 0x001, PRINT_B2,         EXEC_TOGPAR,     R2PP2R_B2
699
	CS_MENU_ENTRY	SID_Ix_OPT1_FLAGS,          "ABW", 0x001, PRINT_B0,         EXEC_TOGPAR,     R2PP2R_B0
700
CS_MENU_TABLE_L_CFG_End
701
 
702
; --------------------------------------------------------------------------
703
CS_MENU_TABLE_M_CFG
704
	db	(CS_MENU_TABLE_M_CFG_End-CS_MENU_TABLE_M_CFG)/CS_MENU_ENTRY_LEN, 0x00
705
 
706
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
707
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
708
	CS_MENU_ENTRY	SID_Ix_M_VOLUME,            "Vol", 0x07f, PRINT_DEC8,       EXEC_SELPAR,     R2PP2R_PAR8
709
	CS_MENU_ENTRY	SID_Ix_M_Vx_VOICE_ASSGN,    "VAs", 0x008, PRINT_M_Vx_VAS,   EXEC_SELPAR,     R2PP2R_M_Vx_VAS
710
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "Pol", 0x001, PRINT_M_Vx_POL,   EXEC_TOGPAR,     R2PP2R_M_Vx_POL
711
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "Leg", 0x001, PRINT_M_Vx_LEG,   EXEC_TOGPAR,     R2PP2R_M_Vx_LEG
712
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "WTO", 0x001, PRINT_M_Vx_WTO,   EXEC_TOGPAR,     R2PP2R_M_Vx_WTO
713
	CS_MENU_ENTRY	SID_Ix_M_Vx_FLAGS2,         "SuK", 0x001, PRINT_M_Vx_SUK,   EXEC_TOGPAR,     R2PP2R_M_Vx_SUK
714
	CS_MENU_ENTRY	SID_Ix_M_Vx_VELOCITY_ASSGN, "VeA", 0x0ff, PRINT_M_D_Vx_ASG, EXEC_SELPAR,     R2PP2R_M_D_Vx_ASG
715
	CS_MENU_ENTRY	SID_Ix_M_Vx_PITCHBENDER_ASSGN,"PbA", 0x0ff, PRINT_M_D_Vx_ASG, EXEC_SELPAR,   R2PP2R_M_D_Vx_ASG
716
	CS_MENU_ENTRY	SID_Ix_OPT1_FLAGS,          "ABW", 0x001, PRINT_B0,         EXEC_TOGPAR,     R2PP2R_B0
717
CS_MENU_TABLE_M_CFG_End
718
 
719
; --------------------------------------------------------------------------
720
CS_MENU_TABLE_B_CFG
721
CS_MENU_TABLE_D_CFG
722
	db	(CS_MENU_TABLE_B_CFG_End-CS_MENU_TABLE_B_CFG)/CS_MENU_ENTRY_LEN, 0x00
723
 
724
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
725
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
726
	CS_MENU_ENTRY	SID_Ix_B_VOLUME,            "Vol", 0x07f, PRINT_DEC8,       EXEC_SELPAR,     R2PP2R_PAR8
727
	CS_MENU_ENTRY	SID_Ix_OPT1_FLAGS,          "ABW", 0x001, PRINT_B0,         EXEC_TOGPAR,     R2PP2R_B0
728
CS_MENU_TABLE_B_CFG_End
729
 
730
; ==========================================================================
731
;  The arpeggiator menu
732
; ==========================================================================
733
CS_MENU_TABLE_L_ARP
734
	db	(CS_MENU_TABLE_L_ARP_End-CS_MENU_TABLE_L_ARP)/CS_MENU_ENTRY_LEN, 0x00
735
 
736
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
737
	CS_MENU_ENTRY	CS_MENU_SELECTED_OSC_FLAGS, "OSC", 0x006, PRINT_VAR_123,    EXEC_SELPAR,     R2PP2R_VAR_OSC
738
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "On ", 0x001, PRINT_Vx_ARP_ON,  EXEC_TOGPAR,     R2PP2R_Vx_ARP_ON
739
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Dir", 0x006, PRINT_Vx_ARP_DIR, EXEC_SELPAR,     R2PP2R_Vx_ARP_DIR
740
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Sor", 0x001, PRINT_Vx_ARP_SOR, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SOR
741
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Hld", 0x001, PRINT_Vx_ARP_HLD, EXEC_TOGPAR,     R2PP2R_Vx_ARP_HLD
742
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "Spd", 0x03f, PRINT_Vx_ARP_SPD, EXEC_SELPAR,     R2PP2R_Vx_ARP_SPD
743
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "GLn", 0x01f, PRINT_Vx_ARP_GLN, EXEC_SELPAR,     R2PP2R_Vx_ARP_GLN
744
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "Rng", 0x007, PRINT_Vx_ARP_RNG, EXEC_SELPAR,     R2PP2R_Vx_ARP_RNG
745
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Snc", 0x001, PRINT_Vx_ARP_SNC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SNC
746
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "CAC", 0x001, PRINT_Vx_ARP_CAC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_CAC
747
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "One", 0x001, PRINT_Vx_ARP_ONE, EXEC_TOGPAR,     R2PP2R_Vx_ARP_ONE
748
CS_MENU_TABLE_L_ARP_End
749
 
750
; --------------------------------------------------------------------------
751
CS_MENU_TABLE_M_ARP
752
	db	(CS_MENU_TABLE_M_ARP_End-CS_MENU_TABLE_M_ARP)/CS_MENU_ENTRY_LEN, 0x00
753
 
754
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
755
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
756
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "On ", 0x001, PRINT_Vx_ARP_ON,  EXEC_TOGPAR,     R2PP2R_Vx_ARP_ON
757
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Dir", 0x006, PRINT_Vx_ARP_DIR, EXEC_SELPAR,     R2PP2R_Vx_ARP_DIR
758
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Sor", 0x001, PRINT_Vx_ARP_SOR, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SOR
759
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Hld", 0x001, PRINT_Vx_ARP_HLD, EXEC_TOGPAR,     R2PP2R_Vx_ARP_HLD
760
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "Spd", 0x03f, PRINT_Vx_ARP_SPD, EXEC_SELPAR,     R2PP2R_Vx_ARP_SPD
761
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "GLn", 0x01f, PRINT_Vx_ARP_GLN, EXEC_SELPAR,     R2PP2R_Vx_ARP_GLN
762
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "Rng", 0x007, PRINT_Vx_ARP_RNG, EXEC_SELPAR,     R2PP2R_Vx_ARP_RNG
763
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Snc", 0x001, PRINT_Vx_ARP_SNC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SNC
764
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "CAC", 0x001, PRINT_Vx_ARP_CAC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_CAC
765
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "One", 0x001, PRINT_Vx_ARP_ONE, EXEC_TOGPAR,     R2PP2R_Vx_ARP_ONE
766
CS_MENU_TABLE_M_ARP_End
767
 
768
 
769
; --------------------------------------------------------------------------
770
CS_MENU_TABLE_B_ARP
771
	db	(CS_MENU_TABLE_B_ARP_End-CS_MENU_TABLE_B_ARP)/CS_MENU_ENTRY_LEN, 0x00
772
 
773
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
774
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
775
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "On ", 0x001, PRINT_Vx_ARP_ON,  EXEC_TOGPAR,     R2PP2R_Vx_ARP_ON
776
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Dir", 0x006, PRINT_Vx_ARP_DIR, EXEC_SELPAR,     R2PP2R_Vx_ARP_DIR
777
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Sor", 0x001, PRINT_Vx_ARP_SOR, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SOR
778
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Hld", 0x001, PRINT_Vx_ARP_HLD, EXEC_TOGPAR,     R2PP2R_Vx_ARP_HLD
779
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "Spd", 0x03f, PRINT_Vx_ARP_SPD, EXEC_SELPAR,     R2PP2R_Vx_ARP_SPD
780
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "GLn", 0x01f, PRINT_Vx_ARP_GLN, EXEC_SELPAR,     R2PP2R_Vx_ARP_GLN
781
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_GL_RNG,       "Rng", 0x007, PRINT_Vx_ARP_RNG, EXEC_SELPAR,     R2PP2R_Vx_ARP_RNG
782
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "Snc", 0x001, PRINT_Vx_ARP_SNC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_SNC
783
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_MODE,         "CAC", 0x001, PRINT_Vx_ARP_CAC, EXEC_TOGPAR,     R2PP2R_Vx_ARP_CAC
784
	CS_MENU_ENTRY	SID_Ix_Vx_ARP_SPEED_DIV,    "One", 0x001, PRINT_Vx_ARP_ONE, EXEC_TOGPAR,     R2PP2R_Vx_ARP_ONE
785
CS_MENU_TABLE_B_ARP_End
786
 
787
 
788
; ==========================================================================
789
;  The KNB menu
790
; ==========================================================================
791
CS_MENU_TABLE_L_KNB
792
CS_MENU_TABLE_M_KNB
793
CS_MENU_TABLE_D_KNB
794
	db	(CS_MENU_TABLE_L_KNB_End-CS_MENU_TABLE_L_KNB)/CS_MENU_ENTRY_LEN, 0x00
795
 
796
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
797
	CS_MENU_ENTRY	SID_KNOB_1,                 "K#1", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
798
	CS_MENU_ENTRY	SID_KNOB_2,                 "K#2", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
799
	CS_MENU_ENTRY	SID_KNOB_3,                 "K#3", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
800
	CS_MENU_ENTRY	SID_KNOB_4,                 "K#4", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
801
	CS_MENU_ENTRY	SID_KNOB_5,                 "K#5", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
802
	CS_MENU_ENTRY	SID_KNOB_VEL,               "K#V", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
803
	CS_MENU_ENTRY	SID_KNOB_PB,                "K#P", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
804
	CS_MENU_ENTRY	SID_KNOB_ATH,               "K#A", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
805
	CS_MENU_ENTRY	CS_MENU_SELECTED_KNOB,      "Knb", 0x007, PRINT_KNB,        EXEC_SELPAR,     R2PP2R_VAR
806
	CS_MENU_ENTRY	SID_Ix_Px_ASSIGN1,          "Pa1", 0x0ff, PRINT_KNB_PAR,    EXEC_SELPAR,     R2PP2R_KNB_ASG
807
	CS_MENU_ENTRY	SID_Ix_Px_ASSIGN2,          "Pa2", 0x0ff, PRINT_KNB_PAR,    EXEC_SELPAR,     R2PP2R_KNB_ASG
808
	CS_MENU_ENTRY	SID_Ix_Px_MIN,              "Min", 0x0ff, PRINT_KNB_MINMAX, EXEC_SELPAR,     R2PP2R_KNB_P
809
	CS_MENU_ENTRY	SID_Ix_Px_MAX,              "Max", 0x0ff, PRINT_KNB_MINMAX, EXEC_SELPAR,     R2PP2R_KNB_P
810
CS_MENU_TABLE_L_KNB_End
811
 
812
 
813
CS_MENU_TABLE_B_KNB
814
	db	(CS_MENU_TABLE_B_KNB_End-CS_MENU_TABLE_B_KNB)/CS_MENU_ENTRY_LEN, 0x00
815
 
816
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
817
	CS_MENU_ENTRY	SID_KNOB_1,                 "Cut", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
818
	CS_MENU_ENTRY	SID_KNOB_2,                 "Res", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
819
	CS_MENU_ENTRY	SID_KNOB_3,                 "EMd", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
820
	CS_MENU_ENTRY	SID_KNOB_4,                 "Dec", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
821
	CS_MENU_ENTRY	SID_KNOB_5,                 "Acc", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
822
	CS_MENU_ENTRY	SID_KNOB_VEL,               "K#V", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
823
	CS_MENU_ENTRY	SID_KNOB_PB,                "K#P", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
824
	CS_MENU_ENTRY	SID_KNOB_ATH,               "K#A", 0x0ff, PRINT_KNB_VALUE,  EXEC_SELPAR,     R2PP2R_KNB_VALUE
825
	CS_MENU_ENTRY	CS_MENU_SELECTED_KNOB,      "Knb", 0x007, PRINT_KNB,        EXEC_SELPAR,     R2PP2R_VAR
826
	CS_MENU_ENTRY	SID_Ix_Px_ASSIGN1,          "Pa1", 0x0ff, PRINT_KNB_PAR,    EXEC_SELPAR,     R2PP2R_KNB_ASG
827
	CS_MENU_ENTRY	SID_Ix_Px_ASSIGN2,          "Pa2", 0x0ff, PRINT_KNB_PAR,    EXEC_SELPAR,     R2PP2R_KNB_ASG
828
	CS_MENU_ENTRY	SID_Ix_Px_MIN,              "Min", 0x0ff, PRINT_KNB_MINMAX, EXEC_SELPAR,     R2PP2R_KNB_P
829
	CS_MENU_ENTRY	SID_Ix_Px_MAX,              "Max", 0x0ff, PRINT_KNB_MINMAX, EXEC_SELPAR,     R2PP2R_KNB_P
830
CS_MENU_TABLE_B_KNB_End
831
 
832
 
833
; ==========================================================================
834
;  The EXT menu
835
; ==========================================================================
836
CS_MENU_TABLE_L_EXT
837
CS_MENU_TABLE_M_EXT
838
CS_MENU_TABLE_B_EXT
839
CS_MENU_TABLE_D_EXT
840
	db	(CS_MENU_TABLE_L_EXT_End-CS_MENU_TABLE_L_EXT)/CS_MENU_ENTRY_LEN, 0x00
841
 
842
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
843
	CS_MENU_ENTRY	SID_Ix_EXT_PAR1_L,          "A#1", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
844
	CS_MENU_ENTRY	SID_Ix_EXT_PAR2_L,          "A#2", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
845
	CS_MENU_ENTRY	SID_Ix_EXT_PAR3_L,          "A#3", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
846
	CS_MENU_ENTRY	SID_Ix_EXT_PAR4_L,          "A#4", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
847
	CS_MENU_ENTRY	SID_Ix_EXT_PAR5_L,          "A#5", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
848
	CS_MENU_ENTRY	SID_Ix_EXT_PAR6_L,          "A#6", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
849
	CS_MENU_ENTRY	SID_Ix_EXT_PAR7_L,          "A#7", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
850
	CS_MENU_ENTRY	SID_Ix_EXT_PAR8_L,          "A#8", 0xfff, PRINT_EXT_VALUE, EXEC_SELPAR,     R2PP2R_EXT_VALUE
851
	CS_MENU_ENTRY	0,                          "S#1", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
852
	CS_MENU_ENTRY	1,                          "S#2", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
853
	CS_MENU_ENTRY	2,                          "S#3", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
854
	CS_MENU_ENTRY	3,                          "S#4", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
855
	CS_MENU_ENTRY	4,                          "S#5", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
856
	CS_MENU_ENTRY	5,                          "S#6", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
857
	CS_MENU_ENTRY	6,                          "S#7", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
858
	CS_MENU_ENTRY	7,                          "S#8", 0x001, PRINT_EXT_SWITCH,EXEC_TOGPAR,     R2PP2R_EXT_SWITCH
859
CS_MENU_TABLE_L_EXT_End
860
 
861
 
862
; ==========================================================================
863
;  The wavetable configuration menu
864
; ==========================================================================
865
CS_MENU_TABLE_L_WTC
866
	db	(CS_MENU_TABLE_L_WTC_End-CS_MENU_TABLE_L_WTC)/CS_MENU_ENTRY_LEN, 0x00
867
 
868
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
869
	CS_MENU_ENTRY	CS_MENU_SELECTED_WT,        " WT", 0x003, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
870
	CS_MENU_ENTRY	SID_Ix_WTx_ASSGN,           "Par", 0x0ff, PRINT_WTx_PAR,    EXEC_SELPAR,     R2PP2R_WTx_PAR
871
	CS_MENU_ENTRY	SID_Ix_WTx_SPEED,           "SID", 0x003, PRINT_WTx_SID,    EXEC_TOGPAR,     R2PP2R_WTx_SID
872
	CS_MENU_ENTRY	SID_Ix_WTx_SPEED,           "Spd", 0x03f, PRINT_WTx_SPD,    EXEC_SELPAR,     R2PP2R_WTx_SPD
873
	CS_MENU_ENTRY	SID_Ix_WTx_BEGIN,           "MOD", 0x001, PRINT_WTx_B7,     EXEC_TOGPAR,     R2PP2R_WTx_B7
874
	CS_MENU_ENTRY	SID_Ix_WTx_BEGIN,           "Beg", 0x07f, PRINT_WTx_POS,    EXEC_SELPAR,     R2PP2R_WTx_POS
875
	CS_MENU_ENTRY	SID_Ix_WTx_END,             "End", 0x07f, PRINT_WTx_POS,    EXEC_SELPAR,     R2PP2R_WTx_POS
876
	CS_MENU_ENTRY	SID_Ix_WTx_LOOP,            "Lop", 0x080, PRINT_WTx_LOP,    EXEC_SELPAR,     R2PP2R_WTx_LOP
877
	CS_MENU_ENTRY	CS_STAT2,                   "Val", 0x001, PRINT_WT_VAL,     EXEC_TOGPAR,     R2PP2R_WT_VAL
878
	CS_MENU_ENTRY	CS_MENU_L_WTE,              "WTE", 0x000, PRINT_WT_GO,      EXEC_MENU,       R2PP2R_NOP
879
CS_MENU_TABLE_L_WTC_End
880
 
881
; --------------------------------------------------------------------------
882
CS_MENU_TABLE_M_WTC
883
	db	(CS_MENU_TABLE_M_WTC_End-CS_MENU_TABLE_M_WTC)/CS_MENU_ENTRY_LEN, 0x00
884
 
885
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
886
	CS_MENU_ENTRY	CS_MENU_SELECTED_INS,       "Ins", 0x005, PRINT_VAR_DECP1,  EXEC_SELPAR,     R2PP2R_VAR
887
	CS_MENU_ENTRY	SID_Ix_M_Vx_WT_ASSGN,       "Par", 0x0ff, PRINT_WTx_PAR,    EXEC_SELPAR,     R2PP2R_WTx_PAR
888
	CS_MENU_ENTRY	SID_Ix_M_Vx_WT_SPEED,       "Spd", 0x03f, PRINT_WTx_SPD,    EXEC_SELPAR,     R2PP2R_WTx_SPD
889
	CS_MENU_ENTRY	SID_Ix_M_Vx_WT_BEGIN,       "Beg", 0x07f, PRINT_WTx_POS,    EXEC_SELPAR,     R2PP2R_WTx_POS
890
	CS_MENU_ENTRY	SID_Ix_M_Vx_WT_END,         "End", 0x07f, PRINT_WTx_POS,    EXEC_SELPAR,     R2PP2R_WTx_POS
891
	CS_MENU_ENTRY	SID_Ix_M_Vx_WT_LOOP,        "Lop", 0x080, PRINT_WTx_LOP,    EXEC_SELPAR,     R2PP2R_WTx_LOP
892
	CS_MENU_ENTRY	CS_STAT2,                   "Val", 0x001, PRINT_WT_VAL,     EXEC_TOGPAR,     R2PP2R_WT_VAL
893
	CS_MENU_ENTRY	CS_MENU_M_WTE,              "WTE", 0x000, PRINT_WT_GO,      EXEC_MENU,       R2PP2R_NOP
894
CS_MENU_TABLE_M_WTC_End
895
 
896
; --------------------------------------------------------------------------
897
CS_MENU_TABLE_B_SQC
898
	db	(CS_MENU_TABLE_B_SQC_End-CS_MENU_TABLE_B_SQC)/CS_MENU_ENTRY_LEN, 0x00
899
 
900
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
901
	CS_MENU_ENTRY	CS_MENU_SELECTED_SID_LR,    "ACh", 0x002, PRINT_VAR_LR,     EXEC_TOGPAR,     R2PP2R_VAR_SIDLR
902
	CS_MENU_ENTRY	SID_Ix_B_Vx_FLAGS2,         "On ", 0x001, PRINT_M_Vx_WTO,   EXEC_TOGPAR,     R2PP2R_B_Vx_MODE
903
	CS_MENU_ENTRY	SID_Ix_B_Vx_SEQ_NUM,        "Seq", 0x008, PRINT_SEQ_NUM,    EXEC_SELPAR,     R2PP2R_Vx
904
	CS_MENU_ENTRY	SID_Ix_B_Vx_SEQ_SPEED,      "Spd", 0x03f, PRINT_WTx_SPD,    EXEC_SELPAR,     R2PP2R_B_Vx_SEQ_SPD
905
	CS_MENU_ENTRY	SID_Ix_B_Vx_SEQ_LENGTH,     "Len", 0x00f, PRINT_Vx_DECP1,   EXEC_SELPAR,     R2PP2R_Vx
906
	CS_MENU_ENTRY	SID_Ix_B_Vx_SEQ_SPEED,      "S16", 0x001, PRINT_SEQ_S16,    EXEC_TOGPAR,     R2PP2R_B_Vx_SEQ_S16
907
	CS_MENU_ENTRY	SID_Ix_B_Vx_SEQ_ASSGN,      "Par", 0x0ff, PRINT_WTx_PAR,    EXEC_SELPAR,     R2PP2R_WTx_PAR
908
	CS_MENU_ENTRY	CS_MENU_B_SEQ,              "SEQ", 0x000, PRINT_WT_GO,      EXEC_MENU,       R2PP2R_NOP
909
CS_MENU_TABLE_B_SQC_End
910
 
911
; --------------------------------------------------------------------------
912
CS_MENU_TABLE_D_SQC
913
	db	(CS_MENU_TABLE_D_SQC_End-CS_MENU_TABLE_D_SQC)/CS_MENU_ENTRY_LEN, 0x00
914
 
915
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
916
	CS_MENU_ENTRY	SID_Ix_D_SEQ_SPEED,         "On ", 0x001, PRINT_D_SEQ_ON,   EXEC_TOGPAR,     R2PP2R_WTx_B6
917
	CS_MENU_ENTRY	SID_Ix_D_SEQ_NUM,           "Seq", 0x008, PRINT_SEQ_NUM,    EXEC_SELPAR,     R2PP2R_WTx_PAR
918
	CS_MENU_ENTRY	SID_Ix_D_SEQ_SPEED,         "Spd", 0x03f, PRINT_WTx_SPD,    EXEC_SELPAR,     R2PP2R_WTx_SPD
919
	CS_MENU_ENTRY	SID_Ix_D_SEQ_LENGTH,        "Len", 0x00f, PRINT_WTx_PAR_P1, EXEC_SELPAR,     R2PP2R_WTx_PAR
920
	CS_MENU_ENTRY	SID_Ix_D_SEQ_SPEED,         "S16", 0x001, PRINT_SEQ_S16,    EXEC_TOGPAR,     R2PP2R_WTx_B7
921
	CS_MENU_ENTRY	CS_MENU_D_SEQ,              "SEQ", 0x000, PRINT_WT_GO,      EXEC_MENU,       R2PP2R_NOP
922
CS_MENU_TABLE_D_SQC_End
923
 
924
 
925
; ==========================================================================
926
;  The wavetable editor
927
; ==========================================================================
928
CS_MENU_TABLE_L_WTE
929
	db	(CS_MENU_TABLE_L_WTE_End-CS_MENU_TABLE_L_WTE)/CS_MENU_ENTRY_LEN, 0x00
930
 
931
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
932
	CS_MENU_ENTRY	CS_MENU_WT_POS,             "Pos", 0x080, PRINT_WTE_POS,   EXEC_SELPAR,     R2PP2R_VAR
933
	CS_MENU_ENTRY	0,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
934
	CS_MENU_ENTRY	1,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
935
	CS_MENU_ENTRY	2,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
936
	CS_MENU_ENTRY	3,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
937
	CS_MENU_ENTRY	CS_STAT2,                   "Val", 0x001, PRINT_WT_VAL,    EXEC_TOGPAR,     R2PP2R_WT_VAL
938
	CS_MENU_ENTRY	CS_MENU_L_WTC,              "WTC", 0x000, PRINT_WT_GO,     EXEC_MENU,       R2PP2R_NOP
939
CS_MENU_TABLE_L_WTE_End
940
 
941
; --------------------------------------------------------------------------
942
CS_MENU_TABLE_M_WTE
943
	db	(CS_MENU_TABLE_M_WTE_End-CS_MENU_TABLE_M_WTE)/CS_MENU_ENTRY_LEN, 0x00
944
 
945
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
946
	CS_MENU_ENTRY	CS_MENU_WT_POS,             "Pos", 0x080, PRINT_WTE_POS,   EXEC_SELPAR,     R2PP2R_VAR
947
	CS_MENU_ENTRY	0,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
948
	CS_MENU_ENTRY	1,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
949
	CS_MENU_ENTRY	2,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
950
	CS_MENU_ENTRY	3,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
951
	CS_MENU_ENTRY	4,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
952
	CS_MENU_ENTRY	5,                          "$!!", 0x0ff, PRINT_WTE_PAR,   EXEC_SELPAR,     R2PP2R_WTE_PAR
953
	CS_MENU_ENTRY	CS_STAT2,                   "Val", 0x001, PRINT_WT_VAL,    EXEC_TOGPAR,     R2PP2R_WT_VAL
954
	CS_MENU_ENTRY	CS_MENU_M_WTC,              "WTC", 0x000, PRINT_WT_GO,     EXEC_MENU,       R2PP2R_NOP
955
CS_MENU_TABLE_M_WTE_End
956
 
957
; --------------------------------------------------------------------------
958
CS_MENU_TABLE_B_SEQ
959
	db	(CS_MENU_TABLE_B_SEQ_End-CS_MENU_TABLE_B_SEQ)/CS_MENU_ENTRY_LEN, 0x00
960
 
961
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
962
	CS_MENU_ENTRY	CS_MENU_WT_SEQ,             "Seq", 0x007, PRINT_VAR_DECP1, EXEC_SELPAR,     R2PP2R_VAR
963
	CS_MENU_ENTRY	CS_MENU_WT_POS,             "Pos", 0x010, PRINT_SEQ_POS,   EXEC_SELPAR,     R2PP2R_VAR
964
	CS_MENU_ENTRY	0,                          "Nte", 0x00c, PRINT_B_SEQ_VAL, EXEC_SELPAR,     R2PP2R_B_SEQ_VAL
965
	CS_MENU_ENTRY	1,                          "Oct", 0x003, PRINT_B_SEQ_VAL, EXEC_TOGPAR,     R2PP2R_B_SEQ_VAL
966
	CS_MENU_ENTRY	2,                          "S/G", 0x003, PRINT_B_SEQ_VAL, EXEC_TOGPAR,     R2PP2R_B_SEQ_VAL
967
	CS_MENU_ENTRY	3,                          "Acc", 0x001, PRINT_B_SEQ_VAL, EXEC_TOGPAR,     R2PP2R_B_SEQ_VAL
968
	CS_MENU_ENTRY	4,                          "Par", 0x07f, PRINT_B_SEQ_VAL, EXEC_SELPAR,     R2PP2R_B_SEQ_VAL
969
	CS_MENU_ENTRY	0,                          "Cpy", 0x000, PRINT_NOP,       EXEC_SEQ_CPY,    R2PP2R_NOP
970
	CS_MENU_ENTRY	0,                          "Pst", 0x000, PRINT_NOP,       EXEC_SEQ_PST,    R2PP2R_NOP
971
	CS_MENU_ENTRY	0,                          "Clr", 0x000, PRINT_NOP,       EXEC_SEQ_CLR,    R2PP2R_NOP
972
	CS_MENU_ENTRY	CS_MENU_B_SQC,              "SQC", 0x000, PRINT_WT_GO,     EXEC_MENU,       R2PP2R_NOP
973
CS_MENU_TABLE_B_SEQ_End
974
 
975
; --------------------------------------------------------------------------
976
CS_MENU_TABLE_D_SEQ
977
	db	(CS_MENU_TABLE_D_SEQ_End-CS_MENU_TABLE_D_SEQ)/CS_MENU_ENTRY_LEN, 0x00
978
 
979
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
980
	CS_MENU_ENTRY	CS_MENU_WT_SEQ,             "Seq", 0x007, PRINT_VAR_DECP1, EXEC_SELPAR,     R2PP2R_VAR
981
	CS_MENU_ENTRY	CS_MENU_SELECTED_TRK,       "Trk", 0x007, PRINT_VAR_DECP1, EXEC_SELPAR,     R2PP2R_VAR
982
	CS_MENU_ENTRY	CS_MENU_NAME_POS,           "EDT", 0x00f, PRINT_WT_GO,     EXEC_EDIT_SEQ,   R2PP2R_EDIT_SEQ
983
	CS_MENU_ENTRY	0,                          "Cpy", 0x000, PRINT_NOP,       EXEC_SEQ_CPY,    R2PP2R_NOP
984
	CS_MENU_ENTRY	0,                          "Pst", 0x000, PRINT_NOP,       EXEC_SEQ_PST,    R2PP2R_NOP
985
	CS_MENU_ENTRY	0,                          "Clr", 0x000, PRINT_NOP,       EXEC_SEQ_CLR,    R2PP2R_NOP
986
	CS_MENU_ENTRY	CS_MENU_D_SQC,              "SQC", 0x000, PRINT_WT_GO,     EXEC_MENU,       R2PP2R_NOP
987
CS_MENU_TABLE_D_SEQ_End
988
 
989
 
990
; ==========================================================================
991
;  The random generator menu
992
; ==========================================================================
993
CS_MENU_TABLE_L_RND
994
	db	(CS_MENU_TABLE_L_RND_End-CS_MENU_TABLE_L_RND)/CS_MENU_ENTRY_LEN, 0x00
995
 
996
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
997
	CS_MENU_ENTRY	0x00,                       "All", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
998
	CS_MENU_ENTRY	0x01,                       "Osc", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
999
	CS_MENU_ENTRY	0x02,                       "Fil", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1000
	CS_MENU_ENTRY	0x03,                       "LFO", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1001
	CS_MENU_ENTRY	0x04,                       "ENV", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1002
	CS_MENU_ENTRY	0x05,                       "Mod", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1003
	CS_MENU_ENTRY	0x06,                       "Trg", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1004
	CS_MENU_ENTRY	0x07,                       "WTC", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1005
	CS_MENU_ENTRY	0x08,                       "WTE", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1006
	CS_MENU_ENTRY	0x09,                       "Knb", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1007
	CS_MENU_ENTRY	0x0a,                       "Ext", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1008
CS_MENU_TABLE_L_RND_End
1009
 
1010
CS_MENU_TABLE_M_RND
1011
	db	(CS_MENU_TABLE_M_RND_End-CS_MENU_TABLE_M_RND)/CS_MENU_ENTRY_LEN, 0x00
1012
 
1013
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
1014
	CS_MENU_ENTRY	0x00,                       "All", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1015
	CS_MENU_ENTRY	0x01,                       "Osc", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1016
	CS_MENU_ENTRY	0x02,                       "Fil", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1017
	CS_MENU_ENTRY	0x03,                       "LFO", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1018
	CS_MENU_ENTRY	0x04,                       "ENV", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1019
	CS_MENU_ENTRY	0x07,                       "WTC", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1020
	CS_MENU_ENTRY	0x08,                       "WTE", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1021
	CS_MENU_ENTRY	0x09,                       "Knb", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1022
	CS_MENU_ENTRY	0x0a,                       "Ext", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1023
CS_MENU_TABLE_M_RND_End
1024
 
1025
 
1026
CS_MENU_TABLE_B_RND
1027
	db	(CS_MENU_TABLE_B_RND_End-CS_MENU_TABLE_B_RND)/CS_MENU_ENTRY_LEN, 0x00
1028
 
1029
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
1030
	CS_MENU_ENTRY	0x00,                       "All", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1031
	CS_MENU_ENTRY	0x0b,                       "Nte", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1032
	CS_MENU_ENTRY	0x0c,                       "Gte", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1033
	CS_MENU_ENTRY	0x0d,                       "Sld", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1034
	CS_MENU_ENTRY	0x0e,                       "Acc", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1035
	CS_MENU_ENTRY	0x0f,                       "Par", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1036
	CS_MENU_ENTRY	0x01,                       "Osc", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1037
	CS_MENU_ENTRY	0x02,                       "Fil", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1038
	CS_MENU_ENTRY	0x03,                       "LFO", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1039
	CS_MENU_ENTRY	0x04,                       "ENV", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1040
	CS_MENU_ENTRY	0x09,                       "Knb", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1041
	CS_MENU_ENTRY	0x0a,                       "Ext", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1042
CS_MENU_TABLE_B_RND_End
1043
 
1044
 
1045
CS_MENU_TABLE_D_RND
1046
	db	(CS_MENU_TABLE_D_RND_End-CS_MENU_TABLE_D_RND)/CS_MENU_ENTRY_LEN, 0x00
1047
 
1048
	;;              Register (00=dummy)         |<->|  max   print ix          exec ix          parameter transfer
1049
	CS_MENU_ENTRY	0x00,                       "All", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1050
	CS_MENU_ENTRY	0x10,                       "Seq", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1051
	CS_MENU_ENTRY	0x01,                       "Drm", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1052
	CS_MENU_ENTRY	0x02,                       "Fil", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1053
	CS_MENU_ENTRY	0x09,                       "Knb", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1054
	CS_MENU_ENTRY	0x0a,                       "Ext", 0x000, PRINT_RND_GEN,   EXEC_RND,        R2PP2R_NOP
1055
CS_MENU_TABLE_D_RND_End
1056
 
1057
 
1058
; ==========================================================================
1059
;  The save menu
1060
; ==========================================================================
1061
CS_MENU_TABLE_L_SAV
1062
CS_MENU_TABLE_B_SAV
1063
CS_MENU_TABLE_D_SAV
1064
CS_MENU_TABLE_M_SAV
1065
	db	(CS_MENU_TABLE_L_SAV_End-CS_MENU_TABLE_L_SAV)/CS_MENU_ENTRY_LEN, 0x00
1066
 
1067
	;;              Register (00=dummy)         |<->|  max    print ix          exec ix          parameter transfer
1068
	CS_MENU_ENTRY	CS_MENU_SAVE_BANK,          "B# ", 0x007, PRINT_SAVE_BNK,   EXEC_SELPAR,     R2PP2R_VAR
1069
	CS_MENU_ENTRY	CS_MENU_SAVE_PATCH,         "P# ", 0x07f, PRINT_SAVE_PAT,   EXEC_SELPAR,     R2PP2R_VAR
1070
	CS_MENU_ENTRY	SID_Ix_NAME_x,              "do!", 0x07f, PRINT_SAVE_NAME,  EXEC_SAVE_PATCH, R2PP2R_SAVE_NAME
1071
CS_MENU_TABLE_L_SAV_End