--- hatari/src/includes/configuration.h 2019/04/01 07:13:41 1.1.1.9 +++ hatari/src/includes/configuration.h 2019/04/09 08:48:41 1.1.1.13 @@ -8,16 +8,26 @@ #ifndef HATARI_CONFIGURATION_H #define HATARI_CONFIGURATION_H -/* Logging */ +/* Logging and tracing */ typedef struct { char sLogFileName[FILENAME_MAX]; + char sTraceFileName[FILENAME_MAX]; int nTextLogLevel; int nAlertDlgLogLevel; - BOOL bConfirmQuit; + bool bConfirmQuit; } CNF_LOG; +/* debugger */ +typedef struct +{ + int nNumberBase; + int nDisasmLines; + int nMemdumpLines; +} CNF_DEBUGGER; + + /* ROM (TOS + cartridge) configuration */ typedef struct { @@ -27,18 +37,12 @@ typedef struct /* Sound configuration */ -typedef enum -{ - PLAYBACK_LOW, - PLAYBACK_MEDIUM, - PLAYBACK_HIGH -} SOUND_QUALITY; - typedef struct { - BOOL bEnableSound; - SOUND_QUALITY nPlaybackQuality; + bool bEnableSound; + int nPlaybackFreq; char szYMCaptureFileName[FILENAME_MAX]; + int SdlAudioBufferSize; } CNF_SOUND; @@ -46,7 +50,7 @@ typedef struct /* RS232 configuration */ typedef struct { - BOOL bEnableRS232; + bool bEnableRS232; char szOutFileName[FILENAME_MAX]; char szInFileName[FILENAME_MAX]; } CNF_RS232; @@ -62,7 +66,7 @@ typedef enum typedef struct { - BOOL bDisableKeyRepeat; + bool bDisableKeyRepeat; KEYMAPTYPE nKeymapType; char szMappingFileName[FILENAME_MAX]; } CNF_KEYBOARD; @@ -71,19 +75,22 @@ typedef struct typedef enum { SHORTCUT_OPTIONS, SHORTCUT_FULLSCREEN, - SHORTCUT_MOUSEMODE, + SHORTCUT_MOUSEGRAB, SHORTCUT_COLDRESET, SHORTCUT_WARMRESET, SHORTCUT_SCREENSHOT, SHORTCUT_BOSSKEY, SHORTCUT_CURSOREMU, - SHORTCUT_MAXSPEED, + SHORTCUT_FASTFORWARD, SHORTCUT_RECANIM, SHORTCUT_RECSOUND, SHORTCUT_SOUND, + SHORTCUT_DEBUG, + SHORTCUT_PAUSE, SHORTCUT_QUIT, SHORTCUT_LOADMEM, SHORTCUT_SAVEMEM, + SHORTCUT_INSERTDISKA, SHORTCUT_KEYS, /* number of shortcuts */ SHORTCUT_NONE } SHORTCUTKEYIDX; @@ -98,7 +105,7 @@ typedef struct typedef struct { int nMemorySize; - BOOL bAutoSave; + bool bAutoSave; char szMemoryCaptureFileName[FILENAME_MAX]; char szAutoSaveFileName[FILENAME_MAX]; } CNF_MEMORY; @@ -115,7 +122,8 @@ typedef enum typedef struct { JOYSTICKMODE nJoystickMode; - BOOL bEnableAutoFire; + bool bEnableAutoFire; + bool bEnableJumpOnFire2; int nJoyId; int nKeyCodeUp, nKeyCodeDown, nKeyCodeLeft, nKeyCodeRight, nKeyCodeFire; } JOYSTICK; @@ -137,16 +145,21 @@ typedef enum WRITEPROT_AUTO } WRITEPROTECTION; +#define MAX_FLOPPYDRIVES 2 + typedef struct { - BOOL bAutoInsertDiskB; + bool bAutoInsertDiskB; + bool bSlowFloppy; /* true to slow down FDC emulation */ WRITEPROTECTION nWriteProtection; + char szDiskZipPath[MAX_FLOPPYDRIVES][FILENAME_MAX]; + char szDiskFileName[MAX_FLOPPYDRIVES][FILENAME_MAX]; char szDiskImageDirectory[FILENAME_MAX]; } CNF_DISKIMAGE; /* Hard drives configuration */ -#define MAX_HARDDRIVES 1 +#define MAX_HARDDRIVES 23 typedef enum { @@ -158,14 +171,17 @@ typedef enum typedef struct { - BOOL bBootFromHardDisk; int nHardDiskDir; - BOOL bUseHardDiskDirectories; - BOOL bUseHardDiskImage; + bool bUseHardDiskDirectories; + bool bUseHardDiskImage; + bool bUseIdeMasterHardDiskImage; + bool bUseIdeSlaveHardDiskImage; + WRITEPROTECTION nWriteProtection; + bool bBootFromHardDisk; char szHardDiskDirectories[MAX_HARDDRIVES][FILENAME_MAX]; char szHardDiskImage[FILENAME_MAX]; - BOOL bUseIdeHardDiskImage; - char szIdeHardDiskImage[FILENAME_MAX]; + char szIdeMasterHardDiskImage[FILENAME_MAX]; + char szIdeSlaveHardDiskImage[FILENAME_MAX]; } CNF_HARDDISK; /* Falcon register $FFFF8006 bits 6 & 7 (mirrored in $FFFF82C0 bits 0 & 1): @@ -191,33 +207,30 @@ typedef enum /* Screen configuration */ typedef struct { - MONITORTYPE MonitorType; - int FrameSkips; - BOOL bFullScreen; - BOOL bAllowOverscan; - BOOL bZoomLowRes; - BOOL bUseExtVdiResolutions; + MONITORTYPE nMonitorType; + int nFrameSkips; + bool bFullScreen; + bool bAllowOverscan; + bool bAspectCorrect; + bool bUseExtVdiResolutions; int nSpec512Threshold; int nForceBpp; int nVdiColors; int nVdiWidth; int nVdiHeight; - BOOL bCaptureChange; - int nFramesPerSecond; - int nWindowBorderPixelsLeft; - int nWindowBorderPixelsRight; - int nWindowBorderPixelsBottom; - int nFullScreenBorderPixelsLeft; - int nFullScreenBorderPixelsRight; - int nFullScreenBorderPixelsBottom; + bool bShowStatusbar; + bool bShowDriveLed; + bool bCaptureChange; + int nMaxWidth; + int nMaxHeight; } CNF_SCREEN; /* Printer configuration */ typedef struct { - BOOL bEnablePrinting; - BOOL bPrintToFile; + bool bEnablePrinting; + bool bPrintToFile; char szPrintToFileName[FILENAME_MAX]; } CNF_PRINTER; @@ -225,23 +238,15 @@ typedef struct /* Midi configuration */ typedef struct { - BOOL bEnableMidi; - char szMidiOutFileName[FILENAME_MAX]; + bool bEnableMidi; + char sMidiInFileName[FILENAME_MAX]; + char sMidiOutFileName[FILENAME_MAX]; } CNF_MIDI; /* Dialog System */ typedef enum { - MINMAXSPEED_MIN, - MINMAXSPEED_1, - MINMAXSPEED_2, - MINMAXSPEED_3, - MINMAXSPEED_MAX -} MINMAXSPEED_TYPE; - -typedef enum -{ MACHINE_ST, MACHINE_STE, MACHINE_TT, @@ -259,15 +264,14 @@ typedef struct { int nCpuLevel; int nCpuFreq; - BOOL bCompatibleCpu; - /*BOOL bAddressSpace24;*/ + bool bCompatibleCpu; + /*bool bAddressSpace24;*/ MACHINETYPE nMachineType; - BOOL bBlitter; /* TRUE if Blitter is enabled */ + bool bBlitter; /* TRUE if Blitter is enabled */ DSPTYPE nDSPType; /* how to "emulate" DSP */ - BOOL bRealTimeClock; - BOOL bPatchTimerD; - BOOL bSlowFDC; /* TRUE to slow down FDC emulation */ - MINMAXSPEED_TYPE nMinMaxSpeed; + bool bRealTimeClock; + bool bPatchTimerD; + bool bFastForward; } CNF_SYSTEM; @@ -277,6 +281,7 @@ typedef struct { /* Configure */ CNF_LOG Log; + CNF_DEBUGGER Debugger; CNF_SCREEN Screen; CNF_JOYSTICKS Joysticks; CNF_KEYBOARD Keyboard; @@ -293,14 +298,13 @@ typedef struct } CNF_PARAMS; -extern BOOL bFirstTimeInstall; extern CNF_PARAMS ConfigureParams; extern char sConfigFileName[FILENAME_MAX]; extern void Configuration_SetDefault(void); -extern void Configuration_Apply(BOOL bReset); +extern void Configuration_Apply(bool bReset); extern void Configuration_Load(const char *psFileName); extern void Configuration_Save(void); -extern void Configuration_MemorySnapShot_Capture(BOOL bSave); +extern void Configuration_MemorySnapShot_Capture(bool bSave); #endif