46
46
#include "uicommands.h"
47
47
#include "uimenu.h"
48
48
#include "uisettings.h"
49
50
#include "uisound.h"
50
51
#include "videoarch.h"
52
53
#include "vsidui.h"
53
54
#include "vsiduiunix.h"
54
#include "x11/x11ui.h"
57
56
extern struct ui_menu_entry_s sid_submenu[];
58
/* FIXME: sid menus need to be handled differently, but still need to
59
figure out the right way. */
62
UI_MENU_DEFINE_RADIO(SidStereoAddressStart)
64
static ui_menu_entry_t set_sid_stereo_address_d4xx_submenu[] = {
65
{ "*$D420", (ui_callback_t)radio_SidStereoAddressStart,
66
(ui_callback_data_t)0xd420, NULL },
67
{ "*$D440", (ui_callback_t)radio_SidStereoAddressStart,
68
(ui_callback_data_t)0xd440, NULL },
69
{ "*$D460", (ui_callback_t)radio_SidStereoAddressStart,
70
(ui_callback_data_t)0xd460, NULL },
71
{ "*$D480", (ui_callback_t)radio_SidStereoAddressStart,
72
(ui_callback_data_t)0xd480, NULL },
73
{ "*$D4A0", (ui_callback_t)radio_SidStereoAddressStart,
74
(ui_callback_data_t)0xd4a0, NULL },
75
{ "*$D4C0", (ui_callback_t)radio_SidStereoAddressStart,
76
(ui_callback_data_t)0xd4c0, NULL },
77
{ "*$D4E0", (ui_callback_t)radio_SidStereoAddressStart,
78
(ui_callback_data_t)0xd4e0, NULL },
82
static ui_menu_entry_t set_sid_stereo_address_d5xx_submenu[] = {
83
{ "*$D500", (ui_callback_t)radio_SidStereoAddressStart,
84
(ui_callback_data_t)0xd500, NULL },
85
{ "*$D520", (ui_callback_t)radio_SidStereoAddressStart,
86
(ui_callback_data_t)0xd520, NULL },
87
{ "*$D540", (ui_callback_t)radio_SidStereoAddressStart,
88
(ui_callback_data_t)0xd540, NULL },
89
{ "*$D560", (ui_callback_t)radio_SidStereoAddressStart,
90
(ui_callback_data_t)0xd560, NULL },
91
{ "*$D580", (ui_callback_t)radio_SidStereoAddressStart,
92
(ui_callback_data_t)0xd580, NULL },
93
{ "*$D5A0", (ui_callback_t)radio_SidStereoAddressStart,
94
(ui_callback_data_t)0xd5a0, NULL },
95
{ "*$D5C0", (ui_callback_t)radio_SidStereoAddressStart,
96
(ui_callback_data_t)0xd5c0, NULL },
97
{ "*$D5E0", (ui_callback_t)radio_SidStereoAddressStart,
98
(ui_callback_data_t)0xd5e0, NULL },
102
static ui_menu_entry_t set_sid_stereo_address_d6xx_submenu[] = {
103
{ "*$D600", (ui_callback_t)radio_SidStereoAddressStart,
104
(ui_callback_data_t)0xd600, NULL },
105
{ "*$D620", (ui_callback_t)radio_SidStereoAddressStart,
106
(ui_callback_data_t)0xd620, NULL },
107
{ "*$D640", (ui_callback_t)radio_SidStereoAddressStart,
108
(ui_callback_data_t)0xd640, NULL },
109
{ "*$D660", (ui_callback_t)radio_SidStereoAddressStart,
110
(ui_callback_data_t)0xd660, NULL },
111
{ "*$D680", (ui_callback_t)radio_SidStereoAddressStart,
112
(ui_callback_data_t)0xd680, NULL },
113
{ "*$D6A0", (ui_callback_t)radio_SidStereoAddressStart,
114
(ui_callback_data_t)0xd6a0, NULL },
115
{ "*$D6C0", (ui_callback_t)radio_SidStereoAddressStart,
116
(ui_callback_data_t)0xd6c0, NULL },
117
{ "*$D6E0", (ui_callback_t)radio_SidStereoAddressStart,
118
(ui_callback_data_t)0xd6e0, NULL },
122
static ui_menu_entry_t set_sid_stereo_address_d7xx_submenu[] = {
123
{ "*$D700", (ui_callback_t)radio_SidStereoAddressStart,
124
(ui_callback_data_t)0xd700, NULL },
125
{ "*$D720", (ui_callback_t)radio_SidStereoAddressStart,
126
(ui_callback_data_t)0xd720, NULL },
127
{ "*$D740", (ui_callback_t)radio_SidStereoAddressStart,
128
(ui_callback_data_t)0xd740, NULL },
129
{ "*$D760", (ui_callback_t)radio_SidStereoAddressStart,
130
(ui_callback_data_t)0xd760, NULL },
131
{ "*$D780", (ui_callback_t)radio_SidStereoAddressStart,
132
(ui_callback_data_t)0xd780, NULL },
133
{ "*$D7A0", (ui_callback_t)radio_SidStereoAddressStart,
134
(ui_callback_data_t)0xd7a0, NULL },
135
{ "*$D7C0", (ui_callback_t)radio_SidStereoAddressStart,
136
(ui_callback_data_t)0xd7c0, NULL },
137
{ "*$D7E0", (ui_callback_t)radio_SidStereoAddressStart,
138
(ui_callback_data_t)0xd7e0, NULL },
142
static ui_menu_entry_t set_sid_stereo_address_dexx_submenu[] = {
143
{ "*$DE00", (ui_callback_t)radio_SidStereoAddressStart,
144
(ui_callback_data_t)0xde00, NULL },
145
{ "*$DE20", (ui_callback_t)radio_SidStereoAddressStart,
146
(ui_callback_data_t)0xde20, NULL },
147
{ "*$DE40", (ui_callback_t)radio_SidStereoAddressStart,
148
(ui_callback_data_t)0xde40, NULL },
149
{ "*$DE60", (ui_callback_t)radio_SidStereoAddressStart,
150
(ui_callback_data_t)0xde60, NULL },
151
{ "*$DE80", (ui_callback_t)radio_SidStereoAddressStart,
152
(ui_callback_data_t)0xde80, NULL },
153
{ "*$DEA0", (ui_callback_t)radio_SidStereoAddressStart,
154
(ui_callback_data_t)0xdea0, NULL },
155
{ "*$DEC0", (ui_callback_t)radio_SidStereoAddressStart,
156
(ui_callback_data_t)0xdec0, NULL },
157
{ "*$DEE0", (ui_callback_t)radio_SidStereoAddressStart,
158
(ui_callback_data_t)0xdee0, NULL },
162
static ui_menu_entry_t set_sid_stereo_address_dfxx_submenu[] = {
163
{ "*$DF00", (ui_callback_t)radio_SidStereoAddressStart,
164
(ui_callback_data_t)0xdf00, NULL },
165
{ "*$DF20", (ui_callback_t)radio_SidStereoAddressStart,
166
(ui_callback_data_t)0xdf20, NULL },
167
{ "*$DF40", (ui_callback_t)radio_SidStereoAddressStart,
168
(ui_callback_data_t)0xdf40, NULL },
169
{ "*$DF60", (ui_callback_t)radio_SidStereoAddressStart,
170
(ui_callback_data_t)0xdf60, NULL },
171
{ "*$DF80", (ui_callback_t)radio_SidStereoAddressStart,
172
(ui_callback_data_t)0xdf80, NULL },
173
{ "*$DFA0", (ui_callback_t)radio_SidStereoAddressStart,
174
(ui_callback_data_t)0xdfa0, NULL },
175
{ "*$DFC0", (ui_callback_t)radio_SidStereoAddressStart,
176
(ui_callback_data_t)0xdfc0, NULL },
177
{ "*$DFE0", (ui_callback_t)radio_SidStereoAddressStart,
178
(ui_callback_data_t)0xdfe0, NULL },
182
static ui_menu_entry_t set_sid_stereo_address_submenu[] = {
184
NULL, NULL, set_sid_stereo_address_d4xx_submenu },
186
NULL, NULL, set_sid_stereo_address_d5xx_submenu },
188
NULL, NULL, set_sid_stereo_address_d6xx_submenu },
190
NULL, NULL, set_sid_stereo_address_d7xx_submenu },
192
NULL, NULL, set_sid_stereo_address_dexx_submenu },
194
NULL, NULL, set_sid_stereo_address_dfxx_submenu },
198
UI_MENU_DEFINE_TOGGLE(SidStereo)
199
UI_MENU_DEFINE_TOGGLE(SidFilters)
201
ui_menu_entry_t sid_submenu[] = {
203
NULL, NULL, sid_engine_submenu },
206
(ui_callback_t)toggle_SidStereo, NULL, NULL },
207
{ N_("*Second SID base address"),
208
NULL, NULL, set_sid_stereo_address_submenu },
210
{ N_("*Emulate filters"),
211
(ui_callback_t)toggle_SidFilters, NULL, NULL },
213
NULL, NULL, sid_model_submenu },
216
{ N_("reSID sampling method"),
217
NULL, NULL, sid_resid_sampling_submenu },
218
{ N_("reSID resampling passband..."),
219
(ui_callback_t)set_sid_resid_passband, NULL, NULL },
60
225
static log_t vsid_log = LOG_ERR;
61
226
static void vsid_create_menus(void);