--- hatari/src/includes/configuration.h 2019/04/01 07:11:30 1.1.1.4 +++ hatari/src/includes/configuration.h 2019/04/01 07:12:40 1.1.1.7 @@ -9,14 +9,21 @@ #define HATARI_CONFIGURATION_H -/* TOS/GEM configuration */ +/* Logging */ typedef struct { - char szTOSImageFileName[FILENAME_MAX]; - BOOL bUseExtGEMResolutions; - int nGEMResolution; - int nGEMColours; -} CNF_TOSGEM; + char sLogFileName[FILENAME_MAX]; + int nTextLogLevel; + int nAlertDlgLogLevel; +} CNF_LOG; + + +/* ROM (TOS + cartridge) configuration */ +typedef struct +{ + char szTosImageFileName[FILENAME_MAX]; + char szCartridgeImageFileName[FILENAME_MAX]; +} CNF_ROM; /* Sound configuration */ @@ -61,55 +68,54 @@ typedef struct } CNF_KEYBOARD; -/* Memory configuration */ -typedef enum -{ - MEMORY_SIZE_512Kb, - MEMORY_SIZE_1Mb, - MEMORY_SIZE_2Mb, - MEMORY_SIZE_4Mb -} MEMORY_SIZE; - typedef struct { - MEMORY_SIZE nMemorySize; + int nMemorySize; char szMemoryCaptureFileName[FILENAME_MAX]; } CNF_MEMORY; /* Joystick configuration */ +typedef enum +{ + JOYSTICK_DISABLED, + JOYSTICK_REALSTICK, + JOYSTICK_KEYBOARD +} JOYSTICKMODE; + typedef struct { - BOOL bCursorEmulation; + JOYSTICKMODE nJoystickMode; BOOL bEnableAutoFire; + int nJoyId; + int nKeyCodeUp, nKeyCodeDown, nKeyCodeLeft, nKeyCodeRight, nKeyCodeFire; } JOYSTICK; typedef struct { - JOYSTICK Joy[2]; + JOYSTICK Joy[6]; } CNF_JOYSTICKS; -/* Discimage configuration */ +/* Disk image configuration */ + +typedef enum +{ + WRITEPROT_OFF, + WRITEPROT_ON, + WRITEPROT_AUTO +} WRITEPROTECTION; + typedef struct { - BOOL bAutoInsertDiscB; - char szDiscImageDirectory[FILENAME_MAX]; -} CNF_DISCIMAGE; + BOOL bAutoInsertDiskB; + WRITEPROTECTION nWriteProtection; + char szDiskImageDirectory[FILENAME_MAX]; +} CNF_DISKIMAGE; -/* Hard discs configuration */ +/* Hard drives configuration */ #define MAX_HARDDRIVES 1 -#define DRIVELIST_TO_DRIVE_INDEX(DriveList) (DriveList+1) - -typedef enum -{ - DRIVELIST_NONE, - DRIVELIST_C, - DRIVELIST_CD, - DRIVELIST_CDE, - DRIVELIST_CDEF -} DRIVELIST; typedef enum { @@ -121,29 +127,29 @@ typedef enum typedef struct { - int nDriveList; - BOOL bBootFromHardDisc; - int nHardDiscDir; - BOOL bUseHardDiscDirectories; - BOOL bUseHardDiscImage; - char szHardDiscDirectories[MAX_HARDDRIVES][FILENAME_MAX]; - char szHardDiscImage[FILENAME_MAX]; -} CNF_HARDDISC; + BOOL bBootFromHardDisk; + int nHardDiskDir; + BOOL bUseHardDiskDirectories; + BOOL bUseHardDiskImage; + char szHardDiskDirectories[MAX_HARDDRIVES][FILENAME_MAX]; + char szHardDiskImage[FILENAME_MAX]; +} CNF_HARDDISK; /* Screen configuration */ typedef struct { BOOL bFullScreen; - BOOL bDoubleSizeWindow; - BOOL bAllowOverscan; - BOOL bInterlacedScreen; - BOOL bSyncToRetrace; BOOL bFrameSkip; + BOOL bAllowOverscan; + BOOL bInterleavedScreen; int ChosenDisplayMode; + BOOL bUseHighRes; + BOOL bUseExtVdiResolutions; + int nVdiResolution; + int nVdiColors; BOOL bCaptureChange; int nFramesPerSecond; - BOOL bUseHighRes; } CNF_SCREEN; @@ -174,12 +180,21 @@ typedef enum MINMAXSPEED_MAX } MINMAXSPEED_TYPE; +typedef enum +{ + MACHINE_ST, + MACHINE_STE +} MACHINETYPE; + typedef struct { int nCpuLevel; + int nCpuFreq; BOOL bCompatibleCpu; - BOOL bAddressSpace24; + /*BOOL bAddressSpace24;*/ + MACHINETYPE nMachineType; BOOL bBlitter; /* TRUE if blitter is enabled */ + BOOL bRealTimeClock; BOOL bPatchTimerD; BOOL bSlowFDC; /* TRUE to slow down FDC emulation */ MINMAXSPEED_TYPE nMinMaxSpeed; @@ -191,14 +206,15 @@ typedef struct typedef struct { /* Configure */ + CNF_LOG Log; CNF_SCREEN Screen; CNF_JOYSTICKS Joysticks; CNF_KEYBOARD Keyboard; CNF_SOUND Sound; CNF_MEMORY Memory; - CNF_DISCIMAGE DiscImage; - CNF_HARDDISC HardDisc; - CNF_TOSGEM TOSGEM; + CNF_DISKIMAGE DiskImage; + CNF_HARDDISK HardDisk; + CNF_ROM Rom; CNF_RS232 RS232; CNF_PRINTER Printer; CNF_MIDI Midi; @@ -211,7 +227,8 @@ extern CNF_PARAMS ConfigureParams; extern char sConfigFileName[FILENAME_MAX]; extern void Configuration_SetDefault(void); -extern void Configuration_Load(void); +extern void Configuration_WorkOnDetails(BOOL bReset); +extern void Configuration_Load(const char *psFileName); extern void Configuration_Save(void); #endif