|
|
1.1 root 1: /* 1.1.1.3 ! root 2: Hatari - configuration.h ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at ! 5: your option any later version. Read the file gpl.txt for details. 1.1 root 6: */ 7: 1.1.1.3 ! root 8: #ifndef HATARI_CONFIGURATION_H ! 9: #define HATARI_CONFIGURATION_H ! 10: ! 11: ! 12: /* TOS/GEM configuration */ ! 13: typedef struct ! 14: { ! 15: char szTOSImageFileName[MAX_FILENAME_LENGTH]; ! 16: BOOL bUseExtGEMResolutions; ! 17: int nGEMResolution; ! 18: int nGEMColours; ! 19: } CNF_TOSGEM; ! 20: ! 21: ! 22: /* Sound configuration */ ! 23: typedef enum ! 24: { ! 25: PLAYBACK_LOW, ! 26: PLAYBACK_MEDIUM, ! 27: PLAYBACK_HIGH ! 28: } SOUND_QUALITIY; ! 29: ! 30: typedef struct ! 31: { ! 32: BOOL bEnableSound; ! 33: SOUND_QUALITIY nPlaybackQuality; ! 34: char szYMCaptureFileName[MAX_FILENAME_LENGTH]; ! 35: } CNF_SOUND; ! 36: ! 37: ! 38: ! 39: /* RS232 configuration - not yet used */ ! 40: /* ! 41: enum { ! 42: COM_PORT_1, ! 43: COM_PORT_2, ! 44: COM_PORT_3, ! 45: COM_PORT_4 ! 46: }; ! 47: */ ! 48: typedef struct ! 49: { ! 50: BOOL bEnableRS232; ! 51: int nCOMPort; ! 52: } CNF_RS232; ! 53: ! 54: ! 55: /* Dialog Keyboard */ ! 56: typedef enum ! 57: { ! 58: KEYMAP_SYMBOLIC, /* Use keymapping with symbolic (ASCII) key codes */ ! 59: KEYMAP_SCANCODE, /* Use keymapping with PC keyboard scancodes */ ! 60: KEYMAP_LOADED /* Use keymapping with a map configuration file */ ! 61: } KEYMAPTYPE; ! 62: ! 63: typedef struct ! 64: { ! 65: BOOL bDisableKeyRepeat; ! 66: KEYMAPTYPE nKeymapType; ! 67: char szMappingFileName[MAX_FILENAME_LENGTH]; ! 68: } CNF_KEYBOARD; ! 69: ! 70: ! 71: /* Memory configuration */ ! 72: typedef enum ! 73: { ! 74: MEMORY_SIZE_512Kb, ! 75: MEMORY_SIZE_1Mb, ! 76: MEMORY_SIZE_2Mb, ! 77: MEMORY_SIZE_4Mb ! 78: } MEMORY_SIZE; ! 79: ! 80: typedef struct ! 81: { ! 82: MEMORY_SIZE nMemorySize; ! 83: char szMemoryCaptureFileName[MAX_FILENAME_LENGTH]; ! 84: } CNF_MEMORY; ! 85: ! 86: ! 87: /* Joystick configuration */ ! 88: typedef struct ! 89: { ! 90: BOOL bCursorEmulation; ! 91: BOOL bEnableAutoFire; ! 92: } JOYSTICK; ! 93: ! 94: typedef struct ! 95: { ! 96: JOYSTICK Joy[2]; ! 97: } CNF_JOYSTICKS; ! 98: ! 99: ! 100: /* Discimage configuration */ ! 101: typedef struct ! 102: { ! 103: BOOL bAutoInsertDiscB; ! 104: char szDiscImageDirectory[MAX_FILENAME_LENGTH]; ! 105: } CNF_DISCIMAGE; ! 106: ! 107: ! 108: /* Hard discs configuration */ ! 109: #define MAX_HARDDRIVES 1 ! 110: #define DRIVELIST_TO_DRIVE_INDEX(DriveList) (DriveList+1) ! 111: ! 112: typedef enum ! 113: { ! 114: DRIVELIST_NONE, ! 115: DRIVELIST_C, ! 116: DRIVELIST_CD, ! 117: DRIVELIST_CDE, ! 118: DRIVELIST_CDEF ! 119: } DRIVELIST; ! 120: ! 121: typedef enum ! 122: { ! 123: DRIVE_C, ! 124: DRIVE_D, ! 125: DRIVE_E, ! 126: DRIVE_F ! 127: } DRIVELETTER; ! 128: ! 129: typedef struct ! 130: { ! 131: int nDriveList; ! 132: BOOL bBootFromHardDisc; ! 133: int nHardDiscDir; ! 134: BOOL bUseHardDiscDirectories; ! 135: BOOL bUseHardDiscImage; ! 136: char szHardDiscDirectories[MAX_HARDDRIVES][MAX_FILENAME_LENGTH]; ! 137: char szHardDiscImage[MAX_FILENAME_LENGTH]; ! 138: } CNF_HARDDISC; ! 139: ! 140: ! 141: /* Screen configuration */ ! 142: typedef struct ! 143: { ! 144: BOOL bFullScreen; ! 145: BOOL bDoubleSizeWindow; ! 146: BOOL bAllowOverscan; ! 147: BOOL bInterlacedScreen; ! 148: BOOL bSyncToRetrace; ! 149: BOOL bFrameSkip; ! 150: int ChosenDisplayMode; ! 151: BOOL bCaptureChange; ! 152: int nFramesPerSecond; ! 153: BOOL bUseHighRes; ! 154: } CNF_SCREEN; ! 155: ! 156: ! 157: /* Printer configuration */ ! 158: typedef struct ! 159: { ! 160: BOOL bEnablePrinting; ! 161: BOOL bPrintToFile; ! 162: char szPrintToFileName[MAX_FILENAME_LENGTH]; ! 163: } CNF_PRINTER; ! 164: ! 165: ! 166: /* Dialog System */ ! 167: typedef enum ! 168: { ! 169: MINMAXSPEED_MIN, ! 170: MINMAXSPEED_1, ! 171: MINMAXSPEED_2, ! 172: MINMAXSPEED_3, ! 173: MINMAXSPEED_MAX ! 174: } MINMAXSPEED_TYPE; ! 175: ! 176: typedef struct ! 177: { ! 178: int nCpuLevel; ! 179: BOOL bCompatibleCpu; ! 180: BOOL bAddressSpace24; ! 181: BOOL bBlitter; /* TRUE if blitter is enabled */ ! 182: MINMAXSPEED_TYPE nMinMaxSpeed; ! 183: } CNF_SYSTEM; ! 184: ! 185: ! 186: /* State of system is stored in this structure */ ! 187: /* On reset, variables are copied into system globals and used. */ ! 188: typedef struct ! 189: { ! 190: /* Configure */ ! 191: CNF_SCREEN Screen; ! 192: CNF_JOYSTICKS Joysticks; ! 193: CNF_KEYBOARD Keyboard; ! 194: CNF_SOUND Sound; ! 195: CNF_MEMORY Memory; ! 196: CNF_DISCIMAGE DiscImage; ! 197: CNF_HARDDISC HardDisc; ! 198: CNF_TOSGEM TOSGEM; ! 199: CNF_RS232 RS232; ! 200: CNF_PRINTER Printer; ! 201: CNF_SYSTEM System; ! 202: } CNF_PARAMS; ! 203: ! 204: 1.1 root 205: extern BOOL bFirstTimeInstall; 1.1.1.3 ! root 206: extern CNF_PARAMS ConfigureParams; 1.1 root 207: 1.1.1.2 root 208: extern void Configuration_SetDefault(void); 1.1.1.3 ! root 209: extern void Configuration_Load(void); ! 210: extern void Configuration_Save(void); ! 211: ! 212: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.