3 #include "menu_flags.h"
5 #ifndef USE_SOUND_VOLUME
6 static const _TCHAR *sound_device_caption[] = {""};
8 #ifndef USE_JOY_BUTTON_CAPTIONS
9 static const _TCHAR *joy_button_captions[] = {""};
12 USING_FLAGS::USING_FLAGS(config_t *cfg)
14 use_access_lamp = use_alt_f10_key = false;
15 use_auto_key = use_auto_key_us = use_auto_key_caps = false;
16 use_auto_key_no_caps = use_auto_key_release =
17 use_auto_key_shift = use_binary_file = false;
24 max_bubble = max_b77_banks = 0;
31 use_compact_disc = use_crt_filter = use_debugger = false;
33 use_dipswitch = false;
38 max_drive = max_d88_banks = 0;
42 use_joystick = use_joy_button_captions = false;
43 num_joy_button_captions = 0;
45 use_laser_disc = false;
49 use_minimum_rendering = use_dig_resolution = false;
52 use_movie_player = false;
53 use_notify_power_off = false;
55 use_one_board_computer = false;
62 use_scanline = use_screen_rotate = false;
63 use_shift_numpad_key = false;
67 use_sound_device_type = 0;
69 without_sound = false;
70 use_special_reset = false;
74 use_tape = use_tape_baud = use_tape_button = use_tape_ptr = false;
75 use_vm_auto_key_table = false;
77 screen_width = SCREEN_WIDTH;
78 screen_height = SCREEN_HEIGHT;
79 screen_width_aspect = WINDOW_WIDTH_ASPECT;
80 screen_height_aspect = WINDOW_HEIGHT_ASPECT;
84 use_datarec_sound = false;
85 use_vertical_pixel_lines = false;
86 notify_key_down_lr_shift = false;
87 tape_binary_only = false;
88 #if defined(DEVICE_NAME)
89 device_name = QString::fromUtf8(DEVICE_NAME);
91 device_name = QString::fromUtf8("");
93 #if defined(CONFIG_NAME)
94 config_name = QString::fromUtf8(CONFIG_NAME);
96 config_name = QString::fromUtf8("");
99 machine_pasopia_variants = false;
100 #if defined(_PASOPIA7) || defined(_PASOPIA)
101 machine_pasopia_variants = true;
103 machine_tk80_series = false;
104 #if defined(_TK80BS) || defined(_TK80)
105 machine_tk80_series = true;
107 machine_cmt_mz_series = false;
108 #if defined(_MZ80A) || defined(_MZ80K) || \
109 defined(_MZ1200) || defined(_MZ700) || \
110 defined(_MZ800) || defined(_MZ1500) || \
111 defined(_MZ80B) || defined(_MZ2000) || \
112 defined(_MZ2200) || defined(_MZ2500)
113 machine_cmt_mz_series = true;
115 machine_pc6001 = false;
116 machine_pc8001_variants = false;
117 machine_mz80a_variants = false;
118 machine_mz80b_variants = false;
119 machine_x1_series = false;
120 machine_fm7_series = false;
121 machine_gamegear = false;
122 machine_mastersystem = false;
123 machine_has_pcengine = false;
124 machine_sc3000 = false;
125 machine_z80tvgame = false;
127 #if defined(_PC6001) || defined(_PC6001MK2) || \
128 defined(_PC6001MK2SR) || \
129 defined(_PC6601) || defined(_PC6601SR)
130 machine_pc6001 = true;
132 #if defined(_PC8001) || defined(PC8001MK2) || \
133 defined(_PC8001SR) || \
134 defined(_PC8801) || defined(_PC8801MK2) || \
135 defined(_PC8801SR) || defined(_PC8801MA)
136 machine_pc8001_variants = true;
138 #if defined(_MZ80A) || defined(_MZ80K) || \
139 defined(_MZ1200) || defined(_MZ700) || \
140 defined(_MZ800) || defined(_MZ1500)
141 machine_mz80a_variants = true;
143 #if defined(_MZ80B) || defined(_MZ2000) || \
144 defined(_MZ2200) || defined(_MZ2500)
145 machine_mz80b_variants = true;
147 #if defined(_X1) || defined(_X1TURBO) || \
148 defined(_X1TURBOZ) || defined(_X1TWIN)
149 machine_x1_series = true;
151 #if defined(_FM8) || defined(_FM7) || \
152 defined(_FMNEW7) || defined(_FM77) || \
153 defined(_FM77L2) || defined(_FM77L4) || \
154 defined(_FM77AV) || \
155 defined(_FM77AV20) || defined(_FM77AV20EX) || \
156 defined(_FM77AV40) || defined(_FM77AV40EX) || \
158 machine_fm7_series = true;
160 #if defined(_GAMEGEAR)
161 machine_gamegear = true;
163 #if defined(_MASTERSYSTEM)
164 machine_mastersystem = true;
166 #if defined(_PCENGINE) || defined(_X1TWIN)
167 machine_has_pcengine = true;
170 machine_sc3000 = true;
172 #if defined(_Z80TVGAME)
173 machine_z80tvgame = true;
176 #if defined(USE_ACCESS_LAMP)
177 use_access_lamp = true;
179 #if defined(USE_ALT_F10_KEY)
180 use_alt_f10_key = true;
182 #if defined(USE_AUTO_KEY)
184 #if defined(USE_AUTO_KEY_US)
185 use_auto_key_us = true;
187 #if defined(USE_AUTO_KEY_CAPS)
188 use_auto_key_caps = true;
190 #if defined(USE_AUTO_KEY_NO_CAPS)
191 use_auto_key_no_caps = true;
193 #if defined(USE_AUTO_KEY_RELEASE)
194 use_auto_key_release = true;
196 #if defined(USE_AUTO_KEY_SHIFT)
197 use_auto_key_shift = true;
200 #if defined(USE_BINARY_FILE1) || defined(USE_BINARY_FILE2) || defined(USE_BINARY_FILE3) || defined(USE_BINARY_FILE4) || \
201 defined(USE_BINARY_FILE5) || defined(USE_BINARY_FILE6) || defined(USE_BINARY_FILE7) || defined(USE_BINARY_FILE8)
202 use_binary_file = true;
203 #if defined(USE_BINARY_FILE8)
205 #elif defined(USE_BINARY_FILE7)
207 #elif defined(USE_BINARY_FILE6)
209 #elif defined(USE_BINARY_FILE5)
211 #elif defined(USE_BINARY_FILE4)
213 #elif defined(USE_BINARY_FILE3)
215 #elif defined(USE_BINARY_FILE2)
221 #if defined(USE_BITMAP)
224 #if defined(USE_BOOT_MODE)
225 use_boot_mode = USE_BOOT_MODE;
227 #if defined(USE_BUBBLE1) || defined(USE_BUBBLE2) || defined(USE_BUBBLE3) || defined(USE_BUBBLE4) || \
228 defined(USE_BUBBLE5) || defined(USE_BUBBLE6) || defined(USE_BUBBLE7) || defined(USE_BUBBLE8)
230 #if defined(USE_BUBBLE8)
232 #elif defined(USE_BUBBLE7)
234 #elif defined(USE_BUBBLE6)
236 #elif defined(USE_BUBBLE5)
238 #elif defined(USE_BUBBLE4)
240 #elif defined(USE_BUBBLE3)
242 #elif defined(USE_BUBBLE2)
247 #if defined(MAX_B77_BANKS)
248 max_b77_banks = MAX_B77_BANKS;
253 #if defined(USE_CART1) || defined(USE_CART2) || defined(USE_CART3) || defined(USE_CART4) || \
254 defined(USE_CART5) || defined(USE_CART6) || defined(USE_CART7) || defined(USE_CART8)
256 #if defined(USE_CART8)
258 #elif defined(USE_CART7)
260 #elif defined(USE_CART6)
262 #elif defined(USE_CART5)
264 #elif defined(USE_CART4)
266 #elif defined(USE_CART3)
268 #elif defined(USE_CART2)
274 #if defined(USE_CPU_TYPE)
275 use_cpu_type = USE_CPU_TYPE;
277 #if defined(USE_COMPACT_DISC)
278 use_compact_disc = true;
280 #if defined(USE_CRT_FILTER)
281 use_crt_filter = true;
283 #if defined(USE_DEBUGGER)
286 #if defined(USE_DEVICE_TYPE)
287 use_device_type = USE_DEVICE_TYPE;
289 #if defined(USE_DIPSWITCH)
290 use_dipswitch = true;
292 #if defined(USE_DRIVE_TYPE)
293 use_drive_type = USE_DRIVE_TYPE;
295 #if defined(USE_FD1) || defined(USE_FD2) || defined(USE_FD3) || defined(USE_FD4) || \
296 defined(USE_FD5) || defined(USE_FD6) || defined(USE_FD7) || defined(USE_FD8)
300 #elif defined(USE_FD7)
302 #elif defined(USE_FD6)
304 #elif defined(USE_FD5)
306 #elif defined(USE_FD4)
308 #elif defined(USE_FD3)
310 #elif defined(USE_FD2)
315 #if defined(MAX_D88_BANKS)
316 max_d88_banks = MAX_D88_BANKS;
321 #if defined(MAX_DRAW_RANGES)
322 max_draw_ranges = MAX_DRAW_RANGES;
324 #if defined(USE_JOYSTICK)
326 #if defined(USE_JOY_BUTTON_CAPTIONS)
327 use_joy_button_captions = true;
328 num_joy_button_captions = sizeof(joy_button_captions) / sizeof(_TCHAR *);
331 #if defined(USE_LASER_DISC)
332 use_laser_disc = true;
334 #if defined(USE_LED_DEVICE)
335 use_led_device = USE_LED_DEVICE;
337 #if defined(USE_MEMCARD)
338 use_memcard = USE_MEMCARD;
340 #if defined(USE_MINIMUM_RENDERING)
341 use_minimum_rendering = true;
343 #if defined(USE_DIG_RESOLUTION)
344 use_dig_resolution = true;
346 #if defined(USE_MONITOR_TYPE)
347 use_monitor_type = USE_MONITOR_TYPE;
350 #if defined(USE_MOUSE)
353 #if defined(USE_MOVIE_PLAYER)
354 use_movie_player = true;
356 #if defined(USE_NOTIFY_POWER_OFF)
357 use_notify_power_off = true;
359 #if defined(ONE_BOARD_MICRO_COMPUTER)
360 use_one_board_computer = true;
362 #if defined(USE_PRINTER)
364 #if defined(USE_PRINTER_TYPE)
365 use_printer_type = USE_PRINTER_TYPE;
368 #if defined(USE_QD1) || defined(USE_QD2) || defined(USE_QD3) ||defined(USE_QD4) || \
369 defined(USE_QD5) || defined(USE_QD6) || defined(USE_QD7) ||defined(USE_QD8)
373 #elif defined(USE_QD7)
375 #elif defined(USE_QD6)
377 #elif defined(USE_QD5)
379 #elif defined(USE_QD4)
381 #elif defined(USE_QD3)
383 #elif defined(USE_QD2)
389 #if defined(USE_SCANLINE)
392 #if defined(USE_SCREEN_ROTATE)
393 use_screen_rotate = true;
395 #if defined(USE_SHIFT_NUMPAD_KEY)
396 use_shift_numpad_key = true;
398 #if defined(MAX_SCSI)
401 #if defined(USE_SOUND_DEVICE_TYPE)
402 use_sound_device_type = USE_SOUND_DEVICE_TYPE;
404 #if defined(USE_SOUND_VOLUME)
405 use_sound_volume = USE_SOUND_VOLUME;
407 #if defined(WITHOUT_SOUND)
408 without_sound = true;
410 #if defined(USE_SPECIAL_RESET)
411 use_special_reset = true;
413 #if defined(USE_TAPE)
415 #if defined(USE_TAPE_BAUD)
416 use_tape_baud = true;
418 #if defined(USE_TAPE_BUTTON)
419 use_tape_button = true;
421 #if defined(USE_TAPE_PTR)
425 #if defined(USE_VM_AUTO_KEY_TABLE)
426 use_vm_auto_key_table = true;
428 #if defined(MAX_BUTTONS)
429 max_button = MAX_BUTTONS;
430 vm_buttons_d = (button_desc_t *)vm_buttons;
432 #if defined(USE_VERTICAL_PIXEL_LINES)
433 use_vertical_pixel_lines = true;
435 #if defined(NOTIFY_KEY_DOWN_LR_SHIFT)
436 notify_key_down_lr_shift = true;
438 #if defined(DATAREC_SOUND)
439 use_datarec_sound = true;
441 #if defined(TAPE_BINARY_ONLY)
442 tape_binary_only = true;
444 #if defined(_SCREEN_MODE_NUM)
445 screen_mode_num = _SCREEN_MODE_NUM;
447 #if defined(USE_STATE)
454 USING_FLAGS::~USING_FLAGS()
458 const _TCHAR *USING_FLAGS::get_joy_button_captions(int num)
460 #ifdef USE_JOY_BUTTON_CAPTIONS
461 if((num < 0) || (num >= num_joy_button_captions)) {
464 return joy_button_captions[num];
471 const _TCHAR *USING_FLAGS::get_sound_device_caption(int num)
473 #ifdef USE_SOUND_VOLUME
474 if((num < 0) || (num >= USE_SOUND_VOLUME)) {
477 return sound_device_caption[num];
484 void USING_FLAGS::set_emu(EMU *p)
489 EMU *USING_FLAGS::get_emu(void)
494 void USING_FLAGS::set_osd(OSD *p)
499 OSD *USING_FLAGS::get_osd(void)
504 config_t *USING_FLAGS::get_config_ptr(void)