--- hatari/src/includes/configuration.h 2019/04/09 08:48:41 1.1.1.13 +++ hatari/src/includes/configuration.h 2019/04/09 08:53:12 1.1.1.17 @@ -1,8 +1,8 @@ /* Hatari - configuration.h - This file is distributed under the GNU Public License, version 2 or at - your option any later version. Read the file gpl.txt for details. + This file is distributed under the GNU General Public License, version 2 + or at your option any later version. Read the file gpl.txt for details. */ #ifndef HATARI_CONFIGURATION_H @@ -16,6 +16,8 @@ typedef struct int nTextLogLevel; int nAlertDlgLogLevel; bool bConfirmQuit; + bool bNatFeats; + bool bConsoleWindow; /* for now, used just for Windows */ } CNF_LOG; @@ -25,6 +27,8 @@ typedef struct int nNumberBase; int nDisasmLines; int nMemdumpLines; + int nDisasmOptions; + bool bDisasmUAE; } CNF_DEBUGGER; @@ -32,6 +36,7 @@ typedef struct typedef struct { char szTosImageFileName[FILENAME_MAX]; + bool bPatchTos; char szCartridgeImageFileName[FILENAME_MAX]; } CNF_ROM; @@ -39,10 +44,13 @@ typedef struct /* Sound configuration */ typedef struct { + bool bEnableMicrophone; bool bEnableSound; + bool bEnableSoundSync; int nPlaybackFreq; - char szYMCaptureFileName[FILENAME_MAX]; int SdlAudioBufferSize; + char szYMCaptureFileName[FILENAME_MAX]; + int YmVolumeMixing; } CNF_SOUND; @@ -150,7 +158,7 @@ typedef enum typedef struct { bool bAutoInsertDiskB; - bool bSlowFloppy; /* true to slow down FDC emulation */ + bool FastFloppy; /* true to speed up FDC emulation */ WRITEPROTECTION nWriteProtection; char szDiskZipPath[MAX_FLOPPYDRIVES][FILENAME_MAX]; char szDiskFileName[MAX_FLOPPYDRIVES][FILENAME_MAX]; @@ -158,16 +166,16 @@ typedef struct } CNF_DISKIMAGE; -/* Hard drives configuration */ -#define MAX_HARDDRIVES 23 +/* Hard drives configuration: C: - Z: */ +#define MAX_HARDDRIVES 24 +#define DRIVE_C 0 typedef enum { - DRIVE_C, - DRIVE_D, - DRIVE_E, - DRIVE_F -} DRIVELETTER; + GEMDOS_NOP, + GEMDOS_UPPER, + GEMDOS_LOWER +} GEMDOS_CHR_CONV; typedef struct { @@ -177,6 +185,7 @@ typedef struct bool bUseIdeMasterHardDiskImage; bool bUseIdeSlaveHardDiskImage; WRITEPROTECTION nWriteProtection; + GEMDOS_CHR_CONV nGemdosCase; bool bBootFromHardDisk; char szHardDiskDirectories[MAX_HARDDRIVES][FILENAME_MAX]; char szHardDiskImage[FILENAME_MAX]; @@ -190,7 +199,6 @@ typedef struct * 10 VGA - Colormonitor * 11 TV */ -#define FALCON_MONITOR_MASK 0x3F #define FALCON_MONITOR_MONO 0x00 /* SM124 */ #define FALCON_MONITOR_RGB 0x40 #define FALCON_MONITOR_VGA 0x80 @@ -210,6 +218,8 @@ typedef struct MONITORTYPE nMonitorType; int nFrameSkips; bool bFullScreen; + bool bKeepResolution; + bool bKeepResolutionST; bool bAllowOverscan; bool bAspectCorrect; bool bUseExtVdiResolutions; @@ -220,7 +230,8 @@ typedef struct int nVdiHeight; bool bShowStatusbar; bool bShowDriveLed; - bool bCaptureChange; + bool bCrop; + bool bForceMax; int nMaxWidth; int nMaxHeight; } CNF_SCREEN; @@ -230,7 +241,6 @@ typedef struct typedef struct { bool bEnablePrinting; - bool bPrintToFile; char szPrintToFileName[FILENAME_MAX]; } CNF_PRINTER; @@ -250,7 +260,8 @@ typedef enum MACHINE_ST, MACHINE_STE, MACHINE_TT, - MACHINE_FALCON + MACHINE_FALCON, + MACHINE_MEGA_STE } MACHINETYPE; typedef enum @@ -260,20 +271,44 @@ typedef enum DSP_TYPE_EMU } DSPTYPE; +#if ENABLE_WINUAE_CPU +typedef enum +{ + FPU_NONE = 0, + FPU_68881 = 68881, + FPU_68882 = 68882, + FPU_CPU = 68040 +} FPUTYPE; +#endif + typedef struct { int nCpuLevel; int nCpuFreq; - bool bCompatibleCpu; - /*bool bAddressSpace24;*/ + bool bCompatibleCpu; /* Prefetch mode */ MACHINETYPE nMachineType; bool bBlitter; /* TRUE if Blitter is enabled */ DSPTYPE nDSPType; /* how to "emulate" DSP */ bool bRealTimeClock; bool bPatchTimerD; + bool bFastBoot; /* Enable to patch TOS for fast boot */ bool bFastForward; + +#if ENABLE_WINUAE_CPU + bool bAddressSpace24; + bool bCycleExactCpu; + FPUTYPE n_FPUType; + bool bCompatibleFPU; /* More compatible FPU */ + bool bMMU; /* TRUE if MMU is enabled */ +#endif } CNF_SYSTEM; +typedef struct +{ + int AviRecordVcodec; + int AviRecordFps; + char AviRecordFile[FILENAME_MAX]; +} CNF_VIDEO; /* State of system is stored in this structure */ /* On reset, variables are copied into system globals and used. */ @@ -295,6 +330,7 @@ typedef struct CNF_PRINTER Printer; CNF_MIDI Midi; CNF_SYSTEM System; + CNF_VIDEO Video; } CNF_PARAMS;