5 #include "menu_flags_ext.h"
7 #ifndef USE_SOUND_VOLUME
8 static const _TCHAR *sound_device_caption[] = {""};
10 #ifndef USE_JOY_BUTTON_CAPTIONS
11 static const _TCHAR *joy_button_captions[] = {""};
14 const int s_freq_table[8] = {
15 2000, 4000, 8000, 11025, 22050, 44100,
16 #ifdef OVERRIDE_SOUND_FREQ_48000HZ
17 OVERRIDE_SOUND_FREQ_48000HZ,
24 USING_FLAGS_EXT::USING_FLAGS_EXT(config_t *cfg) : USING_FLAGS(cfg)
27 use_alt_f10_key = false;
28 use_auto_key = use_auto_key_us = use_auto_key_caps = false;
29 use_auto_key_no_caps = use_auto_key_release =
30 use_auto_key_shift = use_binary_file = false;
39 max_bubble = max_b77_banks = 0;
55 use_compact_disc = use_debugger = false;
60 use_dipswitch = false;
66 max_drive = max_d88_banks = 0;
74 use_joystick = use_joy_button_captions = false;
75 num_joy_button_captions = 0;
77 use_laser_disc = false;
82 use_minimum_rendering = use_dig_resolution = false;
85 use_movie_player = false;
86 use_notify_power_off = false;
88 use_one_board_computer = false;
96 use_scanline = use_screen_rotate = false;
97 use_shift_numpad_key = false;
101 use_sound_device_type = 0;
102 use_sound_volume = 0;
103 without_sound = false;
104 use_sound_files_fdd = false;
105 use_sound_files_relay = false;
107 use_special_reset = false;
111 use_tape = use_tape_baud = use_tape_button = use_tape_ptr = false;
112 use_vm_auto_key_table = false;
113 support_tv_render = false;
115 real_screen_width = SCREEN_WIDTH;
116 real_screen_height = SCREEN_HEIGHT;
118 #if defined(SCREEN_FAKE_WIDTH)
119 screen_width = SCREEN_FAKE_WIDTH;
121 screen_width = SCREEN_WIDTH;
123 #if defined(SCREEN_FAKE_HEIGHT)
124 screen_height = SCREEN_FAKE_HEIGHT;
126 screen_height = SCREEN_HEIGHT;
128 #if defined(SCREEN_X_ZOOM)
129 screen_x_zoom = SCREEN_X_ZOOM;
131 #if defined(SCREEN_Y_ZOOM)
132 screen_y_zoom = SCREEN_Y_ZOOM;
134 screen_width_aspect = WINDOW_WIDTH_ASPECT;
135 screen_height_aspect = WINDOW_HEIGHT_ASPECT;
139 use_vertical_pixel_lines = false;
140 notify_key_down_lr_shift = false;
141 tape_binary_only = false;
142 #if defined(DEVICE_NAME)
143 device_name = QString::fromUtf8(DEVICE_NAME);
145 device_name = QString::fromUtf8("");
147 #if defined(CONFIG_NAME)
148 config_name = QString::fromUtf8(CONFIG_NAME);
150 config_name = QString::fromUtf8("");
153 machine_pasopia_variants = false;
154 #if defined(_PASOPIA7) || defined(_PASOPIA)
155 machine_pasopia_variants = true;
157 machine_tk80_series = false;
158 #if defined(_TK80BS) || defined(_TK80)
159 machine_tk80_series = true;
161 machine_cmt_mz_series = false;
162 #if defined(_MZ80A) || defined(_MZ80K) || \
163 defined(_MZ1200) || defined(_MZ700) || \
164 defined(_MZ800) || defined(_MZ1500) || \
165 defined(_MZ80B) || defined(_MZ2000) || \
166 defined(_MZ2200) || defined(_MZ2500)
167 machine_cmt_mz_series = true;
169 machine_pc6001 = false;
170 machine_pc8001_variants = false;
171 machine_mz80a_variants = false;
172 machine_mz80b_variants = false;
173 machine_x1_series = false;
174 machine_fm7_series = false;
175 machine_gamegear = false;
176 machine_mastersystem = false;
177 machine_has_pcengine = false;
178 machine_sc3000 = false;
179 machine_z80tvgame = false;
181 #if defined(_PC6001) || defined(_PC6001MK2) || \
182 defined(_PC6001MK2SR) || \
183 defined(_PC6601) || defined(_PC6601SR)
184 machine_pc6001 = true;
186 #if defined(_PC8001) || defined(PC8001MK2) || \
187 defined(_PC8001SR) || \
188 defined(_PC8801) || defined(_PC8801MK2) || \
189 defined(_PC8801SR) || defined(_PC8801MA)
190 machine_pc8001_variants = true;
192 #if defined(_MZ80A) || defined(_MZ80K) || \
193 defined(_MZ1200) || defined(_MZ700) || \
194 defined(_MZ800) || defined(_MZ1500)
195 machine_mz80a_variants = true;
197 #if defined(_MZ80B) || defined(_MZ2000) || \
198 defined(_MZ2200) || defined(_MZ2500)
199 machine_mz80b_variants = true;
201 #if defined(_X1) || defined(_X1TURBO) || \
202 defined(_X1TURBOZ) || defined(_X1TWIN)
203 machine_x1_series = true;
205 #if defined(_FM8) || defined(_FM7) || \
206 defined(_FMNEW7) || defined(_FM77) || \
207 defined(_FM77L2) || defined(_FM77L4) || \
208 defined(_FM77AV) || \
209 defined(_FM77AV20) || defined(_FM77AV20EX) || \
210 defined(_FM77AV40) || defined(_FM77AV40EX) || \
212 machine_fm7_series = true;
214 #if defined(_GAMEGEAR)
215 machine_gamegear = true;
217 #if defined(_MASTERSYSTEM)
218 machine_mastersystem = true;
220 #if defined(_PCENGINE) || defined(_X1TWIN)
221 machine_has_pcengine = true;
224 machine_sc3000 = true;
226 #if defined(_Z80TVGAME)
227 machine_z80tvgame = true;
230 machine_basicmaster_variants = true;
233 #if defined(USE_ALT_F10_KEY)
234 use_alt_f10_key = true;
236 #if defined(USE_AUTO_KEY)
238 #if defined(USE_AUTO_KEY_US)
239 use_auto_key_us = true;
241 #if defined(USE_AUTO_KEY_CAPS)
242 use_auto_key_caps = true;
244 #if defined(USE_AUTO_KEY_NO_CAPS)
245 use_auto_key_no_caps = true;
247 #if defined(USE_AUTO_KEY_RELEASE)
248 use_auto_key_release = true;
250 #if defined(USE_AUTO_KEY_SHIFT)
251 use_auto_key_shift = true;
254 #if defined(USE_CART)
257 base_cart_num = BASE_CART_NUM;
259 #if defined(USE_FLOPPY_DISK)
261 max_drive = USE_FLOPPY_DISK;
262 #if defined(MAX_D88_BANKS)
263 max_d88_banks = MAX_D88_BANKS;
267 base_fd_num = BASE_FLOPPY_DISK_NUM;
269 #if defined(USE_QUICK_DISK)
271 max_qd = USE_QUICK_DISK;
272 base_qd_num = BASE_QUICK_DISK_NUM;
274 #if defined(USE_HARD_DISK)
276 max_hd = USE_HARD_DISK;
277 base_hd_num = BASE_HARD_DISK_NUM;
279 #if defined(USE_TAPE)
281 #if defined(USE_TAPE_BAUD)
282 use_tape_baud = true;
284 #if defined(USE_TAPE_BUTTON)
285 use_tape_button = true;
287 #if defined(USE_TAPE_PTR)
291 base_tape_num = BASE_TAPE_NUM;
293 #if defined(USE_COMPACT_DISC)
294 use_compact_disc = true;
295 max_compact_disc = USE_COMPACT_DISC;
296 base_cd_num = BASE_COMPACT_DISC_NUM;
298 #if defined(USE_LASER_DISC)
299 use_laser_disc = true;
300 max_laser_disc = USE_LASER_DISC;
301 base_ld_num = BASE_LASER_DISC_NUM;
303 #if defined(USE_BINARY_FILE)
304 use_binary_file = true;
305 max_binary = USE_BINARY;
306 base_binary_num = BASE_BINARY_NUM;
308 #if defined(USE_BUBBLE)
310 max_bubble = USE_BUBBLE;
311 base_bubble_num = BASE_BUBBLE_NUM;
312 #if defined(MAX_B77_BANKS)
313 max_b77_banks = MAX_B77_BANKS;
318 #if defined(USE_BITMAP)
321 #if defined(USE_BOOT_MODE)
322 use_boot_mode = USE_BOOT_MODE;
324 #if defined(USE_CPU_TYPE)
325 use_cpu_type = USE_CPU_TYPE;
327 #if defined(SUPPORT_TV_RENDER)
328 support_tv_render = true;
330 #if defined(USE_DEBUGGER)
333 #if defined(USE_DEVICE_TYPE)
334 use_device_type = USE_DEVICE_TYPE;
336 #if defined(USE_MOUSE_TYPE)
337 use_mouse_type = USE_MOUSE_TYPE;
339 #if defined(USE_JOYSTICK_TYPE)
340 use_joystick_type = USE_JOYSTICK_TYPE;
342 #if defined(USE_KEYBOARD_TYPE)
343 use_keyboard_type = USE_KEYBOARD_TYPE;
345 #if defined(USE_DIPSWITCH)
346 use_dipswitch = true;
348 #if defined(USE_DRIVE_TYPE)
349 use_drive_type = USE_DRIVE_TYPE;
351 #if defined(MAX_DRAW_RANGES)
352 max_draw_ranges = MAX_DRAW_RANGES;
354 #if defined(USE_JOYSTICK)
356 #if defined(USE_JOY_BUTTON_CAPTIONS)
357 use_joy_button_captions = true;
358 num_joy_button_captions = sizeof(joy_button_captions) / sizeof(_TCHAR *);
361 #if defined(USE_KEY_LOCKED)
362 use_key_locked = true;
364 #if defined(USE_LED_DEVICE)
365 use_led_devices = USE_LED_DEVICE;
367 #if defined(INDEPENDENT_CAPS_KANA_LED)
368 independent_caps_kana_led = true;
370 #if defined(USE_MEMCARD)
371 use_memcard = USE_MEMCARD;
373 #if defined(USE_MINIMUM_RENDERING)
374 use_minimum_rendering = true;
376 #if defined(USE_DIG_RESOLUTION)
377 use_dig_resolution = true;
379 #if defined(USE_MONITOR_TYPE)
380 use_monitor_type = USE_MONITOR_TYPE;
383 #if defined(USE_MOUSE)
386 #if defined(USE_MOVIE_PLAYER)
387 use_movie_player = true;
389 #if defined(USE_NOTIFY_POWER_OFF)
390 use_notify_power_off = true;
392 #if defined(ONE_BOARD_MICRO_COMPUTER)
393 use_one_board_computer = true;
395 #if defined(USE_PRINTER)
397 #if defined(USE_PRINTER_TYPE)
398 use_printer_type = USE_PRINTER_TYPE;
401 #if defined(USE_SCANLINE)
404 #if defined(USE_SCREEN_ROTATE)
405 use_screen_rotate = true;
407 #if defined(USE_SHIFT_NUMPAD_KEY)
408 use_shift_numpad_key = true;
410 #if defined(MAX_SCSI)
413 #if defined(USE_SOUND_TYPE)
414 use_sound_device_type = USE_SOUND_TYPE;
416 #if defined(USE_SOUND_VOLUME)
417 use_sound_volume = USE_SOUND_VOLUME;
419 #if defined(WITHOUT_SOUND)
420 without_sound = true;
422 #if defined(USE_FLOPPY_DISK)
423 use_sound_files_fdd = true;
425 #if defined(USE_TAPE)
426 use_sound_files_relay = true;
428 #if defined(USE_SPECIAL_RESET)
429 use_special_reset = true;
431 #if defined(USE_VM_AUTO_KEY_TABLE)
432 use_vm_auto_key_table = true;
434 #if defined(MAX_BUTTONS)
435 max_button = sizeof(vm_buttons) / sizeof(button_desc_t);
436 vm_buttons_d = (button_desc_t *)vm_buttons;
438 #if defined(MAX_DRAW_RANGES)
439 max_ranges = sizeof(vm_ranges) / sizeof(vm_ranges_t);
440 vm_ranges_d = (vm_ranges_t *)vm_ranges;
443 #if defined(USE_VERTICAL_PIXEL_LINES)
444 use_vertical_pixel_lines = true;
446 #if defined(NOTIFY_KEY_DOWN_LR_SHIFT)
447 notify_key_down_lr_shift = true;
449 #if defined(TAPE_BINARY_ONLY)
450 tape_binary_only = true;
452 #if defined(_SCREEN_MODE_NUM)
453 screen_mode_num = _SCREEN_MODE_NUM;
455 #if defined(USE_STATE)
461 USING_FLAGS_EXT::~USING_FLAGS_EXT()
465 const _TCHAR *USING_FLAGS_EXT::get_joy_button_captions(int num)
467 #ifdef USE_JOY_BUTTON_CAPTIONS
468 if((num < 0) || (num >= num_joy_button_captions)) {
471 return joy_button_captions[num];
478 const _TCHAR *USING_FLAGS_EXT::get_sound_device_caption(int num)
480 #ifdef USE_SOUND_VOLUME
481 if((num < 0) || (num >= USE_SOUND_VOLUME)) {
484 return sound_device_caption[num];
492 int USING_FLAGS_EXT::get_s_freq_table(int num)
494 if(num < 0) return s_freq_table[0];
495 if(num >= (int)(sizeof(s_freq_table) / sizeof(int))) return s_freq_table[sizeof(s_freq_table) / sizeof(int) - 1];
496 return s_freq_table[num];
499 int USING_FLAGS_EXT::get_vm_node_size(void)
501 if(p_emu == NULL) return 0;
502 return p_emu->get_osd()->get_vm_node_size();
505 void USING_FLAGS_EXT::set_vm_node_name(int id, const _TCHAR *name)
507 if(p_emu == NULL) return;
508 p_emu->get_osd()->set_vm_node(id, name);
511 _TCHAR *USING_FLAGS_EXT::get_vm_node_name(int id)
513 if(p_emu == NULL) return NULL;
514 return (_TCHAR *)p_emu->get_osd()->get_vm_node_name(id);