Added ELF sections check so a potential unknown section will stop, or not stop, the...
[clinton/Virtual-Jaguar-Rx.git] / src / settings.h
index d0a8f4d..8b7ca16 100644 (file)
@@ -6,6 +6,9 @@
 // Who  When        What\r
 // ---  ----------  ------------------------------------------------------------\r
 // JPM  06/19/2016  Soft debugger support\r
+// JPM  Sept./2018  Added the new Models and BIOS handler, and a screenshot settings\r
+// JPM  10/10/2018  Added search paths in settings\r
+// JPM  04/06/2019  Added ELF sections check\r
 //\r
 \r
 #ifndef __SETTINGS_H__\r
@@ -28,7 +31,7 @@
 \r
 \r
 // List the erase settings possibilities\r
-typedef enum\r
+enum\r
 {\r
        SETTINGS_NONE = 0,\r
        SETTINGS_ALL,\r
@@ -39,6 +42,15 @@ typedef enum
 };\r
 \r
 \r
+// Key bindings settings structure\r
+struct KBSettings\r
+{\r
+       //char KBSettingName[100];\r
+       char KBSettingValue[100];\r
+       //char KBSettingDefaultValue[100];\r
+};\r
+\r
+\r
 // functions declarations\r
 extern bool EraseSettings(char *Setting);\r
 \r
@@ -46,15 +58,17 @@ extern bool EraseSettings(char *Setting);
 // Settings struct\r
 struct VJSettings\r
 {\r
-       bool useJoystick;\r
+       bool useJoystick;                                                                                       // Joystick usage\r
        int32_t joyport;                                                                                        // Joystick port\r
        bool hardwareTypeNTSC;                                                                          // Set to false for PAL, otherwise it is NTSC\r
-       bool useJaguarBIOS;\r
-       bool GPUEnabled;\r
-       bool DSPEnabled;\r
+       bool useJaguarBIOS;                                                                                     // Use of any Jaguar BIOS\r
+       bool useRetailBIOS;                                                                                     // Use of Retail BIOS\r
+       bool useDevBIOS;                                                                                        // Use of Development BIOS\r
+       bool GPUEnabled;                                                                                        // Use of GPU\r
+       bool DSPEnabled;                                                                                        // Use of DSP\r
        bool usePipelinedDSP;\r
-       bool fullscreen;\r
-       bool useOpenGL;\r
+       bool fullscreen;                                                                                        // Emulator in full screen mode so video output display only\r
+       bool useOpenGL;                                                                                         // OpenGL support (always 'true')\r
        uint32_t glFilter;\r
        bool hardwareTypeAlpine;                                                                        // Alpine mode\r
        bool softTypeDebugger;                                                                          // Soft type debugger mode\r
@@ -62,42 +76,47 @@ struct VJSettings
        uint32_t frameSkip;\r
        uint32_t renderType;\r
        uint32_t refresh;\r
-       bool allowWritesToROM;\r
-       uint32_t biosType;\r
+       bool allowWritesToROM;                                                                          // Allow writing to ROM cartdridge\r
+       uint32_t biosType;                                                                                      // Bios type used\r
+       uint32_t jaguarModel;                                                                           // Jaguar model\r
        size_t nbrdisasmlines;                                                                          // Number of lines to show in the M68K tracing window\r
        bool disasmopcodes;\r
        bool displayHWlabels;\r
        bool useFastBlitter;\r
        bool displayFullSourceFilename;\r
+       bool ELFSectionsCheck;\r
        size_t nbrmemory1browserwindow;                                                         // Number of memory browser windows\r
        size_t DRAM_size;                                                                                       // DRAM size\r
 \r
        // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *\r
-\r
        uint32_t p1KeyBindings[21];\r
        uint32_t p2KeyBindings[21];\r
 \r
-       // Paths\r
+       // Keybindings\r
+       KBSettings KBContent[100];\r
 \r
+       // Paths\r
        char ROMPath[MAX_PATH];\r
-       char jagBootPath[MAX_PATH];\r
-       char CDBootPath[MAX_PATH];\r
+       //char jagBootPath[MAX_PATH];\r
+       //char CDBootPath[MAX_PATH];\r
        char EEPROMPath[MAX_PATH];\r
        char alpineROMPath[MAX_PATH];\r
        char debuggerROMPath[MAX_PATH];\r
        char absROMPath[MAX_PATH];\r
+       char screenshotPath[MAX_PATH];\r
+       char sourcefilesearchPaths[4096];\r
 };\r
 \r
 // Render types\r
-\r
 enum { RT_NORMAL = 0, RT_TV = 1 };\r
 \r
-// BIOS types\r
+// Jaguar models\r
+enum { JAG_NULL_SERIES, JAG_K_SERIES, JAG_M_SERIES };\r
 \r
-enum { BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };\r
+// BIOS types\r
+enum { BT_NULL, BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };\r
 \r
 // Exported variables\r
-\r
 extern VJSettings vjs;\r
 \r
 #endif // __SETTINGS_H__\r