OSDN Git Service

[FM7][WIP]
[csp-qt/common_source_project-fm7.git] / source / src / config.h
1 /*\r
2         Skelton for retropc emulator\r
3 \r
4         Author : Takeda.Toshiya\r
5         Date   : 2006.08.18 -\r
6 \r
7         [ config ]\r
8 */\r
9 \r
10 #ifndef _CONFIG_H_\r
11 #define _CONFIG_H_\r
12 \r
13 # if defined(_USE_AGAR) || defined(_USE_SDL)\r
14 #include <sys/param.h>\r
15 #include <agar/core.h>\r
16 #ifndef _MAX_PATH\r
17  #define _MAX_PATH AG_PATHNAME_MAX\r
18 #endif\r
19 \r
20 #else\r
21 # include <tchar.h>\r
22 #endif\r
23 #include "vm/vm.h"\r
24 \r
25 \r
26 \r
27 #define MAX_HISTORY     8\r
28 \r
29 #if defined(USE_CART2)\r
30 #define MAX_CART        2\r
31 #elif defined(USE_CART1)\r
32 #define MAX_CART        1\r
33 #endif\r
34 \r
35 #if defined(USE_FD8)\r
36 #define MAX_FD          8\r
37 #elif defined(USE_FD7)\r
38 #define MAX_FD          7\r
39 #elif defined(USE_FD6)\r
40 #define MAX_FD          6\r
41 #elif defined(USE_FD5)\r
42 #define MAX_FD          5\r
43 #elif defined(USE_FD4)\r
44 #define MAX_FD          4\r
45 #elif defined(USE_FD3)\r
46 #define MAX_FD          3\r
47 #elif defined(USE_FD2)\r
48 #define MAX_FD          2\r
49 #elif defined(USE_FD1)\r
50 #define MAX_FD          1\r
51 #endif\r
52 \r
53 #if defined(USE_QD2)\r
54 #define MAX_QD          2\r
55 #elif defined(USE_QD1)\r
56 #define MAX_QD          1\r
57 #endif\r
58 \r
59 #if defined(USE_BINARY_FILE2)\r
60 #define MAX_BINARY      2\r
61 #elif defined(USE_BINARY_FILE1)\r
62 #define MAX_BINARY      1\r
63 #endif\r
64 \r
65 #ifdef __cplusplus\r
66 void init_config();\r
67 void load_config();\r
68 void save_config();\r
69 void save_config_state(void *f);\r
70 bool load_config_state(void *f);\r
71 #endif\r
72 \r
73 typedef struct {\r
74         // control\r
75 #ifdef USE_BOOT_MODE\r
76         int boot_mode;\r
77 #endif\r
78 #ifdef USE_CPU_TYPE\r
79         int cpu_type;\r
80 #endif\r
81         int cpu_power;\r
82 #ifdef USE_DIPSWITCH\r
83         uint32 dipswitch;\r
84 #endif\r
85 #ifdef USE_DEVICE_TYPE\r
86         int device_type;\r
87 #endif\r
88 #ifdef USE_FD1\r
89         BOOL ignore_crc;\r
90 #endif\r
91 #ifdef USE_TAPE\r
92         BOOL wave_shaper;\r
93         BOOL direct_load_mzt;\r
94 #endif\r
95         \r
96         // recent files\r
97 #ifdef USE_CART1\r
98         _TCHAR initial_cart_dir[_MAX_PATH];\r
99         _TCHAR recent_cart_path[MAX_CART][MAX_HISTORY][_MAX_PATH];\r
100 #endif\r
101 #ifdef USE_FD1\r
102         _TCHAR initial_disk_dir[_MAX_PATH];\r
103         _TCHAR recent_disk_path[MAX_FD][MAX_HISTORY][_MAX_PATH];\r
104 #endif\r
105 #ifdef USE_QD1\r
106         _TCHAR initial_quickdisk_dir[_MAX_PATH];\r
107         _TCHAR recent_quickdisk_path[MAX_QD][MAX_HISTORY][_MAX_PATH];\r
108 #endif\r
109 #ifdef USE_TAPE\r
110         _TCHAR initial_tape_dir[_MAX_PATH];\r
111         _TCHAR recent_tape_path[MAX_HISTORY][_MAX_PATH];\r
112 #endif\r
113 #ifdef USE_LASER_DISC\r
114         _TCHAR initial_laser_disc_dir[_MAX_PATH];\r
115         _TCHAR recent_laser_disc_path[MAX_HISTORY][_MAX_PATH];\r
116 #endif\r
117 #ifdef USE_BINARY_FILE1\r
118         _TCHAR initial_binary_dir[_MAX_PATH];\r
119         _TCHAR recent_binary_path[MAX_BINARY][MAX_HISTORY][_MAX_PATH];\r
120 #endif\r
121         \r
122         // screen\r
123         int window_mode;\r
124         BOOL use_d3d9;\r
125         BOOL wait_vsync;\r
126         int stretch_type;\r
127 #ifdef USE_MONITOR_TYPE\r
128         int monitor_type;\r
129 #endif\r
130 #ifdef USE_CRT_FILTER\r
131         BOOL crt_filter;\r
132 #endif\r
133 #ifdef USE_SCANLINE\r
134         BOOL scan_line;\r
135 #endif\r
136         \r
137         // sound\r
138         int sound_frequency;\r
139         int sound_latency;\r
140 #ifdef USE_SOUND_DEVICE_TYPE\r
141         int sound_device_type;\r
142 #endif\r
143         _TCHAR fmgen_dll_path[_MAX_PATH];\r
144 } config_t;\r
145 \r
146 extern config_t config;\r
147 \r
148 #endif\r
149 \r