Annotation of hatari/src/includes/configuration.h, revision 1.1.1.7

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: 
1.1.1.6   root       12: /* Logging */
                     13: typedef struct
                     14: {
                     15:   char sLogFileName[FILENAME_MAX];
                     16:   int nTextLogLevel;
                     17:   int nAlertDlgLogLevel;
                     18: } CNF_LOG;
                     19: 
                     20: 
1.1.1.5   root       21: /* ROM (TOS + cartridge) configuration */
1.1.1.3   root       22: typedef struct
                     23: {
1.1.1.5   root       24:   char szTosImageFileName[FILENAME_MAX];
                     25:   char szCartridgeImageFileName[FILENAME_MAX];
                     26: } CNF_ROM;
1.1.1.3   root       27: 
                     28: 
                     29: /* Sound configuration */
                     30: typedef enum
                     31: {
                     32:   PLAYBACK_LOW,
                     33:   PLAYBACK_MEDIUM,
                     34:   PLAYBACK_HIGH
                     35: } SOUND_QUALITIY;
                     36: 
                     37: typedef struct
                     38: {
                     39:   BOOL bEnableSound;
                     40:   SOUND_QUALITIY nPlaybackQuality;
1.1.1.4   root       41:   char szYMCaptureFileName[FILENAME_MAX];
1.1.1.3   root       42: } CNF_SOUND;
                     43: 
                     44: 
                     45: 
1.1.1.4   root       46: /* RS232 configuration */
1.1.1.3   root       47: typedef struct
                     48: {
                     49:   BOOL bEnableRS232;
1.1.1.4   root       50:   char szOutFileName[FILENAME_MAX];
                     51:   char szInFileName[FILENAME_MAX];
1.1.1.3   root       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;
1.1.1.4   root       67:   char szMappingFileName[FILENAME_MAX];
1.1.1.3   root       68: } CNF_KEYBOARD;
                     69: 
                     70: 
                     71: typedef struct
                     72: {
1.1.1.7 ! root       73:   int nMemorySize;
1.1.1.4   root       74:   char szMemoryCaptureFileName[FILENAME_MAX];
1.1.1.3   root       75: } CNF_MEMORY;
                     76: 
                     77: 
                     78: /* Joystick configuration */
1.1.1.7 ! root       79: typedef enum
        !            80: {
        !            81:   JOYSTICK_DISABLED,
        !            82:   JOYSTICK_REALSTICK,
        !            83:   JOYSTICK_KEYBOARD
        !            84: } JOYSTICKMODE;
        !            85: 
1.1.1.3   root       86: typedef struct
                     87: {
1.1.1.7 ! root       88:   JOYSTICKMODE nJoystickMode;
1.1.1.3   root       89:   BOOL bEnableAutoFire;
1.1.1.7 ! root       90:   int nJoyId;
        !            91:   int nKeyCodeUp, nKeyCodeDown, nKeyCodeLeft, nKeyCodeRight, nKeyCodeFire;
1.1.1.3   root       92: } JOYSTICK;
                     93: 
                     94: typedef struct
                     95: {
1.1.1.7 ! root       96:   JOYSTICK Joy[6];
1.1.1.3   root       97: } CNF_JOYSTICKS;
                     98: 
                     99: 
1.1.1.7 ! root      100: /* Disk image configuration */
1.1.1.6   root      101: 
                    102: typedef enum
                    103: {
                    104:   WRITEPROT_OFF,
                    105:   WRITEPROT_ON,
                    106:   WRITEPROT_AUTO
                    107: } WRITEPROTECTION;
                    108: 
1.1.1.3   root      109: typedef struct
                    110: {
1.1.1.7 ! root      111:   BOOL bAutoInsertDiskB;
1.1.1.6   root      112:   WRITEPROTECTION nWriteProtection;
1.1.1.7 ! root      113:   char szDiskImageDirectory[FILENAME_MAX];
        !           114: } CNF_DISKIMAGE;
1.1.1.3   root      115: 
                    116: 
1.1.1.7 ! root      117: /* Hard drives configuration */
1.1.1.3   root      118: #define MAX_HARDDRIVES  1
                    119: 
                    120: typedef enum
                    121: {
                    122:   DRIVE_C,
                    123:   DRIVE_D,
                    124:   DRIVE_E,
                    125:   DRIVE_F
                    126: } DRIVELETTER;
                    127: 
                    128: typedef struct
                    129: {
1.1.1.7 ! root      130:   BOOL bBootFromHardDisk;
        !           131:   int nHardDiskDir;
        !           132:   BOOL bUseHardDiskDirectories;
        !           133:   BOOL bUseHardDiskImage;
        !           134:   char szHardDiskDirectories[MAX_HARDDRIVES][FILENAME_MAX];
        !           135:   char szHardDiskImage[FILENAME_MAX];
        !           136: } CNF_HARDDISK;
1.1.1.3   root      137: 
                    138: 
                    139: /* Screen configuration */
                    140: typedef struct
                    141: {
                    142:   BOOL bFullScreen;
                    143:   BOOL bFrameSkip;
1.1.1.5   root      144:   BOOL bAllowOverscan;
                    145:   BOOL bInterleavedScreen;
1.1.1.3   root      146:   int ChosenDisplayMode;
1.1.1.5   root      147:   BOOL bUseHighRes;
                    148:   BOOL bUseExtVdiResolutions;
                    149:   int nVdiResolution;
                    150:   int nVdiColors;
1.1.1.3   root      151:   BOOL bCaptureChange;
                    152:   int nFramesPerSecond;
                    153: } CNF_SCREEN;
                    154: 
                    155: 
                    156: /* Printer configuration */
                    157: typedef struct
                    158: {
                    159:   BOOL bEnablePrinting;
                    160:   BOOL bPrintToFile;
1.1.1.4   root      161:   char szPrintToFileName[FILENAME_MAX];
1.1.1.3   root      162: } CNF_PRINTER;
                    163: 
                    164: 
1.1.1.4   root      165: /* Midi configuration */
                    166: typedef struct
                    167: {
                    168:   BOOL bEnableMidi;
                    169:   char szMidiOutFileName[FILENAME_MAX];
                    170: } CNF_MIDI;
                    171: 
                    172: 
1.1.1.3   root      173: /* Dialog System */
                    174: typedef enum
                    175: {
                    176:   MINMAXSPEED_MIN,
                    177:   MINMAXSPEED_1,
                    178:   MINMAXSPEED_2,
                    179:   MINMAXSPEED_3,
                    180:   MINMAXSPEED_MAX
                    181: } MINMAXSPEED_TYPE;
                    182: 
1.1.1.6   root      183: typedef enum
                    184: {
                    185:   MACHINE_ST,
                    186:   MACHINE_STE
                    187: } MACHINETYPE;
                    188: 
1.1.1.3   root      189: typedef struct
                    190: {
                    191:   int nCpuLevel;
1.1.1.6   root      192:   int nCpuFreq;
1.1.1.3   root      193:   BOOL bCompatibleCpu;
1.1.1.6   root      194:   /*BOOL bAddressSpace24;*/
                    195:   MACHINETYPE nMachineType;
1.1.1.3   root      196:   BOOL bBlitter;                  /* TRUE if blitter is enabled */
1.1.1.6   root      197:   BOOL bRealTimeClock;
1.1.1.4   root      198:   BOOL bPatchTimerD;
                    199:   BOOL bSlowFDC;                  /* TRUE to slow down FDC emulation */
1.1.1.3   root      200:   MINMAXSPEED_TYPE nMinMaxSpeed;
                    201: } CNF_SYSTEM;
                    202: 
                    203: 
                    204: /* State of system is stored in this structure */
                    205: /* On reset, variables are copied into system globals and used. */
                    206: typedef struct
                    207: {
                    208:   /* Configure */
1.1.1.6   root      209:   CNF_LOG Log;
1.1.1.3   root      210:   CNF_SCREEN Screen;
                    211:   CNF_JOYSTICKS Joysticks;
                    212:   CNF_KEYBOARD Keyboard;
                    213:   CNF_SOUND Sound;
                    214:   CNF_MEMORY Memory;
1.1.1.7 ! root      215:   CNF_DISKIMAGE DiskImage;
        !           216:   CNF_HARDDISK HardDisk;
1.1.1.5   root      217:   CNF_ROM Rom;
1.1.1.3   root      218:   CNF_RS232 RS232;
                    219:   CNF_PRINTER Printer;
1.1.1.4   root      220:   CNF_MIDI Midi;
1.1.1.3   root      221:   CNF_SYSTEM System;
                    222: } CNF_PARAMS;
                    223: 
                    224: 
1.1       root      225: extern BOOL bFirstTimeInstall;
1.1.1.3   root      226: extern CNF_PARAMS ConfigureParams;
1.1.1.4   root      227: extern char sConfigFileName[FILENAME_MAX];
1.1       root      228: 
1.1.1.2   root      229: extern void Configuration_SetDefault(void);
1.1.1.5   root      230: extern void Configuration_WorkOnDetails(BOOL bReset);
1.1.1.6   root      231: extern void Configuration_Load(const char *psFileName);
1.1.1.3   root      232: extern void Configuration_Save(void);
                    233: 
                    234: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.