~ubuntu-branches/ubuntu/quantal/vice/quantal

« back to all changes in this revision

Viewing changes to src/arch/unix/c610ui.c

  • Committer: Bazaar Package Importer
  • Author(s): Zed Pobre
  • Date: 2005-03-27 13:06:04 UTC
  • mfrom: (4 hoary)
  • mto: This revision was merged to the branch mainline in revision 5.
  • Revision ID: james.westby@ubuntu.com-20050327130604-zodmv0i60dbbmcik
Tags: 1.16-3
Apply patch from Andreas Jochens <aj@andaco.de> to correct building on
AMD64 and GCC 4.x (closes: #300936)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * c610ui.c - Implementation of the c610-specific part of the UI.
3
 
 *
4
 
 * Written by
5
 
 *  Ettore Perazzoli <ettore@comm2000.it>
6
 
 *  Andr� Fachat <a.fachat@physik.tu-chemnitz.de>
7
 
 *
8
 
 * This file is part of VICE, the Versatile Commodore Emulator.
9
 
 * See README for copyright notice.
10
 
 *
11
 
 *  This program is free software; you can redistribute it and/or modify
12
 
 *  it under the terms of the GNU General Public License as published by
13
 
 *  the Free Software Foundation; either version 2 of the License, or
14
 
 *  (at your option) any later version.
15
 
 *
16
 
 *  This program is distributed in the hope that it will be useful,
17
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 
 *  GNU General Public License for more details.
20
 
 *
21
 
 *  You should have received a copy of the GNU General Public License
22
 
 *  along with this program; if not, write to the Free Software
23
 
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
24
 
 *  02111-1307  USA.
25
 
 *
26
 
 */
27
 
 
28
 
#include "vice.h"
29
 
 
30
 
#include <stdio.h>
31
 
 
32
 
#include "c610.h"
33
 
#include "c610mem.h"
34
 
#include "icon.h"
35
 
#include "drive.h"
36
 
#include "petui.h"
37
 
#include "resources.h"
38
 
#include "uicommands.h"
39
 
#include "uicrtc.h"
40
 
#include "uidatasette.h"
41
 
#include "uidrive.h"
42
 
#include "uijoystick2.h"
43
 
#include "uiperipheral.h"
44
 
#include "uirs232.h"
45
 
#include "uiscreenshot.h"
46
 
#include "uisettings.h"
47
 
#include "uisid.h"
48
 
#include "uisound.h"
49
 
#include "uimenu.h"
50
 
#include "uivicii.h"
51
 
#include "vsync.h"
52
 
 
53
 
 
54
 
/* ------------------------------------------------------------------------- */
55
 
 
56
 
UI_MENU_DEFINE_RADIO(VideoStandard)
57
 
 
58
 
ui_menu_entry_t set_video_standard_submenu[] = {
59
 
    { N_("*PAL-G"), (ui_callback_t)radio_VideoStandard,
60
 
      (ui_callback_data_t)DRIVE_SYNC_PAL, NULL },
61
 
    { N_("*NTSC-M"), (ui_callback_t)radio_VideoStandard,
62
 
      (ui_callback_data_t)DRIVE_SYNC_NTSC, NULL },
63
 
    { NULL }
64
 
};
65
 
 
66
 
/* ------------------------------------------------------------------------- */
67
 
 
68
 
static ui_menu_entry_t cbm2_romset_submenu[] = {
69
 
    { N_("Basic 128k, low chars"),
70
 
      (ui_callback_t)ui_set_romset, (ui_callback_data_t)"rom128l.vrs", NULL },
71
 
    { N_("Basic 256k, low chars"),
72
 
      (ui_callback_t)ui_set_romset, (ui_callback_data_t)"rom256l.vrs", NULL },
73
 
    { N_("Basic 128k, high chars"),
74
 
      (ui_callback_t)ui_set_romset, (ui_callback_data_t)"rom128h.vrs", NULL },
75
 
    { N_("Basic 256k, high chars"),
76
 
      (ui_callback_t)ui_set_romset, (ui_callback_data_t)"rom256h.vrs", NULL },
77
 
    { "--" },
78
 
    { N_("Load new Kernal"),
79
 
      (ui_callback_t)ui_load_rom_file,
80
 
      (ui_callback_data_t)"KernalName", NULL },
81
 
    { N_("Load new Chargen"),
82
 
      (ui_callback_t)ui_load_rom_file,
83
 
      (ui_callback_data_t)"ChargenName", NULL },
84
 
    { "--" },
85
 
    { N_("Load new Basic"),
86
 
      (ui_callback_t)ui_load_rom_file,
87
 
      (ui_callback_data_t)"BasicName", NULL },
88
 
    { N_("Unload Basic ROM"),
89
 
      (ui_callback_t)ui_unload_rom_file,
90
 
      (ui_callback_data_t)"BasicName", NULL },
91
 
    { "--" },
92
 
    { N_("Load new Cart $1***"),
93
 
      (ui_callback_t)ui_load_rom_file,
94
 
      (ui_callback_data_t)"Cart1Name", NULL },
95
 
    { N_("Unload Cart $1***"),
96
 
      (ui_callback_t)ui_unload_rom_file,
97
 
      (ui_callback_data_t)"Cart1Name", NULL },
98
 
    { "--" },
99
 
    { N_("Load new Cart $2-3***"),
100
 
      (ui_callback_t)ui_load_rom_file,
101
 
      (ui_callback_data_t)"Cart2Name", NULL },
102
 
    { N_("Unload Cart $2-3***"),
103
 
      (ui_callback_t)ui_unload_rom_file,
104
 
      (ui_callback_data_t)"Cart2Name", NULL },
105
 
    { "--" },
106
 
    { N_("Load new Cart $4-5***"),
107
 
      (ui_callback_t)ui_load_rom_file,
108
 
      (ui_callback_data_t)"Cart4Name", NULL },
109
 
    { N_("Unload Cart $4-5***"),
110
 
      (ui_callback_t)ui_unload_rom_file,
111
 
      (ui_callback_data_t)"Cart4Name", NULL },
112
 
    { "--" },
113
 
    { N_("Load new Cart $6-7***"),
114
 
      (ui_callback_t)ui_load_rom_file,
115
 
      (ui_callback_data_t)"Cart6Name", NULL },
116
 
    { N_("Unload Cart $6-7***"),
117
 
      (ui_callback_t)ui_unload_rom_file,
118
 
      (ui_callback_data_t)"Cart6Name", NULL },
119
 
    { "--" },
120
 
    { N_("Load custom ROM set from file"),
121
 
      (ui_callback_t)ui_load_romset, NULL, NULL },
122
 
    { N_("Dump ROM set definition to file"),
123
 
      (ui_callback_t)ui_dump_romset, NULL, NULL },
124
 
    { NULL }
125
 
};
126
 
 
127
 
/* ------------------------------------------------------------------------- */
128
 
 
129
 
UI_MENU_DEFINE_RADIO(ModelLine)
130
 
 
131
 
static ui_menu_entry_t c610_modelline_submenu[] = {
132
 
    { "*7x0 (50 Hz)",
133
 
        (ui_callback_t)radio_ModelLine, (ui_callback_data_t)0, NULL },
134
 
    { "*6x0 60 Hz",
135
 
        (ui_callback_t)radio_ModelLine, (ui_callback_data_t)1, NULL },
136
 
    { "*6x0 50 Hz",
137
 
        (ui_callback_t)radio_ModelLine, (ui_callback_data_t)2, NULL },
138
 
    { NULL }
139
 
};
140
 
 
141
 
UI_MENU_DEFINE_RADIO(RamSize)
142
 
 
143
 
static ui_menu_entry_t c610_memsize_submenu[] = {
144
 
    { "*128 kByte",
145
 
        (ui_callback_t)radio_RamSize, (ui_callback_data_t)128, NULL },
146
 
    { "*256 kByte",
147
 
        (ui_callback_t)radio_RamSize, (ui_callback_data_t)256, NULL },
148
 
    { "*512 kByte",
149
 
        (ui_callback_t)radio_RamSize, (ui_callback_data_t)512, NULL },
150
 
    { "*1024 kByte",
151
 
        (ui_callback_t)radio_RamSize, (ui_callback_data_t)1024, NULL },
152
 
    { NULL }
153
 
};
154
 
 
155
 
static UI_CALLBACK(ui_set_model)
156
 
{
157
 
    cbm2_set_model(UI_MENU_CB_PARAM, NULL);
158
 
    ui_update_menus();
159
 
}
160
 
 
161
 
static ui_menu_entry_t model_defaults_submenu[] = {
162
 
    { "CBM 510",
163
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"510", NULL },
164
 
    { "CBM 610",
165
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"610", NULL },
166
 
    { "CBM 620",
167
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"620", NULL },
168
 
    { "CBM 620+ (1M)",
169
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"620+", NULL },
170
 
    { "CBM 710",
171
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"710", NULL },
172
 
    { "CBM 720",
173
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"720", NULL },
174
 
    { "CBM 720+ (1M)",
175
 
      (ui_callback_t)ui_set_model, (ui_callback_data_t)"720+", NULL },
176
 
    { NULL }
177
 
};
178
 
 
179
 
#if 0
180
 
 
181
 
/* this is partially modeled after the radio_* callbacks */
182
 
static UI_CALLBACK(set_KeyboardType)
183
 
{
184
 
    int current_value, new_value = 2 * (int)UI_MENU_CB_PARAM;
185
 
    extern char *keymap_file_resource_names[];
186
 
 
187
 
    resources_get_value("KeymapIndex", (resource_value_t)&current_value);
188
 
    if (!call_data) {
189
 
        if ((current_value & ~1) != new_value) {
190
 
            resources_set_value("KeymapIndex", (resource_value_t)
191
 
                (current_value & 1) + new_value);
192
 
            ui_update_menus();
193
 
        }
194
 
    } else {
195
 
        ui_menu_set_tick(w, current_value == new_value);
196
 
    }
197
 
}
198
 
 
199
 
static ui_menu_entry_t c610_keybd_submenu[] = {
200
 
    { N_("*Graphics"),
201
 
        (ui_callback_t)set_KeyboardType, (ui_callback_data_t)1, NULL },
202
 
    { N_("*Business (UK)"),
203
 
        (ui_callback_t)set_KeyboardType, (ui_callback_data_t)0, NULL },
204
 
    { NULL }
205
 
};
206
 
 
207
 
#endif
208
 
 
209
 
UI_MENU_DEFINE_TOGGLE(Ram08)
210
 
UI_MENU_DEFINE_TOGGLE(Ram1)
211
 
UI_MENU_DEFINE_TOGGLE(Ram2)
212
 
UI_MENU_DEFINE_TOGGLE(Ram4)
213
 
UI_MENU_DEFINE_TOGGLE(Ram6)
214
 
UI_MENU_DEFINE_TOGGLE(RamC)
215
 
 
216
 
UI_CALLBACK(Cbm2modelMenu)
217
 
{
218
 
    if (CHECK_MENUS) {
219
 
        ui_menu_set_sensitive(w, !cbm2_is_c500());
220
 
    }
221
 
}
222
 
 
223
 
static ui_menu_entry_t model_settings_submenu[] = {
224
 
    { N_("Model defaults"),
225
 
      (ui_callback_t)Cbm2modelMenu, NULL, model_defaults_submenu },
226
 
    { "--" },
227
 
    { N_("ROM sets"),
228
 
      NULL, NULL, cbm2_romset_submenu },
229
 
    { "--" },
230
 
    { N_("Memory size"),
231
 
      NULL, NULL, c610_memsize_submenu },
232
 
    { N_("Hardwired switches"),
233
 
      NULL, NULL, c610_modelline_submenu },
234
 
    { "--" },
235
 
    { N_("*Bank 15 $0800-$0FFF RAM"),
236
 
      (ui_callback_t)toggle_Ram08, NULL, NULL },
237
 
    { N_("*Bank 15 $1000-$1FFF RAM"),
238
 
      (ui_callback_t)toggle_Ram1, NULL, NULL },
239
 
    { N_("*Bank 15 $2000-$3FFF RAM"),
240
 
      (ui_callback_t)toggle_Ram2, NULL, NULL },
241
 
    { N_("*Bank 15 $4000-$5FFF RAM"),
242
 
      (ui_callback_t)toggle_Ram4, NULL, NULL },
243
 
    { N_("*Bank 15 $6000-$7FFF RAM"),
244
 
      (ui_callback_t)toggle_Ram6, NULL, NULL },
245
 
    { N_("*Bank 15 $C000-$CFFF RAM"),
246
 
      (ui_callback_t)toggle_RamC, NULL, NULL },
247
 
#if 0
248
 
    { "--" },
249
 
    { N_("Keyboard type"),
250
 
      NULL, NULL, c610_keybd_submenu },
251
 
#endif
252
 
    { NULL }
253
 
};
254
 
 
255
 
/* ------------------------------------------------------------------------- */
256
 
 
257
 
UI_MENU_DEFINE_RADIO(SidStereoAddressStart)
258
 
 
259
 
static ui_menu_entry_t set_sid_stereo_address_daxx_submenu[] = {
260
 
    { "*$DA20", (ui_callback_t)radio_SidStereoAddressStart,
261
 
      (ui_callback_data_t)0xda20, NULL },
262
 
    { "*$DA40", (ui_callback_t)radio_SidStereoAddressStart,
263
 
      (ui_callback_data_t)0xda40, NULL },
264
 
    { "*$DA60", (ui_callback_t)radio_SidStereoAddressStart,
265
 
      (ui_callback_data_t)0xda60, NULL },
266
 
    { "*$DA80", (ui_callback_t)radio_SidStereoAddressStart,
267
 
      (ui_callback_data_t)0xda80, NULL },
268
 
    { "*$DAA0", (ui_callback_t)radio_SidStereoAddressStart,
269
 
      (ui_callback_data_t)0xdaa0, NULL },
270
 
    { "*$DAC0", (ui_callback_t)radio_SidStereoAddressStart,
271
 
      (ui_callback_data_t)0xdac0, NULL },
272
 
    { "*$DAE0", (ui_callback_t)radio_SidStereoAddressStart,
273
 
      (ui_callback_data_t)0xdae0, NULL },
274
 
    { NULL }
275
 
};
276
 
 
277
 
UI_MENU_DEFINE_TOGGLE(SidStereo)
278
 
UI_MENU_DEFINE_TOGGLE(SidFilters)
279
 
 
280
 
#ifdef HAVE_RESID
281
 
UI_MENU_DEFINE_TOGGLE(SidUseResid)
282
 
#endif
283
 
 
284
 
static ui_menu_entry_t sid_submenu[] = {
285
 
    { N_("*Second SID"),
286
 
      (ui_callback_t)toggle_SidStereo, NULL, NULL },
287
 
    { N_("*Second SID base address"),
288
 
      NULL, NULL, set_sid_stereo_address_daxx_submenu },
289
 
    { "--" },
290
 
    { N_("*Emulate filters"),
291
 
      (ui_callback_t)toggle_SidFilters, NULL, NULL },
292
 
    { N_("Chip model"),
293
 
      NULL, NULL, sid_model_submenu },
294
 
#ifdef HAVE_RESID
295
 
    { "--" },
296
 
    { N_("*Use reSID emulation"),
297
 
      (ui_callback_t)toggle_SidUseResid, NULL, NULL },
298
 
    { N_("reSID sampling method"),
299
 
      NULL, NULL, sid_resid_sampling_submenu },
300
 
    { N_("reSID resampling passband..."),
301
 
      (ui_callback_t)set_sid_resid_passband, NULL, NULL },
302
 
#endif
303
 
    { NULL },
304
 
};
305
 
 
306
 
UI_MENU_DEFINE_TOGGLE(Sound)
307
 
 
308
 
static ui_menu_entry_t sid_options_submenu[] = {
309
 
    { N_("*Enable sound playback"),
310
 
      (ui_callback_t)toggle_Sound, NULL, NULL },
311
 
    { N_("*Second SID"),
312
 
      (ui_callback_t)toggle_SidStereo, NULL, NULL },
313
 
    { N_("*Second SID base address"),
314
 
      NULL, NULL, set_sid_stereo_address_daxx_submenu },
315
 
    { "--" },
316
 
#ifdef HAVE_RESID
317
 
    { N_("*Use reSID emulation"),
318
 
      (ui_callback_t)toggle_SidUseResid, NULL, NULL },
319
 
#endif
320
 
    { N_("*Emulate filters"),
321
 
      (ui_callback_t)toggle_SidFilters, NULL, NULL },
322
 
    { N_("Chip model"),
323
 
      NULL, NULL, sid_model_submenu },
324
 
    { NULL }
325
 
};
326
 
 
327
 
/* ------------------------------------------------------------------------- */
328
 
 
329
 
static ui_menu_entry_t c610_rs232_submenu[] = {
330
 
    { N_("ACIA device"),
331
 
      NULL, NULL, acia1_device_submenu },
332
 
    { "--" },
333
 
    { N_("Serial 1 device..."), (ui_callback_t)set_rs232_device_file,
334
 
      (ui_callback_data_t)"RsDevice1", NULL },
335
 
    { N_("Serial 1 baudrate"),
336
 
      NULL, NULL, ser1_baud_submenu },
337
 
    { "--" },
338
 
    { N_("Serial 2 device..."), (ui_callback_t)set_rs232_device_file,
339
 
      (ui_callback_data_t)"RsDevice2", NULL },
340
 
    { N_("Serial 2 baudrate"),
341
 
      NULL, NULL, ser2_baud_submenu },
342
 
    { "--" },
343
 
    { N_("Dump filename..."), (ui_callback_t)set_rs232_dump_file,
344
 
      (ui_callback_data_t)"RsDevice3", NULL },
345
 
    { "--" },
346
 
    { N_("Program name to exec..."), (ui_callback_t)set_rs232_exec_file,
347
 
      (ui_callback_data_t)"RsDevice4", NULL },
348
 
    { NULL }
349
 
};
350
 
 
351
 
 
352
 
/* ------------------------------------------------------------------------- */
353
 
 
354
 
static UI_CALLBACK(CrtcMenu)
355
 
{
356
 
    if (CHECK_MENUS) {
357
 
        ui_menu_set_sensitive(w, !cbm2_is_c500());
358
 
    }
359
 
}
360
 
 
361
 
static UI_CALLBACK(VicMenu)
362
 
{
363
 
    if (CHECK_MENUS) {
364
 
        ui_menu_set_sensitive(w, cbm2_is_c500());
365
 
    }
366
 
}
367
 
 
368
 
static ui_menu_entry_t c610_menu[] = {
369
 
    { N_("CBM-II model settings"),
370
 
      NULL, NULL, model_settings_submenu },
371
 
    { N_("RS232 settings"),
372
 
      NULL, NULL, c610_rs232_submenu },
373
 
    { "--" },
374
 
    { N_("*CRTC Screen color"),
375
 
      (ui_callback_t)CrtcMenu, NULL, crtc_palette_submenu },
376
 
    { N_("*VIC-II settings"),
377
 
      (ui_callback_t)VicMenu, NULL, vic_submenu },
378
 
    { N_("SID settings"),
379
 
      NULL, NULL, sid_submenu },
380
 
    { NULL }
381
 
};
382
 
 
383
 
/* ------------------------------------------------------------------------- */
384
 
 
385
 
static UI_CALLBACK(save_screenshot)
386
 
{
387
 
    /* Where does the 1024 come from?  */
388
 
    char filename[1024];
389
 
    int wid = (int)UI_MENU_CB_PARAM;
390
 
 
391
 
    vsync_suspend_speed_eval();
392
 
 
393
 
    /* The following code depends on a zeroed filename.  */
394
 
    memset(filename, 0, 1024);
395
 
 
396
 
    if (ui_screenshot_dialog(filename, wid) < 0)
397
 
        return;
398
 
}
399
 
 
400
 
static ui_menu_entry_t ui_screenshot_commands_menu[] = {
401
 
    { N_("Screenshot..."),
402
 
      (ui_callback_t)save_screenshot, (ui_callback_data_t)0, NULL },
403
 
    { NULL }
404
 
};
405
 
 
406
 
/* ------------------------------------------------------------------------- */
407
 
 
408
 
int c610_ui_init(void)
409
 
{
410
 
    ui_set_application_icon(c610_icon_data);
411
 
    ui_set_left_menu(ui_menu_create("LeftMenu",
412
 
                                    ui_disk_commands_menu,
413
 
                                    ui_menu_separator,
414
 
                                    ui_tape_commands_menu,
415
 
                                    ui_datasette_commands_menu,
416
 
                                    ui_menu_separator,
417
 
                                    ui_directory_commands_menu,
418
 
                                    ui_menu_separator,
419
 
                                    ui_snapshot_commands_menu,
420
 
                                    ui_screenshot_commands_menu,
421
 
                                    ui_menu_separator,
422
 
                                    ui_tool_commands_menu,
423
 
                                    ui_menu_separator,
424
 
                                    ui_help_commands_menu,
425
 
                                    ui_menu_separator,
426
 
                                    ui_run_commands_menu,
427
 
                                    ui_menu_separator,
428
 
                                    ui_exit_commands_menu,
429
 
                                    NULL));
430
 
 
431
 
    ui_set_right_menu(ui_menu_create("RightMenu",
432
 
                                     ui_performance_settings_menu,
433
 
                                     ui_menu_separator,
434
 
                                     ui_crtc_video_settings_menu,
435
 
                                     ui_video_settings_menu,
436
 
#ifdef USE_XF86_EXTENSIONS
437
 
                                     ui_fullscreen_settings_menu,
438
 
#endif
439
 
                                     ui_keyboard_settings_menu,
440
 
                                     ui_sound_settings_menu,
441
 
                                     ui_par_drive_settings_menu,
442
 
                                     ui_peripheral_settings_menu,
443
 
                                     joystick_settings_menu,
444
 
                                     ui_menu_separator,
445
 
                                     c610_menu,
446
 
                                     ui_menu_separator,
447
 
                                     ui_settings_settings_menu,
448
 
                                     NULL));
449
 
 
450
 
    ui_set_tape_menu(ui_menu_create("TapeMenu",
451
 
                                    ui_tape_commands_menu,
452
 
                                    ui_menu_separator,
453
 
                                    datasette_control_submenu,
454
 
                                    NULL));
455
 
    ui_set_topmenu("TopLevelMenu",
456
 
                   _("File"),
457
 
                   ui_menu_create("File",
458
 
                                  ui_smart_attach_commands_menu,
459
 
                                  ui_menu_separator,
460
 
                                  ui_disk_commands_menu,
461
 
                                  ui_menu_separator,
462
 
                                  ui_tape_commands_menu,
463
 
                                  ui_datasette_commands_menu,
464
 
                                  ui_menu_separator,
465
 
                                  ui_directory_commands_menu,
466
 
                                  ui_menu_separator,
467
 
                                  ui_tool_commands_menu,
468
 
                                  ui_menu_separator,
469
 
                                  ui_run_commands_menu,
470
 
                                  ui_menu_separator,
471
 
                                  ui_exit_commands_menu,
472
 
                                  NULL),
473
 
                   _("Snapshot"),
474
 
                   ui_menu_create("Snapshot",
475
 
                                  ui_snapshot_commands_submenu,
476
 
                                  ui_menu_separator,
477
 
                                  ui_screenshot_commands_menu,
478
 
                                  NULL),
479
 
                   _("Options"),
480
 
                   ui_menu_create("Options",
481
 
                                  ui_performance_settings_menu,
482
 
                                  ui_menu_separator,
483
 
#ifdef USE_XF86_EXTENSIONS
484
 
                                  ui_fullscreen_settings_menu,
485
 
                                  ui_menu_separator,
486
 
#endif
487
 
                                  joystick_options_submenu,
488
 
                                  ui_menu_separator,
489
 
                                  sid_options_submenu,
490
 
                                  ui_menu_separator,
491
 
                                  ui_drive_options_submenu,
492
 
                                  NULL),
493
 
                   _("Settings"),
494
 
                   ui_menu_create("Settings",
495
 
                                  ui_crtc_video_settings_menu,
496
 
                                  ui_video_settings_menu,
497
 
                                  ui_peripheral_settings_menu,
498
 
                                  ui_drive_settings_menu,
499
 
                                  ui_keyboard_settings_menu,
500
 
                                  joystick_settings_menu,
501
 
                                  ui_sound_settings_menu,
502
 
                                  ui_par_drive_settings_menu,
503
 
                                  ui_menu_separator,
504
 
                                  c610_menu,
505
 
                                  ui_menu_separator,
506
 
                                  ui_settings_settings_menu,
507
 
                                  NULL),
508
 
                   /* Translators: RJ means right justify and should be
509
 
                      saved in your tranlation! e.g. german "RJHilfe" */
510
 
                   _("RJHelp"),
511
 
                   ui_menu_create("Help",
512
 
                                  ui_help_commands_menu,
513
 
                                  NULL),
514
 
                   NULL);
515
 
    ui_set_speedmenu(ui_menu_create("SpeedMenu",
516
 
                                    ui_performance_settings_menu,
517
 
                                    NULL));
518
 
    ui_update_menus();
519
 
 
520
 
    return 0;
521
 
}
522