2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
14 #include <sys/param.h>
15 #include <QtCore/QFile>
16 #include <QtCore/QFileInfo>
19 #define _MAX_PATH 2048
26 #define EMU_LOG_CPU1 0x00000001
27 #define EMU_LOG_CPU2 0x00000002
28 #define EMU_LOG_CPU3 0x00000004
29 #define EMU_LOG_CPU4 0x00000008
30 #define EMU_LOG_FLOPPY 0x00000010
31 #define EMU_LOG_CMT 0x00000020
32 #define EMU_LOG_QD 0x00000040
33 #define EMU_LOG_CART 0x00000080
34 #define EMU_LOG_BINARY 0x00000100
35 #define EMU_LOG_LASERDISC 0x00000200
36 #define EMU_LOG_DISPLAY 0x00001000
37 #define EMU_LOG_SOUND 0x00002000
38 #define EMU_LOG_KEYBOARD 0x00004000
39 #define EMU_LOG_IO 0x00008000
40 #define EMU_LOG_MEMORY 0x00010000
41 #define EMU_LOG_USR1 0x00020000
42 #define EMU_LOG_USR2 0x00040000
43 #define EMU_LOG_USR3 0x00080000
44 #define EMU_LOG_USR4 0x00100000
45 #define EMU_LOG_USR5 0x00200000
46 #define EMU_LOG_USR6 0x00400000
47 #define EMU_LOG_USR7 0x00800000
48 #define EMU_LOG_USR8 0x01000000
49 #define EMU_LOG_USR9 0x02000000
50 #define EMU_LOG_USR10 0x04000000
51 #define EMU_LOG_GUI 0x08000000
52 #define EMU_LOG_DEBUG 0x10000000
53 #define EMU_LOG_INFO 0x20000000
54 #define EMU_LOG_WARNING 0x40000000
55 #define EMU_LOG_GENERAL 0x80000000
59 #if defined(USE_CART2)
61 #elif defined(USE_CART1)
67 #elif defined(USE_FD7)
69 #elif defined(USE_FD6)
71 #elif defined(USE_FD5)
73 #elif defined(USE_FD4)
75 #elif defined(USE_FD3)
77 #elif defined(USE_FD2)
79 #elif defined(USE_FD1)
85 #elif defined(USE_QD1)
89 #if defined(USE_BINARY_FILE2)
91 #elif defined(USE_BINARY_FILE1)
99 void save_config_state(void *f);
100 bool load_config_state(void *f);
115 #ifdef USE_DEVICE_TYPE
118 #ifdef USE_DRIVE_TYPE
122 bool correct_disk_timing[16];
123 bool ignore_disk_crc[16];
128 bool direct_load_mzt;
134 _TCHAR initial_cart_dir[_MAX_PATH];
135 _TCHAR recent_cart_path[MAX_CART][MAX_HISTORY][_MAX_PATH];
138 _TCHAR initial_disk_dir[_MAX_PATH];
139 _TCHAR recent_disk_path[MAX_FD][MAX_HISTORY][_MAX_PATH];
142 _TCHAR initial_quickdisk_dir[_MAX_PATH];
143 _TCHAR recent_quickdisk_path[MAX_QD][MAX_HISTORY][_MAX_PATH];
146 _TCHAR initial_tape_dir[_MAX_PATH];
147 _TCHAR recent_tape_path[MAX_HISTORY][_MAX_PATH];
149 #ifdef USE_LASER_DISC
150 _TCHAR initial_laser_disc_dir[_MAX_PATH];
151 _TCHAR recent_laser_disc_path[MAX_HISTORY][_MAX_PATH];
153 #ifdef USE_BINARY_FILE1
154 _TCHAR initial_binary_dir[_MAX_PATH];
155 _TCHAR recent_binary_path[MAX_BINARY][MAX_HISTORY][_MAX_PATH];
157 #ifdef USE_SCREEN_ROTATE
158 bool rotate_type; // FIXME: wanna support +90deg, +180deg and +270deg
168 #ifdef USE_MONITOR_TYPE
171 #ifdef USE_CRT_FILTER
181 int general_sound_level;
182 #ifdef USE_MULTIPLE_SOUNDCARDS
183 int sound_device_level[USE_MULTIPLE_SOUNDCARDS];
185 bool multiple_speakers; // Effext if multiple sound boards : TRUE = not monoral.
187 bool use_opengl_scanline;
188 bool opengl_scanline_vert;
189 bool opengl_scanline_horiz;
191 bool use_opengl_filters;
192 int opengl_filter_num;
194 #ifdef USE_SOUND_DEVICE_TYPE
195 int sound_device_type;
197 _TCHAR fmgen_dll_path[_MAX_PATH];
201 bool use_direct_input;
204 bool swap_joy_buttons;
207 extern config_t config;
209 #if defined(_USE_AGAR) || defined(_USE_QT)
213 extern bool WritePrivateProfileString(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, char *Value, FILEIO *lpFileName);
214 extern bool WritePrivateProfileInt(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, int Value, FILEIO *lpFileName);
215 extern BOOL WritePrivateProfileBool(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, bool Value, FILEIO *lpFileName);
216 extern std::string GetPrivateProfileStr(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, FILEIO *lpFileName);
217 extern void GetPrivateProfileString(const _TCHAR *section, const _TCHAR *key, const _TCHAR *defaultstr,
218 char *str, int max_len, FILEIO *p);
219 extern int GetPrivateProfileInt(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, int nDefault, FILEIO *lpFileName);
220 extern bool GetPrivateProfileBool(const _TCHAR *lpAppName, const _TCHAR *lpKeyName, bool bDefault, FILEIO *lpFileName);