70
static TUI_MENU_CALLBACK(get_hw_joystick_type_callback)
74
resources_get_value("HwJoyType", (void *)&value);
78
#ifdef JOY_TYPE_STANDARD
79
case JOY_TYPE_STANDARD:
86
#ifdef JOY_TYPE_4BUTTON
87
case JOY_TYPE_4BUTTON:
90
#ifdef JOY_TYPE_6BUTTON
91
case JOY_TYPE_6BUTTON:
94
#ifdef JOY_TYPE_8BUTTON
95
case JOY_TYPE_8BUTTON:
100
return "Flightstick Pro";
102
#ifdef JOY_TYPE_WINGEX
103
case JOY_TYPE_WINGEX:
104
return "Wingman Extreme";
106
#ifdef JOY_TYPE_SIDEWINDER
107
case JOY_TYPE_SIDEWINDER:
110
#ifdef JOY_TYPE_SIDEWINDER_AG
111
case JOY_TYPE_SIDEWINDER_AG:
112
return "Sidewinder Aggressive";
114
#ifdef JOY_TYPE_GAMEPAD_PRO
115
case JOY_TYPE_GAMEPAD_PRO:
116
return "GamePad Pro";
122
#ifdef JOY_TYPE_GRIP4
126
#ifdef JOY_TYPE_SNESPAD_LPT1
127
case JOY_TYPE_SNESPAD_LPT1:
128
return "SNESpad on LPT1";
130
#ifdef JOY_TYPE_SNESPAD_LPT2
131
case JOY_TYPE_SNESPAD_LPT2:
132
return "SNESpad on LPT2";
134
#ifdef JOY_TYPE_SNESPAD_LPT3
135
case JOY_TYPE_SNESPAD_LPT3:
136
return "SNESpad on LPT3";
138
#ifdef JOY_TYPE_PSXPAD_LPT1
139
case JOY_TYPE_PSXPAD_LPT1:
140
return "PSXpad on LPT1";
142
#ifdef JOY_TYPE_PSXPAD_LPT2
143
case JOY_TYPE_PSXPAD_LPT2:
144
return "PSXpad on LPT2";
146
#ifdef JOY_TYPE_PSXPAD_LPT3
147
case JOY_TYPE_PSXPAD_LPT3:
148
return "PSXpad on LPT3";
150
#ifdef JOY_TYPE_N64PAD_LPT1
151
case JOY_TYPE_N64PAD_LPT1:
152
return "N64pad on LPT1";
154
#ifdef JOY_TYPE_N64PAD_LPT2
155
case JOY_TYPE_N64PAD_LPT2:
156
return "N64pad on LPT2";
158
#ifdef JOY_TYPE_N64PAD_LPT3
159
case JOY_TYPE_N64PAD_LPT3:
160
return "N64pad on LPT3";
162
#ifdef JOY_TYPE_DB9_LPT1
163
case JOY_TYPE_DB9_LPT1:
164
return "DB9 on LPT1";
166
#ifdef JOY_TYPE_DB9_LPT2
167
case JOY_TYPE_DB9_LPT2:
168
return "DB9 on LPT2";
170
#ifdef JOY_TYPE_DB9_LPT3
171
case JOY_TYPE_DB9_LPT3:
172
return "DB9 on LPT3";
174
#ifdef JOY_TYPE_TURBOGRAFX_LPT1
175
case JOY_TYPE_TURBOGRAFX_LPT1:
176
return "TurbograFX on LPT1";
178
#ifdef JOY_TYPE_TURBOGRAFX_LPT2
179
case JOY_TYPE_TURBOGRAFX_LPT2:
180
return "TurbograFX on LPT2";
182
#ifdef JOY_TYPE_TURBOGRAFX_LPT3
183
case JOY_TYPE_TURBOGRAFX_LPT3:
184
return "TurbograFX on LPT3";
186
#ifdef JOY_TYPE_IFSEGA_ISA
187
case JOY_TYPE_IFSEGA_ISA:
188
return "IF-SEGA/ISA";
190
#ifdef JOY_TYPE_IFSEGA_PCI
191
case JOY_TYPE_IFSEGA_PCI:
192
return "IF-SEGA2/PCI";
194
#ifdef JOY_TYPE_IFSEGA_PCI_FAST
195
case JOY_TYPE_IFSEGA_PCI_FAST:
196
return "IF-SEGA2/PCI (normal)";
198
#ifdef JOY_TYPE_WINGWARRIOR
199
case JOY_TYPE_WINGWARRIOR:
200
return "Wingman Warrior";
68
207
static TUI_MENU_CALLBACK(set_joy_device_callback)
70
209
int port = (int)param >> 8;
254
409
DEFINE_KEYSET_MENU(1)
255
410
DEFINE_KEYSET_MENU(2)
412
static tui_menu_item_def_t joy_list_submenu[] = {
415
joy_hw_callback, (void *)0, 0,
416
TUI_MENU_BEH_CLOSE, NULL, NULL },
417
#ifdef JOY_TYPE_STANDARD
419
"Standard PC joystick",
420
joy_hw_callback, (void *)JOY_TYPE_STANDARD, 0,
421
TUI_MENU_BEH_CLOSE, NULL, NULL },
423
#ifdef JOY_TYPE_2PADS
425
"Standard PC joystick (2 pads)",
426
joy_hw_callback, (void *)JOY_TYPE_2PADS, 0,
427
TUI_MENU_BEH_CLOSE, NULL, NULL },
429
#ifdef JOY_TYPE_4BUTTON
431
"Standard PC joystick (4 buttons)",
432
joy_hw_callback, (void *)JOY_TYPE_4BUTTON, 0,
433
TUI_MENU_BEH_CLOSE, NULL, NULL },
435
#ifdef JOY_TYPE_6BUTTON
437
"Standard PC joystick (6 buttons)",
438
joy_hw_callback, (void *)JOY_TYPE_8BUTTON, 0,
439
TUI_MENU_BEH_CLOSE, NULL, NULL },
441
#ifdef JOY_TYPE_8BUTTON
443
"Standard PC joystick (8 buttons)",
444
joy_hw_callback, (void *)JOY_TYPE_8BUTTON, 0,
445
TUI_MENU_BEH_CLOSE, NULL, NULL },
447
#ifdef JOY_TYPE_FSPRO
448
{ "_Flightstick Pro",
450
joy_hw_callback, (void *)JOY_TYPE_FSPRO, 0,
451
TUI_MENU_BEH_CLOSE, NULL, NULL },
453
#ifdef JOY_TYPE_WINGEX
454
{ "_Wingman Extreme",
456
joy_hw_callback, (void *)JOY_TYPE_WINGEX, 0,
457
TUI_MENU_BEH_CLOSE, NULL, NULL },
459
#ifdef JOY_TYPE_SIDEWINDER
462
joy_hw_callback, (void *)JOY_TYPE_SIDEWINDER, 0,
463
TUI_MENU_BEH_CLOSE, NULL, NULL },
465
#ifdef JOY_TYPE_SIDEWINDER_AG
466
{ "Sidewinder Aggressi_ve",
467
"Sidewinder Aggressive",
468
joy_hw_callback, (void *)JOY_TYPE_SIDEWINDER_AG, 0,
469
TUI_MENU_BEH_CLOSE, NULL, NULL },
471
#ifdef JOY_TYPE_GAMEPAD_PRO
474
joy_hw_callback, (void *)JOY_TYPE_GAMEPAD_PRO, 0,
475
TUI_MENU_BEH_CLOSE, NULL, NULL },
480
joy_hw_callback, (void *)JOY_TYPE_GRIP, 0,
481
TUI_MENU_BEH_CLOSE, NULL, NULL },
483
#ifdef JOY_TYPE_GRIP4
485
"Gravis GrIP (4-way)",
486
joy_hw_callback, (void *)JOY_TYPE_GRIP4, 0,
487
TUI_MENU_BEH_CLOSE, NULL, NULL },
489
#ifdef JOY_TYPE_SNESPAD_LPT1
490
{ "SN_ESpad on LPT1",
491
"Super Nintendo pad connected to parallel port 1",
492
joy_hw_callback, (void *)JOY_TYPE_SNESPAD_LPT1, 0,
493
TUI_MENU_BEH_CLOSE, NULL, NULL },
495
#ifdef JOY_TYPE_SNESPAD_LPT2
497
"Super Nintendo pad connected to parallel port 2",
498
joy_hw_callback, (void *)JOY_TYPE_SNESPAD_LPT2, 0,
499
TUI_MENU_BEH_CLOSE, NULL, NULL },
501
#ifdef JOY_TYPE_SNESPAD_LPT3
503
"Super Nintendo pad connected to parallel port 3",
504
joy_hw_callback, (void *)JOY_TYPE_SNESPAD_LPT3, 0,
505
TUI_MENU_BEH_CLOSE, NULL, NULL },
507
#ifdef JOY_TYPE_PSXPAD_LPT1
509
"Playstation pad connected to parallel port 1",
510
joy_hw_callback, (void *)JOY_TYPE_PSXPAD_LPT1, 0,
511
TUI_MENU_BEH_CLOSE, NULL, NULL },
513
#ifdef JOY_TYPE_PSXPAD_LPT2
515
"Playstation pad connected to parallel port 2",
516
joy_hw_callback, (void *)JOY_TYPE_PSXPAD_LPT2, 0,
517
TUI_MENU_BEH_CLOSE, NULL, NULL },
519
#ifdef JOY_TYPE_PSXPAD_LPT3
521
"Playstation pad connected to parallel port 3",
522
joy_hw_callback, (void *)JOY_TYPE_PSXPAD_LPT3, 0,
523
TUI_MENU_BEH_CLOSE, NULL, NULL },
525
#ifdef JOY_TYPE_N64PAD_LPT1
527
"Nintendo 64 pad connected to parallel port 1",
528
joy_hw_callback, (void *)JOY_TYPE_N64PAD_LPT1, 0,
529
TUI_MENU_BEH_CLOSE, NULL, NULL },
531
#ifdef JOY_TYPE_N64PAD_LPT2
533
"Nintendo 64 pad connected to parallel port 2",
534
joy_hw_callback, (void *)JOY_TYPE_N64PAD_LPT2, 0,
535
TUI_MENU_BEH_CLOSE, NULL, NULL },
537
#ifdef JOY_TYPE_N64PAD_LPT3
539
"Nintendo 64 pad connected to parallel port 3",
540
joy_hw_callback, (void *)JOY_TYPE_N64PAD_LPT3, 0,
541
TUI_MENU_BEH_CLOSE, NULL, NULL },
543
#ifdef JOY_TYPE_DB9_LPT1
545
"Commodore 64 joystick connected to parallel port 1 with DB9 interface",
546
joy_hw_callback, (void *)JOY_TYPE_DB9_LPT1, 0,
547
TUI_MENU_BEH_CLOSE, NULL, NULL },
549
#ifdef JOY_TYPE_DB9_LPT2
551
"Commodore 64 joystick connected to parallel port 2 with DB9 interface",
552
joy_hw_callback, (void *)JOY_TYPE_DB9_LPT2, 0,
553
TUI_MENU_BEH_CLOSE, NULL, NULL },
555
#ifdef JOY_TYPE_DB9_LPT3
557
"Commodore 64 joystick connected to parallel port 3 with DB9 interface",
558
joy_hw_callback, (void *)JOY_TYPE_DB9_LPT3, 0,
559
TUI_MENU_BEH_CLOSE, NULL, NULL },
561
#ifdef JOY_TYPE_TURBOGRAFX_LPT1
562
{ "_TurbograFX on LPT1",
563
"Commodore 64 joystick connected to parallel port 1 with TurbograFX interface",
564
joy_hw_callback, (void *)JOY_TYPE_TURBOGRAFX_LPT1, 0,
565
TUI_MENU_BEH_CLOSE, NULL, NULL },
567
#ifdef JOY_TYPE_TURBOGRAFX_LPT2
568
{ "TurbograFX on LPT2",
569
"Commodore 64 joystick connected to parallel port 2 with TurbograFX interface",
570
joy_hw_callback, (void *)JOY_TYPE_TURBOGRAFX_LPT2, 0,
571
TUI_MENU_BEH_CLOSE, NULL, NULL },
573
#ifdef JOY_TYPE_TURBOGRAFX_LPT3
574
{ "TurbograFX on LPT3",
575
"Commodore 64 joystick connected to parallel port 3 with TurbograFX interface",
576
joy_hw_callback, (void *)JOY_TYPE_TURBOGRAFX_LPT3
577
TUI_MENU_BEH_CLOSE, NULL, NULL },
579
#ifdef JOY_TYPE_IFSEGA_ISA
582
joy_hw_callback, (void *)JOY_TYPE_IFSEGA_ISA, 0,
583
TUI_MENU_BEH_CLOSE, NULL, NULL },
585
#ifdef JOY_TYPE_IFSEGA_PCI
588
joy_hw_callback, (void *)JOY_TYPE_IFSEGA_PCI, 0,
589
TUI_MENU_BEH_CLOSE, NULL, NULL },
591
#ifdef JOY_TYPE_IFSEGA_PCI_FAST
592
{ "IF-SEGA2/PCI (norma_l)",
593
"IF-SEGA2/PCI (normal)",
594
joy_hw_callback, (void *)JOY_TYPE_IFSEGA_PCI_FAST, 0,
595
TUI_MENU_BEH_CLOSE, NULL, NULL },
597
#ifdef JOY_TYPE_WINGWARRIOR
598
{ "Wing_man Warrior",
600
joy_hw_callback, (void *)JOY_TYPE_WINGWARRIOR, 0,
601
TUI_MENU_BEH_CLOSE, NULL, NULL },
257
607
static tui_menu_item_def_t single_joystick_submenu[] = {
258
608
{ "Joystick _Device:",
259
609
"Specify device for joystick emulation",