Minor cosmetic and comments modifications
[clinton/Virtual-Jaguar-Rx.git] / src / settings.h
CommitLineData
be44e757
JPM
1//\r
2// settings.h: Header file\r
3//\r
4// JPM = Jean-Paul Mari <djipi.mari@gmail.com>\r
5//\r
6// Who When What\r
7// --- ---------- ------------------------------------------------------------\r
8// JPM 06/19/2016 Soft debugger support\r
fe3b257d 9// JPM Sept. / 2018 Added the new Models and BIOS handler, and a screenshot settings\r
be44e757
JPM
10//\r
11\r
12#ifndef __SETTINGS_H__\r
13#define __SETTINGS_H__\r
14\r
15// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...\r
16#ifdef __GCCUNIX__\r
17#include <limits.h>\r
18#define MAX_PATH _POSIX_PATH_MAX\r
19#else\r
20#include <stdlib.h> // for MAX_PATH on MinGW/Darwin\r
21// Kludge for Win64\r
22#ifndef MAX_PATH\r
23#define MAX_PATH _MAX_PATH // Urgh.\r
24#endif\r
25#endif\r
26#include <stdint.h>\r
27\r
28#define MaxMemory1BrowserWindow 4\r
29\r
30\r
31// List the erase settings possibilities\r
024bfc46 32enum\r
be44e757
JPM
33{\r
34 SETTINGS_NONE = 0,\r
35 SETTINGS_ALL,\r
36 SETTINGS_UI,\r
37 SETTINGS_ALPINE,\r
38 SETTINGS_DEBUGGER,\r
39 SETTINGS_END\r
40};\r
41\r
42\r
024bfc46
JPM
43// Key bindings settings structure\r
44struct KBSettings\r
45{\r
46 //char KBSettingName[100];\r
47 char KBSettingValue[100];\r
48 //char KBSettingDefaultValue[100];\r
49};\r
50\r
51\r
be44e757
JPM
52// functions declarations\r
53extern bool EraseSettings(char *Setting);\r
54\r
55\r
56// Settings struct\r
57struct VJSettings\r
58{\r
fe3b257d 59 bool useJoystick; // Joystick usage\r
be44e757
JPM
60 int32_t joyport; // Joystick port\r
61 bool hardwareTypeNTSC; // Set to false for PAL, otherwise it is NTSC\r
bc10fc42
JPM
62 bool useJaguarBIOS; // Use of any Jaguar BIOS\r
63 bool useRetailBIOS; // Use of Retail BIOS\r
64 bool useDevBIOS; // Use of Development BIOS\r
fe3b257d
JPM
65 bool GPUEnabled; // Use of GPU\r
66 bool DSPEnabled; // Use of DSP\r
be44e757 67 bool usePipelinedDSP;\r
fe3b257d 68 bool fullscreen; // Emulator in full screen mode so video output display only\r
024bfc46 69 bool useOpenGL; // OpenGL support (always 'true')\r
be44e757
JPM
70 uint32_t glFilter;\r
71 bool hardwareTypeAlpine; // Alpine mode\r
72 bool softTypeDebugger; // Soft type debugger mode\r
73 bool audioEnabled;\r
74 uint32_t frameSkip;\r
75 uint32_t renderType;\r
76 uint32_t refresh;\r
fe3b257d 77 bool allowWritesToROM; // Allow writing to ROM cartdridge\r
bc10fc42
JPM
78 uint32_t biosType; // Bios type used\r
79 uint32_t jaguarModel; // Jaguar model\r
be44e757
JPM
80 size_t nbrdisasmlines; // Number of lines to show in the M68K tracing window\r
81 bool disasmopcodes;\r
82 bool displayHWlabels;\r
83 bool useFastBlitter;\r
84 bool displayFullSourceFilename;\r
85 size_t nbrmemory1browserwindow; // Number of memory browser windows\r
86 size_t DRAM_size; // DRAM size\r
87\r
88 // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *\r
be44e757
JPM
89 uint32_t p1KeyBindings[21];\r
90 uint32_t p2KeyBindings[21];\r
91\r
024bfc46
JPM
92 // Keybindings\r
93 KBSettings KBContent[100];\r
be44e757 94\r
024bfc46 95 // Paths\r
be44e757 96 char ROMPath[MAX_PATH];\r
fe3b257d
JPM
97 //char jagBootPath[MAX_PATH];\r
98 //char CDBootPath[MAX_PATH];\r
be44e757
JPM
99 char EEPROMPath[MAX_PATH];\r
100 char alpineROMPath[MAX_PATH];\r
101 char debuggerROMPath[MAX_PATH];\r
102 char absROMPath[MAX_PATH];\r
25251f31 103 char screenshotPath[MAX_PATH];\r
be44e757
JPM
104};\r
105\r
106// Render types\r
be44e757
JPM
107enum { RT_NORMAL = 0, RT_TV = 1 };\r
108\r
bc10fc42
JPM
109// Jaguar models\r
110enum { JAG_NULL_SERIES, JAG_K_SERIES, JAG_M_SERIES };\r
111\r
be44e757 112// BIOS types\r
bc10fc42 113enum { BT_NULL, BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };\r
be44e757
JPM
114\r
115// Exported variables\r
be44e757
JPM
116extern VJSettings vjs;\r
117\r
118#endif // __SETTINGS_H__\r