1 /* settings.h: Handling configuration settings 2 Copyright (c) 2001-2003 Philip Kendall 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along 15 with this program; if not, write to the Free Software Foundation, Inc., 16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 18 Author contact information: 19 20 E-mail: philip-fuse@shadowmagic.org.uk 21 22 */ 23 24 /* This file is autogenerated from settings.dat by settings-header.pl. 25 Do not edit unless you know what will happen! */ 26 27 #ifndef FUSE_SETTINGS_H 28 #define FUSE_SETTINGS_H 29 30 #include <config.h> 31 32 #include <sys/types.h> 33 34 typedef struct settings_info { 35 36 int accelerate_loader; 37 int aspect_hint; 38 int auto_load; 39 int autosave_settings; 40 int beta128; 41 int beta128_48boot; 42 char *betadisk_file; 43 int bw_tv; 44 int competition_code; 45 int competition_mode; 46 int confirm_actions; 47 char *dck_file; 48 char *debugger_command; 49 int detect_loader; 50 int disciple; 51 char *discipledisk_file; 52 int disk_ask_merge; 53 char *disk_try_merge; 54 int divide_enabled; 55 char *divide_master_file; 56 char *divide_slave_file; 57 int divide_wp; 58 int doublescan_mode; 59 int drive_40_max_track; 60 int drive_80_max_track; 61 char *drive_beta128a_type; 62 char *drive_beta128b_type; 63 char *drive_beta128c_type; 64 char *drive_beta128d_type; 65 char *drive_disciple1_type; 66 char *drive_disciple2_type; 67 char *drive_opus1_type; 68 char *drive_opus2_type; 69 char *drive_plus3a_type; 70 char *drive_plus3b_type; 71 char *drive_plusd1_type; 72 char *drive_plusd2_type; 73 int embed_snapshot; 74 int emulation_speed; 75 int fastload; 76 int fb_mode; 77 int frame_rate; 78 int full_screen; 79 int fuller; 80 char *if2_file; 81 int interface1; 82 int interface2; 83 int issue2; 84 int joy_kempston; 85 int joy_prompt; 86 char *joystick_1; 87 int joystick_1_fire_1; 88 int joystick_1_fire_10; 89 int joystick_1_fire_11; 90 int joystick_1_fire_12; 91 int joystick_1_fire_13; 92 int joystick_1_fire_14; 93 int joystick_1_fire_15; 94 int joystick_1_fire_2; 95 int joystick_1_fire_3; 96 int joystick_1_fire_4; 97 int joystick_1_fire_5; 98 int joystick_1_fire_6; 99 int joystick_1_fire_7; 100 int joystick_1_fire_8; 101 int joystick_1_fire_9; 102 int joystick_1_output; 103 char *joystick_2; 104 int joystick_2_fire_1; 105 int joystick_2_fire_10; 106 int joystick_2_fire_11; 107 int joystick_2_fire_12; 108 int joystick_2_fire_13; 109 int joystick_2_fire_14; 110 int joystick_2_fire_15; 111 int joystick_2_fire_2; 112 int joystick_2_fire_3; 113 int joystick_2_fire_4; 114 int joystick_2_fire_5; 115 int joystick_2_fire_6; 116 int joystick_2_fire_7; 117 int joystick_2_fire_8; 118 int joystick_2_fire_9; 119 int joystick_2_output; 120 int joystick_keyboard_down; 121 int joystick_keyboard_fire; 122 int joystick_keyboard_left; 123 int joystick_keyboard_output; 124 int joystick_keyboard_right; 125 int joystick_keyboard_up; 126 int kempston_mouse; 127 int late_timings; 128 char *mdr_file; 129 char *mdr_file2; 130 char *mdr_file3; 131 char *mdr_file4; 132 char *mdr_file5; 133 char *mdr_file6; 134 char *mdr_file7; 135 char *mdr_file8; 136 int mdr_len; 137 int mdr_random_len; 138 int melodik; 139 int mouse_swap_buttons; 140 char *movie_compr; 141 char *movie_start; 142 int movie_stop_after_rzx; 143 int opus; 144 char *opusdisk_file; 145 int pal_tv2x; 146 char *playback_file; 147 int plus3_detect_speedlock; 148 char *plus3disk_file; 149 int plusd; 150 char *plusddisk_file; 151 int printer; 152 char *printer_graphics_filename; 153 char *printer_text_filename; 154 int raw_s_net; 155 char *record_file; 156 char *rom_128_0; 157 char *rom_128_1; 158 char *rom_16; 159 char *rom_48; 160 char *rom_beta128; 161 char *rom_disciple; 162 char *rom_interface_i; 163 char *rom_opus; 164 char *rom_pentagon1024_0; 165 char *rom_pentagon1024_1; 166 char *rom_pentagon1024_2; 167 char *rom_pentagon1024_3; 168 char *rom_pentagon512_0; 169 char *rom_pentagon512_1; 170 char *rom_pentagon512_2; 171 char *rom_pentagon512_3; 172 char *rom_pentagon_0; 173 char *rom_pentagon_1; 174 char *rom_pentagon_2; 175 char *rom_plus2_0; 176 char *rom_plus2_1; 177 char *rom_plus2a_0; 178 char *rom_plus2a_1; 179 char *rom_plus2a_2; 180 char *rom_plus2a_3; 181 char *rom_plus3_0; 182 char *rom_plus3_1; 183 char *rom_plus3_2; 184 char *rom_plus3_3; 185 char *rom_plus3e_0; 186 char *rom_plus3e_1; 187 char *rom_plus3e_2; 188 char *rom_plus3e_3; 189 char *rom_plusd; 190 char *rom_scorpion_0; 191 char *rom_scorpion_1; 192 char *rom_scorpion_2; 193 char *rom_scorpion_3; 194 char *rom_spec_se_0; 195 char *rom_spec_se_1; 196 char *rom_speccyboot; 197 char *rom_tc2048; 198 char *rom_tc2068_0; 199 char *rom_tc2068_1; 200 char *rom_ts2068_0; 201 char *rom_ts2068_1; 202 int rs232_handshake; 203 char *rs232_rx; 204 char *rs232_tx; 205 int rzx_autosaves; 206 int rzx_compression; 207 int simpleide_active; 208 char *simpleide_master_file; 209 char *simpleide_slave_file; 210 int slt_traps; 211 char *snapshot; 212 char *snet; 213 int sound; 214 char *sound_device; 215 int sound_force_8bit; 216 int sound_freq; 217 int sound_load; 218 char *speaker_type; 219 int speccyboot; 220 char *speccyboot_tap; 221 int specdrum; 222 int spectranet; 223 int spectranet_disable; 224 char *start_machine; 225 char *start_scaler_mode; 226 int statusbar; 227 char *stereo_ay; 228 int strict_aspect_hint; 229 char *svga_modes; 230 char *tape_file; 231 int tape_traps; 232 int unittests; 233 int volume_ay; 234 int volume_beeper; 235 int volume_specdrum; 236 int writable_roms; 237 int zxatasp_active; 238 char *zxatasp_master_file; 239 char *zxatasp_slave_file; 240 int zxatasp_upload; 241 int zxatasp_wp; 242 int zxcf_active; 243 char *zxcf_pri_file; 244 int zxcf_upload; 245 int zxprinter; 246 247 int show_help; 248 int show_version; 249 250 } settings_info; 251 252 extern settings_info settings_current; 253 extern settings_info settings_default; 254 255 int settings_init( int *first_arg, int argc, char **argv ); 256 void settings_defaults( settings_info *settings ); 257 void settings_copy( settings_info *dest, settings_info *src ); 258 259 #define SETTINGS_ROM_COUNT 30 260 char **settings_get_rom_setting( settings_info *settings, size_t which ); 261 262 void settings_set_string( char **string_setting, const char *value ); 263 264 int settings_free( settings_info *settings ); 265 266 int settings_write_config( settings_info *settings ); 267 268 int settings_end( void ); 269 270 #endif /* #ifndef FUSE_SETTINGS_H */ 271