~ubuntu-branches/ubuntu/hardy/vice/hardy

« back to all changes in this revision

Viewing changes to src/arch/unix/gui/vic20ui.c

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2007-10-07 07:05:46 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20071007070546-81yy0twlka7p2t0e
Tags: 1.22-1
* New upstream version (closes: #428280).
* Correct link to HTML documentation in manpage (closes: #409567).
* Fix most packaging mistakes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
#include "uidatasette.h"
44
44
#include "uidrive.h"
45
45
#include "uidrivec64vic20.h"
 
46
#include "uidrivevic20.h"
46
47
#include "uikeyboard.h"
47
48
#include "uimenu.h"
48
49
#include "uiperipheraliec.h"
51
52
#include "uirs232user.h"
52
53
#include "uiscreenshot.h"
53
54
#include "uisettings.h"
 
55
#include "uisidcart.h"
54
56
#include "uisound.h"
55
57
#include "uivic.h"
56
58
#include "util.h"
102
104
        fprintf(stderr, _("What?!\n"));
103
105
        blocks = 0;         /* Make compiler happy.  */
104
106
    }
105
 
    resources_set_value("RamBlock0",
106
 
                        (resource_value_t)(blocks & BLOCK_0 ? 1 : 0));
107
 
    resources_set_value("RamBlock1",
108
 
                        (resource_value_t)(blocks & BLOCK_1 ? 1 : 0));
109
 
    resources_set_value("RamBlock2",
110
 
                        (resource_value_t)(blocks & BLOCK_2 ? 1 : 0));
111
 
    resources_set_value("RamBlock3",
112
 
                        (resource_value_t)(blocks & BLOCK_3 ? 1 : 0));
113
 
    resources_set_value("RamBlock5",
114
 
                        (resource_value_t)(blocks & BLOCK_5 ? 1 : 0));
 
107
    resources_set_int("RamBlock0", blocks & BLOCK_0 ? 1 : 0);
 
108
    resources_set_int("RamBlock1", blocks & BLOCK_1 ? 1 : 0);
 
109
    resources_set_int("RamBlock2", blocks & BLOCK_2 ? 1 : 0);
 
110
    resources_set_int("RamBlock3", blocks & BLOCK_3 ? 1 : 0);
 
111
    resources_set_int("RamBlock5", blocks & BLOCK_5 ? 1 : 0);
115
112
    ui_menu_update_all();
116
113
    vsync_suspend_speed_eval();
117
114
}
118
115
 
 
116
UI_MENU_DEFINE_TOGGLE(SidCart)
 
117
UI_MENU_DEFINE_TOGGLE(SidFilters)
 
118
 
 
119
UI_MENU_DEFINE_RADIO(SidAddress)
 
120
 
 
121
static ui_menu_entry_t sidcart_address_submenu[] = {
 
122
    { "*$9800",
 
123
      (ui_callback_t)radio_SidAddress, (ui_callback_data_t)0, NULL },
 
124
    { "*$9C00",
 
125
      (ui_callback_t)radio_SidAddress, (ui_callback_data_t)1, NULL },
 
126
    { NULL }
 
127
};
 
128
 
 
129
UI_MENU_DEFINE_RADIO(SidClock)
 
130
 
 
131
static ui_menu_entry_t sidcart_clock_submenu[] = {
 
132
    { "*C64", (ui_callback_t)radio_SidClock,
 
133
      (ui_callback_data_t)0, NULL },
 
134
    { "*VIC20", (ui_callback_t)radio_SidClock,
 
135
      (ui_callback_data_t)1, NULL },
 
136
    { NULL }
 
137
};
 
138
 
 
139
ui_menu_entry_t sidcart_submenu[] = {
 
140
    { N_("*Enable SID cart"),
 
141
      (ui_callback_t)toggle_SidCart, NULL, NULL },
 
142
    { N_("SID engine"),
 
143
      NULL, NULL, sidcart_engine_submenu },
 
144
    { N_("Chip model"),
 
145
      NULL, NULL, sidcart_model_submenu },
 
146
    { N_("*Emulate filters"),
 
147
      (ui_callback_t)toggle_SidFilters, NULL, NULL },
 
148
    { N_("SID address"),
 
149
      NULL, NULL, sidcart_address_submenu },
 
150
    { N_("SID clock"),
 
151
      NULL, NULL, sidcart_clock_submenu },
 
152
    { NULL }
 
153
};
 
154
 
119
155
static ui_menu_entry_t vic20ui_main_romset_submenu[] = {
120
156
    { N_("Load new Kernal ROM"),
121
157
      (ui_callback_t)ui_load_rom_file,
293
329
{
294
330
    vsync_suspend_speed_eval();
295
331
    if (!CHECK_MENUS) {
296
 
        resources_set_value("JoyDevice1", (resource_value_t)UI_MENU_CB_PARAM);
 
332
        resources_set_int("JoyDevice1", (int)UI_MENU_CB_PARAM);
297
333
        ui_update_menus();
298
334
    } else {
299
335
        int tmp;
300
336
 
301
 
        resources_get_value("JoyDevice1", (void *)&tmp);
 
337
        resources_get_int("JoyDevice1", &tmp);
302
338
        ui_menu_set_tick(w, tmp == (int)UI_MENU_CB_PARAM);
303
339
    }
304
340
}
310
346
    { N_("*Numpad"),
311
347
      (ui_callback_t)set_joystick_device,
312
348
      (ui_callback_data_t)JOYDEV_NUMPAD, NULL },
313
 
    { N_("*Custom Keys"),
314
 
      (ui_callback_t)set_joystick_device,
315
 
      (ui_callback_data_t)JOYDEV_CUSTOM_KEYS, NULL },
 
349
    { N_("*Keyset 1"),
 
350
      (ui_callback_t)set_joystick_device,
 
351
      (ui_callback_data_t)JOYDEV_KEYSET1, NULL },
 
352
    { N_("*Keyset 2"),
 
353
      (ui_callback_t)set_joystick_device,
 
354
      (ui_callback_data_t)JOYDEV_KEYSET2, NULL },
316
355
#ifdef HAS_JOYSTICK
317
356
    { N_("*Analog Joystick 0"),
318
357
      (ui_callback_t)set_joystick_device,
428
467
      NULL, NULL, vic_submenu },
429
468
    { N_("Memory expansions"),
430
469
      NULL, NULL, memory_settings_submenu },
 
470
    { N_("SID cartridge settings"),
 
471
      NULL, NULL, sidcart_submenu },
 
472
    { NULL }
 
473
};
 
474
 
 
475
static ui_menu_entry_t vic20_left_menu[] = {
 
476
    { "",
 
477
      NULL, NULL, uiattach_disk_menu },
 
478
    { "--",
 
479
      NULL, NULL, uiattach_tape_menu },
 
480
    { "",
 
481
      NULL, NULL, ui_datasette_commands_menu },
 
482
    { "--",
 
483
      NULL, NULL, uiattach_smart_attach_menu },
 
484
    { "--",
 
485
      NULL, NULL, vic20_cartridge_commands_menu },
 
486
    { "--",
 
487
      NULL, NULL, ui_directory_commands_menu },
 
488
    { "--",
 
489
      NULL, NULL, ui_snapshot_commands_menu },
 
490
    { "",
 
491
      NULL, NULL, ui_screenshot_commands_menu },
 
492
    { "",
 
493
      NULL, NULL, ui_sound_record_commands_menu },
 
494
    { "--",
 
495
      NULL, NULL, ui_tool_commands_menu },
 
496
    { "--",
 
497
      NULL, NULL, ui_help_commands_menu },
 
498
    { "--",
 
499
      NULL, NULL, ui_run_commands_menu },
 
500
    { "--",
 
501
      NULL, NULL, ui_exit_commands_menu },
 
502
    { NULL }
 
503
};
 
504
 
 
505
static ui_menu_entry_t vic20_right_menu[] = {
 
506
    { "",
 
507
      NULL, NULL, ui_performance_settings_menu },
 
508
    { "--",
 
509
      NULL, NULL, uikeyboard_settings_menu },
 
510
    { "",
 
511
      NULL, NULL, ui_sound_settings_menu },
 
512
    { "",
 
513
      NULL, NULL, ui_drivevic20_settings_menu },
 
514
    { "",
 
515
      NULL, NULL, ui_peripheraliec_settings_menu },
 
516
/*
 
517
                                     vic20_io_settings_menu,
 
518
*/
 
519
    { "",
 
520
      NULL, NULL, joystick_settings_menu },
 
521
    { "",
 
522
      NULL, NULL, rs232_settings_menu },
 
523
    { "--",
 
524
      NULL, NULL, vic20_menu },
 
525
    { "--",
 
526
      NULL, NULL, ui_settings_settings_menu },
 
527
#ifdef DEBUG
 
528
    { "--",
 
529
      NULL, NULL, ui_debug_settings_menu },
 
530
#endif
 
531
    { NULL }
 
532
};
 
533
 
 
534
static ui_menu_entry_t vic20_tape_menu[] = {
 
535
    { "",
 
536
      NULL, NULL, uiattach_tape_menu },
 
537
    { "--",
 
538
      NULL, NULL, datasette_control_submenu },
 
539
    { NULL }
 
540
};
 
541
 
 
542
static ui_menu_entry_t vic20_file_menu[] = {
 
543
    { "",
 
544
      NULL, NULL, uiattach_smart_attach_menu },
 
545
    { "--",
 
546
      NULL, NULL, uiattach_disk_menu },
 
547
    { "--",
 
548
      NULL, NULL, uiattach_tape_menu },
 
549
    { "",
 
550
      NULL, NULL, ui_datasette_commands_menu },
 
551
    { "--",
 
552
      NULL, NULL, vic20_cartridge_commands_menu },
 
553
    { "--",
 
554
      NULL, NULL, ui_directory_commands_menu },
 
555
    { "--",
 
556
      NULL, NULL, ui_tool_commands_menu },
 
557
    { "--",
 
558
      NULL, NULL, ui_run_commands_menu },
 
559
    { "--",
 
560
      NULL, NULL, ui_exit_commands_menu },
 
561
    { NULL }
 
562
};
 
563
 
 
564
static ui_menu_entry_t vic20_snapshot_menu[] = {
 
565
    { "",
 
566
      NULL, NULL, ui_snapshot_commands_submenu },
 
567
    { "--",
 
568
      NULL, NULL, ui_screenshot_commands_menu },
 
569
    { "",
 
570
      NULL, NULL, ui_sound_record_commands_menu },
 
571
    { NULL }
 
572
};
 
573
 
 
574
static ui_menu_entry_t vic20_options_menu[] = {
 
575
    { "",
 
576
      NULL, NULL, ui_performance_settings_menu },
 
577
    { "--",
 
578
      NULL, NULL, ui_drive_options_submenu },
 
579
    { NULL }
 
580
};
 
581
 
 
582
static ui_menu_entry_t vic20_settings_menu[] = {
 
583
    { "",
 
584
      NULL, NULL, uikeyboard_settings_menu },
 
585
    { "",
 
586
      NULL, NULL, ui_sound_settings_menu },
 
587
    { "",
 
588
      NULL, NULL, ui_drivevic20_settings_menu },
 
589
    { "",
 
590
      NULL, NULL, ui_peripheraliec_settings_menu },
 
591
    { "",
 
592
      NULL, NULL, joystick_settings_menu },
 
593
    { "",
 
594
      NULL, NULL, rs232_settings_menu },
 
595
    { "--",
 
596
      NULL, NULL, vic20_menu },
 
597
    { "--",
 
598
      NULL, NULL, ui_settings_settings_menu },
 
599
    { NULL }
 
600
};
 
601
 
 
602
static ui_menu_entry_t vic20_top_menu[] = {
 
603
    { N_("File"),
 
604
      NULL, NULL, vic20_file_menu },
 
605
    { N_("Snapshot"),
 
606
      NULL, NULL, vic20_snapshot_menu },
 
607
    { N_("Options"),
 
608
      NULL, NULL, vic20_options_menu },
 
609
    { N_("Settings"),
 
610
      NULL, NULL, vic20_settings_menu },
 
611
                   /* Translators: RJ means right justify and should be
 
612
                      saved in your tranlation! e.g. german "RJHilfe" */
 
613
    { N_("RJHelp"),
 
614
      NULL, NULL, ui_help_commands_menu },
431
615
    { NULL }
432
616
};
433
617
 
447
631
{
448
632
    ui_set_application_icon(vic20_icon_data);
449
633
    vic20ui_dynamic_menu_create();
450
 
    ui_set_left_menu(ui_menu_create("LeftMenu",
451
 
                                    uiattach_disk_menu,
452
 
                                    ui_menu_separator,
453
 
                                    uiattach_tape_menu,
454
 
                                    ui_datasette_commands_menu,
455
 
                                    ui_menu_separator,
456
 
                                    uiattach_smart_attach_menu,
457
 
                                    ui_menu_separator,
458
 
                                    vic20_cartridge_commands_menu,
459
 
                                    ui_menu_separator,
460
 
                                    ui_directory_commands_menu,
461
 
                                    ui_menu_separator,
462
 
                                    ui_snapshot_commands_menu,
463
 
                                    ui_screenshot_commands_menu,
464
 
                                    ui_sound_record_commands_menu,
465
 
                                    ui_menu_separator,
466
 
                                    ui_tool_commands_menu,
467
 
                                    ui_menu_separator,
468
 
                                    ui_help_commands_menu,
469
 
                                    ui_menu_separator,
470
 
                                    ui_run_commands_menu,
471
 
                                    ui_menu_separator,
472
 
                                    ui_exit_commands_menu,
473
 
                                    NULL));
474
 
 
475
 
    ui_set_right_menu(ui_menu_create("RightMenu",
476
 
                                     ui_performance_settings_menu,
477
 
                                     ui_menu_separator,
478
 
                                     uikeyboard_settings_menu,
479
 
                                     ui_sound_settings_menu,
480
 
                                     ui_drivec64vic20_settings_menu,
481
 
                                     ui_peripheraliec_settings_menu,
482
 
/*
483
 
                                     vic20_io_settings_menu,
484
 
*/
485
 
                                     joystick_settings_menu,
486
 
                                     rs232_settings_menu,
487
 
                                     ui_menu_separator,
488
 
                                     vic20_menu,
489
 
                                     ui_menu_separator,
490
 
                                     ui_settings_settings_menu,
491
 
#ifdef DEBUG
492
 
                                     ui_menu_separator,
493
 
                                     ui_debug_settings_menu,
494
 
#endif
495
 
                                     NULL));
496
 
 
497
 
    ui_set_tape_menu(ui_menu_create("TapeMenu",
498
 
                                    uiattach_tape_menu,
499
 
                                    ui_menu_separator,
500
 
                                    datasette_control_submenu,
501
 
                                    NULL));
502
 
    ui_set_topmenu("TopLevelMenu",
503
 
                   _("File"),
504
 
                   ui_menu_create("File",
505
 
                                  uiattach_smart_attach_menu,
506
 
                                  ui_menu_separator,
507
 
                                  uiattach_disk_menu,
508
 
                                  ui_menu_separator,
509
 
                                  uiattach_tape_menu,
510
 
                                  ui_datasette_commands_menu,
511
 
                                  ui_menu_separator,
512
 
                                  vic20_cartridge_commands_menu,
513
 
                                  ui_menu_separator,
514
 
                                  ui_directory_commands_menu,
515
 
                                  ui_menu_separator,
516
 
                                  ui_tool_commands_menu,
517
 
                                  ui_menu_separator,
518
 
                                  ui_run_commands_menu,
519
 
                                  ui_menu_separator,
520
 
                                  ui_exit_commands_menu,
521
 
                                  NULL),
522
 
                   _("Snapshot"),
523
 
                   ui_menu_create("Snapshot",
524
 
                                  ui_snapshot_commands_submenu,
525
 
                                  ui_menu_separator,
526
 
                                  ui_screenshot_commands_menu,
527
 
                                  ui_sound_record_commands_menu,
528
 
                                  NULL),
529
 
                   _("Options"),
530
 
                   ui_menu_create("Options",
531
 
                                  ui_performance_settings_menu,
532
 
                                  ui_menu_separator,
533
 
                                  ui_drive_options_submenu,
534
 
                                  NULL),
535
 
                   _("Settings"),
536
 
                   ui_menu_create("Settings",
537
 
                                  uikeyboard_settings_menu,
538
 
                                  ui_sound_settings_menu,
539
 
                                  ui_drivec64vic20_settings_menu,
540
 
                                  ui_peripheraliec_settings_menu,
541
 
                                  joystick_settings_menu,
542
 
                                  rs232_settings_menu,
543
 
                                  ui_menu_separator,
544
 
                                  vic20_menu,
545
 
                                  ui_menu_separator,
546
 
                                  ui_settings_settings_menu,
547
 
                                  NULL),
548
 
                   /* Translators: RJ means right justify and should be
549
 
                      saved in your tranlation! e.g. german "RJHilfe" */
550
 
                   _("RJHelp"),
551
 
                   ui_menu_create("Help",
552
 
                                  ui_help_commands_menu,
553
 
                                  NULL),
554
 
                   NULL);
555
 
    ui_set_speedmenu(ui_menu_create("SpeedMenu",
556
 
                                    ui_performance_settings_menu,
557
 
                                    NULL));
 
634
    ui_set_left_menu(vic20_left_menu);
 
635
 
 
636
    ui_set_right_menu(vic20_right_menu);
 
637
 
 
638
    ui_set_tape_menu(vic20_tape_menu);
 
639
    ui_set_topmenu(vic20_top_menu);
 
640
    ui_set_speedmenu(ui_performance_settings_menu);
558
641
    ui_update_menus();
559
642
 
560
643
    return 0;